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.

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

445 views

Published on

Доклад Алексея Лянгузова на конференции SQA Days-20. 24-26 ноября 2016. Минск
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 1. 11 Data Pools November 2016 средство управления тестовыми данными Алексей Лянгузов
  2. 2. 2 Введение: от слов к делу http://sqadays.com/en/talk/34880 https://github.com/griddynamics/test-data-pool
  3. 3. 3 1. План 1. Проблема. 2. Традиционные подходы решения. 3. Концепция дата-пулов. 4. Как пользоваться java-библиотекой для автоматизированного тестирования. 5. Как можно было бы пользоваться для ручного тестирования.
  4. 4. 4 Проблемы при автоматизации: данные Local/Dev Environment QA Environment SIT Environment Pred-Prod Environment Production Environment Updatable, Predictable Partially updatable, Pretty predictable Not-updatable, Unpredictable
  5. 5. 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. 6. 6 Проблемы при ручном тестировании Такие же: Данные меняются непредсказуемым образом на “старших” тестовых окружениях.
  7. 7. 7 Методы решения проблем Дуплицирование тестов Дуплицирование данных Добавление синтетических данных Генерация данных Фильтрованные потоки данных Stubs, Mocks, Fakes
  8. 8. 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. 9. 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. 10. 10 Задача Написать один тест, который в зависимости от окружения и настроек будет подбирать необходимые данные для проведения эксперимента, соответствующие тому окружению, на котором тест запущен.
  11. 11. 11 Решение Использовать в тестах атрибутированные данные, которые тесты могут выбрать из заранее подготовленного “пула данных”, заполненного непосредственно перед тестом на том окружении, в котором он запущен.
  12. 12. 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. 13. 13 data-pool: installation <dependency> <groupId>com.griddynamics.qa.datapool</groupId> <artifactId>data-pool</artifactId> <version>1.0.1</version> </dependency>
  14. 14. 14 data-pool: features
  15. 15. 15 data-pool: data types
  16. 16. 16 data-pool: data type examples ● Id ● FirstUserName ● MiddleUserName ● LastUserName ● Age ● Birthday
  17. 17. 17 data-pool: data type examples ● Id ● FirstUserName ● MiddleUserName ● LastUserName ● Age ● Birthday ● Id ● Type ● Quote
  18. 18. 18 data-pool: Datatype Manager
  19. 19. 19 data-pool: fetching data
  20. 20. 20 data-pool: использование в java коде
  21. 21. 21 data-pool: использование с cucumber
  22. 22. 22 future: для мануальщиков: fetching
  23. 23. 23 future: для мануальщиков: finding
  24. 24. 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)

×