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