24
1 1 Data Pools November 2016 средство управления тестовыми данными Алексей Лянгузов

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

  • Upload
    sqalab

  • View
    94

  • Download
    0

Embed Size (px)

Citation preview

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

11

Data Pools

November 2016

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

Алексей Лянгузов

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

2

Введение: от слов к делу

http://sqadays.com/en/talk/34880 https://github.com/griddynamics/test-data-pool

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

3

1.

План

1. Проблема.2. Традиционные подходы решения.3. Концепция дата-пулов.4. Как пользоваться java-библиотекой для автоматизированного

тестирования.5. Как можно было бы пользоваться для ручного тестирования.

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

4

Проблемы при автоматизации: данные

Local/DevEnvironment

QAEnvironment

SITEnvironment

Pred-ProdEnvironment

ProductionEnvironment

Updatable,Predictable

Partially updatable,Pretty predictable

Not-updatable,Unpredictable

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

5

Проблемы при автоматизации: сервисы

Local/DevEnvironment

QAEnvironment

SITEnvironment

Pred-ProdEnvironment

ProductionEnvironment

Mockable,Restricted

Partially mockable,Partially restricted

Non-mockable,Fully-deployed

X XV

V XV

V VV

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

6

Проблемы при ручном тестировании

Такие же:

Данные меняются непредсказуемым образом на “старших” тестовых окружениях.

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

7

Методы решения проблем

Дуплицирование тестов

Дуплицирование данных

Добавление синтетических данных

Генерация данных

Фильтрованные потоки данных

Stubs, Mocks, Fakes

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

8

Пусть тесты сами найдут себе данные

Test 1

1. Get fresh data2. Do test

Test 2

1. Get fresh data2. Do test

Test N

1. Get fresh data2. Do test

...

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

9

Пусть тесты сами найдут себе данные

Test 1

1. Get fresh data2. Do test

Test 2

1. Get fresh data2. Do test

Test N

1. Get fresh data2. Do test

...

Sub-suite 1

1. Get fresh data2. Do test

Sub-suite 2

1. Get fresh data2. Do test

Sub-suite N

1. Get fresh data2. Do test

...

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

10

Задача

Написать один тест, который в зависимости от окружения и настроек будет подбирать необходимые данные для проведения эксперимента, соответствующие

тому окружению, на котором тест запущен.

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

11

Решение

Использовать в тестах атрибутированные данные, которые тесты могут выбрать из заранее подготовленного “пула данных”, заполненного непосредственно перед

тестом на том окружении, в котором он запущен.

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

12

Концепция дата-пулов

Define Data TypesWrite 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

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

13

data-pool: installation

<dependency> <groupId>com.griddynamics.qa.datapool</groupId> <artifactId>data-pool</artifactId> <version>1.0.1</version></dependency>

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

14

data-pool: features

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

15

data-pool: data types

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

16

data-pool: data type examples

● Id● FirstUserName● MiddleUserName● LastUserName● Age● Birthday

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

17

data-pool: data type examples

● Id● FirstUserName● MiddleUserName● LastUserName● Age● Birthday

● Id● Type● Quote

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

18

data-pool: Datatype Manager

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

19

data-pool: fetching data

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

20

data-pool: использование в java коде

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

21

data-pool: использование с cucumber

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

22

future: для мануальщиков: fetching

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

23

future: для мануальщиков: finding

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

24

Полезные ссылки

GitHub:

https://github.com/griddynamics/test-data-pool

Maven:

http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22data-pool%22

Контакты:[email protected] (Alexey Lyanguzov)