Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
Upcoming SlideShare
Loading in …5
×

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

1,644 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  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

×