Внедрение автоматизации на selenium в highload-проект
DESCRIPTION
Презентация доклада Никиты Гавриша на конференции SQADays-14, Львов 8-9 ноября 2013TRANSCRIPT
![Page 1: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/1.jpg)
Excellence inSoftware Engineering
Confidential
Никита ГавришSenior Software Developer in Test
Велосипед на Selenium. 3 истории
![Page 2: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/2.jpg)
Excellence in Software Engineering 
![Page 3: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/3.jpg)
QA для Highload• Проект успешен
• Существует процесс QA
• Сложное тестовое окружение
• Тестовые данные
Excellence in Software Engineering 
![Page 4: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/4.jpg)
Excellence in Software Engineering 
![Page 5: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/5.jpg)
Симба и Нала
• Команда знает, зачем проекту автотесты
• Адекватные ожидания
• Готовность идти навстречу
• Нет ресурсов
• Нет процесса
Excellence in Software Engineering 
![Page 6: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/6.jpg)
Excellence in Software Engineering 
![Page 7: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/7.jpg)
Тимон и Пумба• Команда давно работает с
автотестами
• Процесс налажен
• Техническое решение
Excellence in Software Engineering 
![Page 8: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/8.jpg)
8Excellence in Software Engineering 
![Page 9: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/9.jpg)
Банзай, Шэнзи и Эд• Команда не знает, с чем готовить автотесты
• Затыкание дырок
• Ожидание скорой отдачи
• Неготовность менять процессы
• Нет ресурсов
Excellence in Software Engineering 
![Page 10: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/10.jpg)
Excellence in Software Engineering 
![Page 11: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/11.jpg)
Человек-невидимка• TDD
• Тесты интегрированы в разработку
• Тесты имеют значение
Excellence in Software Engineering 
![Page 12: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/12.jpg)
12Excellence in Software Engineering 
![Page 13: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/13.jpg)
Техническое решение• Написать свой фреймворк
• Взять готовый
• Data Driven
• Keyword Driven
• Бесплатный/проприетарный
Excellence in Software Engineering 
![Page 14: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/14.jpg)
Велосипед vs Freeware
• Гибко
• Не зависим ни от кого
• Допилено под себя
• Отлаженный код (?)
• Community
• Рабочее решение
• Ресурсы на разработку
• Ресурсы на поддержку
• Можно промахнуться
• Интеграции с CI нет
• Не избавляет от программирования
• Только простые тесты
• Привязывает
минусы
плюсы
Excellence in Software Engineering 
![Page 15: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/15.jpg)
Excellence in Software Engineering 
![Page 16: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/16.jpg)
Требования• Гибкость
• Расширяемость
• Простота
• Очевидные отчеты
• Повторное использование
• Не продавать душу дьяволу
Excellence in Software Engineering 
![Page 17: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/17.jpg)
Excellence in Software Engineering 
![Page 18: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/18.jpg)
Средства• Python
• Selenium
• SQLite
• CouchDB
• HTML/JS/CSS
Excellence in Software Engineering 
![Page 19: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/19.jpg)
Page Object• Меньше кода
• Читаемость
• Простота
Page ObjectЗадать место
отправки
СценарииНабор параметров 1
Набор параметров n
Тест1
Тест n
Excellence in Software Engineering 
![Page 20: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/20.jpg)
Интерфейс• Командная строка
• HTTP-API
WebDriver API
Test Suites
Page Object
SetupStart
StopReport
HTTPCall
Excellence in Software Engineering 
![Page 21: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/21.jpg)
Интеграция с CI• CruiseControl.NET
• HTML-plugin
• Баги
• для unit-тестов
• Велосипед
• Своя любая и статистика
• Управление тестами
• Поддержка
• Jenkins CI
• XML-репорт
• Custom HTML-report
Excellence in Software Engineering 
![Page 22: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/22.jpg)
Excellence in Software Engineering 
![Page 23: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/23.jpg)
Excellence in Software Engineering 
![Page 24: Внедрение автоматизации на Selenium в highload-проект](https://reader033.vdocument.in/reader033/viewer/2022061613/557f7e87d8b42aab198b4c9a/html5/thumbnails/24.jpg)
Спасибо за внимание!
Skype: shirvag
facebook.com/ngavris
Excellence in Software Engineering