Основы и нюансы параллельного тестрования

1,832 views
1,879 views

Published on

Доклад на конференции Selenium Camp 2012.
http://seleniumcamp.com/program/#parallel-testing

Видео: http://video.yandex.ru/users/xpinjection/view/105/#hq

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,832
On SlideShare
0
From Embeds
0
Number of Embeds
1,378
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Основы и нюансы параллельного тестрования

  1. 1. Selenium Camp 2012 Основы и нюансыпараллельного тестирования Deep Shift Labs 25 февраля, 2012 Киев, Украина
  2. 2. Дмитрий Якубовский Deep Shift Labs Java, PHP + тестировщик bear@deepshiftlabs.com @deep_bear
  3. 3. Параллельное тестирование http://www.flickr.com/photos/pothikmanush/4565287938
  4. 4. Простой тестa(){} b(){} Один тест - 5 минут Итого - 10 минут
  5. 5. TestNG: аннотации @BeforeMethodclass Test { main() { prepareBrowser(); a(); @Test b(); freeBrowser(); } @AfterMethod}
  6. 6. TestNG: аннотацииclass Test { @BeforeMethod prepareBrowser(){…}; @Test a(){…}; @Test b(){…}; @AfterMethod freeBrowser(){…};}
  7. 7. TestNG: конфигурация testng.xml<suite name=“test" verbose="3"> <test name=“simpleTest" parallel="methods" thread-count=“2"> <classes> <class name=“Test" /> </classes> </test></suite>
  8. 8. Выполнение TestNG: выполнение Поток 1 Поток 2prepareBrowser(){} prepareBrowser(){}a(){} b(){}freeBrowser(){} freeBrowser(){}
  9. 9. TestNG: выполнение Selenium servera(){}b(){} Итого - 5 минут
  10. 10. Два браузера Selenium server a(){} b(){} Selenium server a(){} Selenium server b(){} Selenium server
  11. 11. Два браузера Selenium server Selenium server a(){} b(){} ? Selenium server Selenium server
  12. 12. Selenium Grid Selenium RC a(){}a(){} a(){} Selenium RCb(){} b(){} Selenium Hub Selenium RC b(){} Selenium RC
  13. 13. Nerrvana a(){} Selenium RC b(){} Selenium Hub Selenium RCa(){} … …b(){} a(){} Selenium RC b(){} Selenium Hub Selenium RC
  14. 14. Выполнение Виртуальные машины RC RC RC Hub RC RC Hub RCXen Xen
  15. 15. Выполнение LVM snapshotsКаждый раз свежая VM RCHub RC RC RCRC RC RC
  16. 16. Выполнение Ресурсы: памятьLinux Hub 128 МБLinux Tester 196 МБWindows Tester 256 МБ
  17. 17. Выполнение Подмена браузера grid_configuration.ymlhub: hub: port: 4444 port: 4444 environments: environments: - name: "*iexplore" - name: "*iexplore" browser: "*iexplore" browser: "*chrome" - name: "*iehta" - name: "*iehta" browser: "*iehta" browser: "*chrome" - name: "*safari" - name: "*safari" browser: "*safari" browser: "*chrome" - name: "*opera" - name: "*opera" browser: "*opera" browser: "*chrome"
  18. 18. Уникальные ключи http://www.flickr.com/photos/jennconspiracy/826680008
  19. 19. Тесты мешают друг другу
  20. 20. Тесты видят только своё?tags_for_tests=unique_tag1,unique_tag2
  21. 21. Не показывать тестовые!фильтровать по пользователю: нельзя (тестирование гостей)Фильтр по уникальной подстроке: можно, накладноУчитывать tags_for_tests: помечать в спец. колонке
  22. 22. График 1..25 потоков 10 8 6Время 4 2 0 1 2 3 4 5 6 7 … 25 Потоки
  23. 23. 1 Количество независимых тестов
  24. 24. 2 Ресурсы машины-тестера
  25. 25. 3 Ресурсы WAUTWAUT* - Web Application Under Test
  26. 26. 4 От перемены мест… 4 9
  27. 27. 3 потока4 5
  28. 28. 2 потока5 7
  29. 29. Пример: общая картина 4 4 5 5 710
  30. 30. Помозговать http://www.flickr.com/photos/cs___/4163717544/
  31. 31. Вопросыhttp://nerrvana.com (сервис для запуска тестов) bear@deepshiftlabs.com (не стесняйтесь!)

×