Внедрение автоматизации на Selenium в highload-проект

Preview:

DESCRIPTION

Презентация доклада Никиты Гавриша на конференции SQADays-14, Львов 8-9 ноября 2013

Citation preview

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

nikita_gavrish@epam.com

facebook.com/ngavris

Excellence in Software Engineering 

Recommended