O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Scalable eCommerce Platform Solutions
Беседа о тестовых данных
Алексей Лянгузов
План
А давайте поговорим про тестовые
данные.
*Спасибо интернету за картинки. Все права принадлежат авторам изображений.
Проблематика
Чтобы что-то протестировать нужны …
Проблематика
Чтобы что-то протестировать нужны …
ЛЮДИ!
Проблематика
Чтобы что-то протестировать нужны …
ЛЮДИ!
Планируют и
тестируют
самостоятельно
Заставляют
тестировать
других
...
Проблематика
Чтобы что-то протестировать нужны …
ЛЮДИ!
Планируют и
тестируют
самостоятельно
Заставляют
тестировать
других
...
Проблематика
Чтобы что-то протестировать нужны …
ТЕСТОВЫЕ ДАННЫЕ
ТЕСТОВЫЕ ДАННЫЕ
Проблематика
Чтобы что-то протестировать нужны …
Ну хоть какие-
нибудь!
Для
позитивных
тестов
Для
негативн...
ТЕСТОВЫЕ ДАННЫЕ
Проблематика
Чтобы что-то протестировать нужны …
Ну хоть какие-
нибудь!
Для
позитивных
тестов
Для
негативн...
ТЕСТОВЫЕ ДАННЫЕ
Проблематика
Чтобы что-то протестировать нужны …
Ну хоть какие-
нибудь!
Для
позитивных
тестов
Для
негативн...
А что у вас не так?
- На что
жалуетесь?
Реальные или нереальные
Реальные данные
Минусы:
- неизвестны
- громоздки
- изменчивы
Самодельные данные
Минусы:
- надо дел...
Реальные или нереальные
Реальные данные
Минусы:
- неизвестны
- громоздки
- изменчивы
Плюсы:
- они есть!
- многообразны
- р...
Самодельная неизвестность
Куча данных
Самодельная неизвестность
Куча данных
5% данных
Самодельная неизвестность
Куча данных
5% данных
Копирование нужных
данных
Самодельная неизвестность
Куча данных
5% данных
Копирование нужных
данных
Поднавалить
своих данных
Откуда берутся данные
Ctrl+C
Ctrl+V
Откуда берутся данные
Каналы
информации
Ctrl+C
Ctrl+V
Каналы
Информации
Откуда берутся данные
Каналы
информации
Ctrl+C
Ctrl+V
Каналы
Информации
Генераторы
Данных
Откуда берутся данные
Каналы
информации
Ctrl+C
Ctrl+V
Генераторы
Данных
Каналы
Информации
E T L
Данные - неданные
Dummy Fake
Данные - неданные
Dummy Fake
Stub Mock
Статика или динамика
Делать ли тестовые данные
динамическими?
ДА? НЕТ?
WTF?
Не человек хардкодит данные в тесте.
Тест хардкодит данные в отчёте!
Предсказуемые случайности
import java.util.Random;
public class HelloWorld{
private static final long SEED1 = 441287210;
p...
Данные и типы тестирования
Unit/Component
Integration/Functional
System/Acceptance/E2E
Mocks/Synthetic
Any/Combine
Real
Много датасетов или один
100 х $1 $100 х 1
Нетехнические проблемы
Как поделить тестовую среду?
Даёшь каждому свое тестовое окружение!
Лоскутное одеяло
Сгодится, когда много людей правят одни данные
Другие проблемы
Проблемы:
● Нет доступа к БД
● Нет данных (не готовы)
● Нет возможности установить стаб
● Недоступны внешн...
Как измерить покрытие?
???
Как узнать покрытие по тестовым данным?
Даже если мы предполагаем, что эти данные
используются,...
Как узнать покрытие по данным?
НИКАК,
КАРЛ!
Решение: Пулы данных
Environment 1 Environment 2 Environment 3
Data Pool 1 Data Pool 2 Data Pool 3
Before Testing Before T...
Решение-мечта
Data Pool
Вопросы
QA
Input author here
Thank you
Próximos SlideShares
Carregando em…5
×

Беседа о тестовых данных

1.660 visualizações

Publicada em

Доклад Алексея Лянгузова на конференции SQA Days-17,
29-30 мая 2015 г., Минск
www.sqadays.com

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Беседа о тестовых данных

  1. 1. Scalable eCommerce Platform Solutions Беседа о тестовых данных Алексей Лянгузов
  2. 2. План А давайте поговорим про тестовые данные. *Спасибо интернету за картинки. Все права принадлежат авторам изображений.
  3. 3. Проблематика Чтобы что-то протестировать нужны …
  4. 4. Проблематика Чтобы что-то протестировать нужны … ЛЮДИ!
  5. 5. Проблематика Чтобы что-то протестировать нужны … ЛЮДИ! Планируют и тестируют самостоятельно Заставляют тестировать других Доказывают существование проблем
  6. 6. Проблематика Чтобы что-то протестировать нужны … ЛЮДИ! Планируют и тестируют самостоятельно Заставляют тестировать других Доказывают существование проблем ТЕСТОВЫЕ ДАННЫЕ ...а им для этого нужны
  7. 7. Проблематика Чтобы что-то протестировать нужны … ТЕСТОВЫЕ ДАННЫЕ
  8. 8. ТЕСТОВЫЕ ДАННЫЕ Проблематика Чтобы что-то протестировать нужны … Ну хоть какие- нибудь! Для позитивных тестов Для негативных тестов Большие для нагрузки Маленькие для смоков Разнообразные Полноценные Неустаревающие Точные Достаточные Непротиворечивые Зависимые Не зависимые
  9. 9. ТЕСТОВЫЕ ДАННЫЕ Проблематика Чтобы что-то протестировать нужны … Ну хоть какие- нибудь! Для позитивных тестов Для негативных тестов Большие для нагрузки Маленькие для смоков Разнообразные Полноценные Неустаревающие Точные Достаточные Непротиворечивые Зависимые Не зависимые И чтобы всем этим было просто и легко управлять
  10. 10. ТЕСТОВЫЕ ДАННЫЕ Проблематика Чтобы что-то протестировать нужны … Ну хоть какие- нибудь! Для позитивных тестов Для негативных тестов Большие для нагрузки Маленькие для смоков Разнообразные Полноценные Неустаревающие Точные Достаточные Непротиворечивые Зависимые Не зависимые И чтобы всем этим было просто и легко управлять
  11. 11. А что у вас не так? - На что жалуетесь?
  12. 12. Реальные или нереальные Реальные данные Минусы: - неизвестны - громоздки - изменчивы Самодельные данные Минусы: - надо делать - надо знать тех. детали - синтетичны
  13. 13. Реальные или нереальные Реальные данные Минусы: - неизвестны - громоздки - изменчивы Плюсы: - они есть! - многообразны - реальны Самодельные данные Минусы: - надо делать - надо знать тех. детали - синтетичны Плюсы: - легки - точны - постоянны
  14. 14. Самодельная неизвестность Куча данных
  15. 15. Самодельная неизвестность Куча данных 5% данных
  16. 16. Самодельная неизвестность Куча данных 5% данных Копирование нужных данных
  17. 17. Самодельная неизвестность Куча данных 5% данных Копирование нужных данных Поднавалить своих данных
  18. 18. Откуда берутся данные Ctrl+C Ctrl+V
  19. 19. Откуда берутся данные Каналы информации Ctrl+C Ctrl+V Каналы Информации
  20. 20. Откуда берутся данные Каналы информации Ctrl+C Ctrl+V Каналы Информации Генераторы Данных
  21. 21. Откуда берутся данные Каналы информации Ctrl+C Ctrl+V Генераторы Данных Каналы Информации E T L
  22. 22. Данные - неданные Dummy Fake
  23. 23. Данные - неданные Dummy Fake Stub Mock
  24. 24. Статика или динамика Делать ли тестовые данные динамическими? ДА? НЕТ?
  25. 25. WTF? Не человек хардкодит данные в тесте. Тест хардкодит данные в отчёте!
  26. 26. Предсказуемые случайности import java.util.Random; public class HelloWorld{ private static final long SEED1 = 441287210; private static final long SEED2 = -6732303926L; private static final long SEED3 = 123; public static void main(String []args){ Random random = new Random(SEED2); for (int i=0; i < 10; ++i) { System.out.print(random.nextInt(10) + " "); } System.out.println(); } } Попробовать можно тут: http://www.tutorialspoint.com/compile_java_online.php
  27. 27. Данные и типы тестирования Unit/Component Integration/Functional System/Acceptance/E2E Mocks/Synthetic Any/Combine Real
  28. 28. Много датасетов или один 100 х $1 $100 х 1
  29. 29. Нетехнические проблемы
  30. 30. Как поделить тестовую среду? Даёшь каждому свое тестовое окружение!
  31. 31. Лоскутное одеяло Сгодится, когда много людей правят одни данные
  32. 32. Другие проблемы Проблемы: ● Нет доступа к БД ● Нет данных (не готовы) ● Нет возможности установить стаб ● Недоступны внешние каналы Причины: ● Чудаки ● Чудозвоны Решения: ● Кнут ● Пряник ● НЛП ● НЛО
  33. 33. Как измерить покрытие? ??? Как узнать покрытие по тестовым данным? Даже если мы предполагаем, что эти данные используются, мы не знаем как в этом убедиться.
  34. 34. Как узнать покрытие по данным? НИКАК, КАРЛ!
  35. 35. Решение: Пулы данных Environment 1 Environment 2 Environment 3 Data Pool 1 Data Pool 2 Data Pool 3 Before Testing Before Testing Before Testing Tests Select data by criteria
  36. 36. Решение-мечта Data Pool
  37. 37. Вопросы
  38. 38. QA Input author here Thank you

×