24
Excellence in Software Engineering Confidential Никита Гавриш Senior Software Developer in Test Велосипед на Selenium. 3 истории

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

  • Upload
    sqalab

  • View
    400

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Excellence inSoftware Engineering

Confidential

Никита ГавришSenior Software Developer in Test

Велосипед на Selenium. 3 истории

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

Excellence in Software Engineering 

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

QA для Highload• Проект успешен

• Существует процесс QA

• Сложное тестовое окружение

• Тестовые данные

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Симба и Нала

• Команда знает, зачем проекту автотесты

• Адекватные ожидания

• Готовность идти навстречу

• Нет ресурсов

• Нет процесса

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Тимон и Пумба• Команда давно работает с

автотестами

• Процесс налажен

• Техническое решение

Excellence in Software Engineering 

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

8Excellence in Software Engineering 

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

Банзай, Шэнзи и Эд• Команда не знает, с чем готовить автотесты

• Затыкание дырок

• Ожидание скорой отдачи

• Неготовность менять процессы

• Нет ресурсов

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Человек-невидимка• TDD

• Тесты интегрированы в разработку

• Тесты имеют значение

Excellence in Software Engineering 

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

12Excellence in Software Engineering 

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

Техническое решение• Написать свой фреймворк

• Взять готовый

• Data Driven

• Keyword Driven

• Бесплатный/проприетарный

Excellence in Software Engineering 

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

Велосипед vs Freeware

• Гибко

• Не зависим ни от кого

• Допилено под себя

• Отлаженный код (?)

• Community

• Рабочее решение

• Ресурсы на разработку

• Ресурсы на поддержку

• Можно промахнуться

• Интеграции с CI нет

• Не избавляет от программирования

• Только простые тесты

• Привязывает

минусы

плюсы

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Требования• Гибкость

• Расширяемость

• Простота

• Очевидные отчеты

• Повторное использование

• Не продавать душу дьяволу

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Средства• Python

• Selenium

• SQLite

• CouchDB

• HTML/JS/CSS

Excellence in Software Engineering 

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

Page Object• Меньше кода

• Читаемость

• Простота

Page ObjectЗадать место

отправки

СценарииНабор параметров 1

Набор параметров n

Тест1

Тест n

Excellence in Software Engineering 

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

Интерфейс• Командная строка

• HTTP-API

WebDriver API

Test Suites

Page Object

SetupStart

StopReport

HTTPCall

Excellence in Software Engineering 

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

Интеграция с CI• CruiseControl.NET

• HTML-plugin

• Баги

• для unit-тестов

• Велосипед

• Своя любая и статистика

• Управление тестами

• Поддержка

• Jenkins CI

• XML-репорт

• Custom HTML-report

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Excellence in Software Engineering 

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

Спасибо за внимание!

Skype: shirvag

[email protected]

facebook.com/ngavris

Excellence in Software Engineering