Автоматизация тестирования веб-приложений с использованиемThucydides: за и противКозлов Андрей,ООО «Центр автоматизации эн...
 Особенности наших проектов Как выбрать инструмент для автоматизации Почему же Thucydides? Как заставить тестировщика ...
• 2 года активной разработки web-приложений• несколько проектов в сфере сбережения энергоресурсов
Отсутствие автоматизированных приемочных  тестов
Демонстрация продукта потенциальному заказчику          регрессия ~ 150 кейсов (ПМИ)
Автоматизация тестирования новой           функциональностиоблегчение миграции кода на новые стенды                   +   ...
Webdriver – лишь программная библиотека
Что будем делать?С чего начать?   Какая стратегия?
Удобный инструмент для автоматизации!      • webdriver
Удобный инструмент для автоматизации!      • webdriver      • фреймворк тестирования
Удобный инструмент для автоматизации!      • webdriver      • фреймворк тестирования      • логирование
Удобный инструмент для автоматизации!      • webdriver      • фреймворк тестирования      • логирование      • сборщик тес...
Удобный инструмент для автоматизации!      • webdriver      • фреймворк тестирования      • логирование      • сборщик тес...
А какие инструменты  видели вы?
Иногда можно встретить такие
поддержка и доработка              +сопутствующая инфраструктура
обновление webdriver
качество кода
поддержка документации         VS
уровень вхожденияв проект
обучение       junior            тестировщиков
Как мы пришли  к open-source  инструменту
Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
Java• Thucydides• Html Elements (Яндекс)
Thucydides• PageObject + StepsDictionary• отличная документация• классные отчеты• возможность абстрагироваться от webdriver
Архитектура тестов  • JUnit  • JBehave              BDD  • EasyB
• готовые программы и методики испытаний• нет необходимости дублировать приемочные критерии
Архитектура тестов           This is one of the easiest ways to start           out with Thucydides, and is very well     ...
Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
Page1                       Page2                      Page3                    methodA1()                   methodB1()   ...
@Testpublic void успешная_авторизация_пользователя_Региона(){    navigator.gotoHomePage();    OrganizationInfo organizatio...
navigator.gotoHomePage();organization = bdOrg.getOrganizationInfo(REGION);user = new UserInfo(1, 1, 1, 1, 1, 1, 0, 0);user...
auth.authUser(user);
navigator.gotoProfilePage();auth.checkLoginOnProfilePage(user);
Синтаксис        Заполнение поля:element(login).type(“kozlov.andrey");enter(“kozlov.andrey").into(login);typeInto(login, “...
Наглядные отчеты после прогона
Детальная информация о тесте
Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
Заинтересовываем тестировщика
Вхождение тестировщика в проект#1   Постановка задачи: ознакомление с проектом     http://www.thucydides.info/documentatio...
Вхождение тестировщика в проект#2   Постановка задачи: развертывание проекта     https://github.com/thucydides-webtests/th...
Вхождение тестировщика в проект#3   Постановка задачи:            •   тесты-примеры            •   парное программирование
Вхождение тестировщика в проект#4   Работа с реальным проектом. Контроль в рамках:            •   консультации            ...
Руководство к действию Не изобретайте свои велосипеды
Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты
Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты Обучайте своих коллег
Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты Обучайте своих коллег Регулярно ...
Вопросы?    Козлов Андрей,    ООО «Центр автоматизации энергосбережения»    @vozlok    kozlov.andrey@caesber.ru
Upcoming SlideShare
Loading in …5
×

CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с использованием Thucydides: за и против

861 views
840 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
861
On SlideShare
0
From Embeds
0
Number of Embeds
567
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с использованием Thucydides: за и против

  1. 1. Автоматизация тестирования веб-приложений с использованиемThucydides: за и противКозлов Андрей,ООО «Центр автоматизации энергосбережения»руководитель отдела тестирования
  2. 2.  Особенности наших проектов Как выбрать инструмент для автоматизации Почему же Thucydides? Как заставить тестировщика писать тесты
  3. 3. • 2 года активной разработки web-приложений• несколько проектов в сфере сбережения энергоресурсов
  4. 4. Отсутствие автоматизированных приемочных тестов
  5. 5. Демонстрация продукта потенциальному заказчику регрессия ~ 150 кейсов (ПМИ)
  6. 6. Автоматизация тестирования новой функциональностиоблегчение миграции кода на новые стенды + разгрузка ручного тестирования
  7. 7. Webdriver – лишь программная библиотека
  8. 8. Что будем делать?С чего начать? Какая стратегия?
  9. 9. Удобный инструмент для автоматизации! • webdriver
  10. 10. Удобный инструмент для автоматизации! • webdriver • фреймворк тестирования
  11. 11. Удобный инструмент для автоматизации! • webdriver • фреймворк тестирования • логирование
  12. 12. Удобный инструмент для автоматизации! • webdriver • фреймворк тестирования • логирование • сборщик тестов
  13. 13. Удобный инструмент для автоматизации! • webdriver • фреймворк тестирования • логирование • сборщик тестов • непрерывная интеграция
  14. 14. А какие инструменты видели вы?
  15. 15. Иногда можно встретить такие
  16. 16. поддержка и доработка +сопутствующая инфраструктура
  17. 17. обновление webdriver
  18. 18. качество кода
  19. 19. поддержка документации VS
  20. 20. уровень вхожденияв проект
  21. 21. обучение junior тестировщиков
  22. 22. Как мы пришли к open-source инструменту
  23. 23. Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
  24. 24. Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
  25. 25. Java• Thucydides• Html Elements (Яндекс)
  26. 26. Thucydides• PageObject + StepsDictionary• отличная документация• классные отчеты• возможность абстрагироваться от webdriver
  27. 27. Архитектура тестов • JUnit • JBehave BDD • EasyB
  28. 28. • готовые программы и методики испытаний• нет необходимости дублировать приемочные критерии
  29. 29. Архитектура тестов This is one of the easiest ways to start out with Thucydides, and is very well suited for regression testing, whereJUnit communication and clarification with the various stakeholders is less of a requirement.* * http://www.thucydides.info/junit
  30. 30. Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
  31. 31. Page1 Page2 Page3 methodA1() methodB1() methodC1() methodA2() methodB2() methodC2() methodB3() Steps1 Steps2 step1Method(){ step2Method(){ page1.methodA1(); page2.methodB2()StepsDictionary page3.methodC1(); page3.methodC2() page2.methodB2(); } } Test1 TestN test(){ test(){ step1.step1Method(); step2.step2Method(); } step1.step1Method(); … stepN.stepNMethod(); }
  32. 32. @Testpublic void успешная_авторизация_пользователя_Региона(){ navigator.gotoHomePage(); OrganizationInfo organization = bdOrg.getOrganizationInfo(REGION); UserInfo user = new UserInfo(1, 1, 1, 1, 1, 1, 0, 0); user = bdUsers.getUserInfo(organization, user); auth.authUser(user); navigator.gotoProfilePage(); auth.checkLoginOnProfilePage(user); navigator.exitUser();}
  33. 33. navigator.gotoHomePage();organization = bdOrg.getOrganizationInfo(REGION);user = new UserInfo(1, 1, 1, 1, 1, 1, 0, 0);user = bdUsers.getUserInfo(organization, user);
  34. 34. auth.authUser(user);
  35. 35. navigator.gotoProfilePage();auth.checkLoginOnProfilePage(user);
  36. 36. Синтаксис Заполнение поля:element(login).type(“kozlov.andrey");enter(“kozlov.andrey").into(login);typeInto(login, “kozlov.andrey");
  37. 37. Наглядные отчеты после прогона
  38. 38. Детальная информация о тесте
  39. 39. Этапы автоматизации:1. разработка инструмента автоматизации2. разработка и поддержка тестов3. обучение коллег
  40. 40. Заинтересовываем тестировщика
  41. 41. Вхождение тестировщика в проект#1 Постановка задачи: ознакомление с проектом http://www.thucydides.info/documentation + русскоязычный блог http://internetka.in.ua/tag/thucydides/
  42. 42. Вхождение тестировщика в проект#2 Постановка задачи: развертывание проекта https://github.com/thucydides-webtests/thucydides/wiki/Getting-Started
  43. 43. Вхождение тестировщика в проект#3 Постановка задачи: • тесты-примеры • парное программирование
  44. 44. Вхождение тестировщика в проект#4 Работа с реальным проектом. Контроль в рамках: • консультации • документация • review кода
  45. 45. Руководство к действию Не изобретайте свои велосипеды
  46. 46. Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты
  47. 47. Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты Обучайте своих коллег
  48. 48. Руководство к действию Не изобретайте свои велосипеды Используйте готовые инструменты Обучайте своих коллег Регулярно проводите review кода
  49. 49. Вопросы? Козлов Андрей, ООО «Центр автоматизации энергосбережения» @vozlok kozlov.andrey@caesber.ru

×