SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
11
Data Pools
November 2016
средство управления тестовыми данными
Алексей Лянгузов
2
Введение: от слов к делу
http://sqadays.com/en/talk/34880 https://github.com/griddynamics/test-data-pool
3
1.
План
1. Проблема.
2. Традиционные подходы решения.
3. Концепция дата-пулов.
4. Как пользоваться java-библиотекой для автоматизированного
тестирования.
5. Как можно было бы пользоваться для ручного тестирования.
4
Проблемы при автоматизации: данные
Local/Dev
Environment
QA
Environment
SIT
Environment
Pred-Prod
Environment
Production
Environment
Updatable,
Predictable
Partially updatable,
Pretty predictable
Not-updatable,
Unpredictable
5
Проблемы при автоматизации: сервисы
Local/Dev
Environment
QA
Environment
SIT
Environment
Pred-Prod
Environment
Production
Environment
Mockable,
Restricted
Partially mockable,
Partially restricted
Non-mockable,
Fully-deployed
X X
V
V X
V
V V
V
6
Проблемы при ручном тестировании
Такие же:
Данные меняются непредсказуемым образом на “старших” тестовых окружениях.
7
Методы решения проблем
Дуплицирование тестов
Дуплицирование данных
Добавление
синтетических данных
Генерация данных
Фильтрованные потоки
данных
Stubs, Mocks, Fakes
8
Пусть тесты сами найдут себе данные
Test 1
1. Get fresh data
2. Do test
Test 2
1. Get fresh data
2. Do test
Test N
1. Get fresh data
2. Do test
...
9
Пусть тесты сами найдут себе данные
Test 1
1. Get fresh data
2. Do test
Test 2
1. Get fresh data
2. Do test
Test N
1. Get fresh data
2. Do test
...
Sub-suite 1
1. Get fresh data
2. Do test
Sub-suite 2
1. Get fresh data
2. Do test
Sub-suite N
1. Get fresh data
2. Do test
...
10
Задача
Написать один тест, который в зависимости от окружения и настроек будет
подбирать необходимые данные для проведения эксперимента, соответствующие
тому окружению, на котором тест запущен.
11
Решение
Использовать в тестах атрибутированные данные, которые тесты могут выбрать из
заранее подготовленного “пула данных”, заполненного непосредственно перед
тестом на том окружении, в котором он запущен.
12
Концепция дата-пулов
Define Data Types
Write a Datatype
Manager for every Data
Type
Fetch data from different
Data Sources into Data
Pools
Use attributed data in
tests
Reuse Data Pools
among test runs
13
data-pool: installation
<dependency>
<groupId>com.griddynamics.qa.datapool</groupId>
<artifactId>data-pool</artifactId>
<version>1.0.1</version>
</dependency>
14
data-pool: features
15
data-pool: data types
16
data-pool: data type examples
● Id
● FirstUserName
● MiddleUserName
● LastUserName
● Age
● Birthday
17
data-pool: data type examples
● Id
● FirstUserName
● MiddleUserName
● LastUserName
● Age
● Birthday
● Id
● Type
● Quote
18
data-pool: Datatype Manager
19
data-pool: fetching data
20
data-pool: использование в java коде
21
data-pool: использование с cucumber
22
future: для мануальщиков: fetching
23
future: для мануальщиков: finding
24
Полезные ссылки
GitHub:
https://github.com/griddynamics/test-data-pool
Maven:
http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22data-pool%22
Контакты:
budabum@gmail.com (Alexey Lyanguzov)

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (19)

How to reduce your test cases... magically!
How to reduce your test cases... magically!How to reduce your test cases... magically!
How to reduce your test cases... magically!
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Провокации автоматического тестирования
Провокации автоматического тестированияПровокации автоматического тестирования
Провокации автоматического тестирования
 
Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!
 
Тестирование слоёного пирога
Тестирование слоёного пирогаТестирование слоёного пирога
Тестирование слоёного пирога
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 
Наталья Руколь "Планирование тестирования"
Наталья Руколь "Планирование тестирования"Наталья Руколь "Планирование тестирования"
Наталья Руколь "Планирование тестирования"
 
Мама, я работаю в банке!
Мама, я работаю в банке!Мама, я работаю в банке!
Мама, я работаю в банке!
 
Правила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиковПравила хорошего тона для тестировщиков
Правила хорошего тона для тестировщиков
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
 
Автоматизация тестирования в highload проекте: практический опыт
Автоматизация тестирования в highload проекте: практический опытАвтоматизация тестирования в highload проекте: практический опыт
Автоматизация тестирования в highload проекте: практический опыт
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать
 
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестирование
 
Эволюция тестирования в QA
Эволюция тестирования в QAЭволюция тестирования в QA
Эволюция тестирования в QA
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниора
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 

Ähnlich wie Data Pools - средство управления тестовыми данными

Масло масляное или Тестируем тестирование
Масло масляное или Тестируем тестированиеМасло масляное или Тестируем тестирование
Масло масляное или Тестируем тестирование
2ГИС Технологии
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
Sergey Xek
 
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
Andrey Korshikov
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular mode
Andrey Korshikov
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
Alex Chistyakov
 
HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...
Alexey Zinoviev
 

Ähnlich wie Data Pools - средство управления тестовыми данными (20)

ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с Production
 
Масло масляное или Тестируем тестирование
Масло масляное или Тестируем тестированиеМасло масляное или Тестируем тестирование
Масло масляное или Тестируем тестирование
 
AUG-5: Testing tools
AUG-5: Testing toolsAUG-5: Testing tools
AUG-5: Testing tools
 
Анализ данных и машинное обучение
Анализ данных и машинное обучениеАнализ данных и машинное обучение
Анализ данных и машинное обучение
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектах
 
Сергей Чистович "Подходы к кешированию на UGC-сервисе"
Сергей Чистович "Подходы к кешированию на UGC-сервисе"Сергей Чистович "Подходы к кешированию на UGC-сервисе"
Сергей Чистович "Подходы к кешированию на UGC-сервисе"
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Сервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестированияСервисы на базе автоматизации тестирования
Сервисы на базе автоматизации тестирования
 
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
 
Выступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceВыступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance Conference
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular mode
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
 
HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...
 

Mehr von SQALab

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Data Pools - средство управления тестовыми данными