codefest 2013. Козлов А. — Автоматизация тестирования...

49
Автоматизация тестирования веб-приложений с использованием Thucydides: за и против Козлов Андрей, ООО «Центр автоматизации энергосбережения» руководитель отдела тестирования

Upload: codefest

Post on 29-Nov-2014

914 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

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

Автоматизация тестирования веб-

приложений с использованием

Thucydides: за и против

Козлов Андрей,

ООО «Центр автоматизации энергосбережения»

руководитель отдела тестирования

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

Особенности наших проектов

Как выбрать инструмент для автоматизации

Почему же Thucydides?

Как заставить тестировщика писать тесты

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

• 2 года активной разработки web-приложений

• несколько проектов в сфере сбережения

энергоресурсов

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

Отсутствие автоматизированных приемочных

тестов

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

регрессия ~ 150 кейсов (ПМИ)

Демонстрация продукта потенциальному заказчику

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

облегчение миграции кода на новые стенды

Автоматизация тестирования новой функциональности

разгрузка ручного тестирования+

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

Webdriver – лишь программная библиотека

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

Что будем делать?

С чего начать? Какая стратегия?

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

Удобный инструмент для автоматизации!

• webdriver

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

Удобный инструмент для автоматизации!

• webdriver

• фреймворк тестирования

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

Удобный инструмент для автоматизации!

• webdriver

• фреймворк тестирования

• логирование

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

Удобный инструмент для автоматизации!

• webdriver

• фреймворк тестирования

• логирование

• сборщик тестов

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

Удобный инструмент для автоматизации!

• webdriver

• фреймворк тестирования

• логирование

• сборщик тестов

• непрерывная интеграция

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

А какие инструменты

видели вы?

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

Иногда можно встретить такие

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

поддержка и доработка+

сопутствующая инфраструктура

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

обновление webdriver

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

качество кода

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

VS

поддержка документации

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

уровень вхождения

в проект

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

обучениеjunior

тестировщиков

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

Как мы пришли

к open-source

инструменту

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

1. разработка инструмента автоматизации

2. разработка и поддержка тестов

3. обучение коллег

Этапы автоматизации:

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

1. разработка инструмента автоматизации

2. разработка и поддержка тестов

3. обучение коллег

Этапы автоматизации:

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

• Thucydides

• Html Elements (Яндекс)

Java

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

Thucydides

• PageObject + StepsDictionary

• отличная документация

• классные отчеты

• возможность абстрагироваться от webdriver

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

• JUnit

BDD• JBehave

• EasyB

Архитектура тестов

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

• готовые программы и методики испытаний

• нет необходимости дублировать

приемочные критерии

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

JUnit

This is one of the easiest ways to start out with Thucydides, and is very well suited for regression testing, where communication and clarification with the various stakeholders is less of a requirement.*

* http://www.thucydides.info/junit

Архитектура тестов

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

1. разработка инструмента автоматизации

2. разработка и поддержка тестов

3. обучение коллег

Этапы автоматизации:

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

StepsDictionary

Page1methodA1()methodA2()

Page2methodB1()methodB2()methodB3()

Page3methodC1()methodC2()

Steps1step1Method(){ page1.methodA1(); page3.methodC1(); page2.methodB2();}

Steps2step2Method(){ page2.methodB2() page3.methodC2()}

Test1test(){ step1.step1Method(); }

TestNtest(){ step2.step2Method(); step1.step1Method(); … stepN.stepNMethod();}

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

@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();}

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

navigator.gotoHomePage();

organization = bdOrg.getOrganizationInfo(REGION);user = new UserInfo(1, 1, 1, 1, 1, 1, 0, 0);user = bdUsers.getUserInfo(organization, user);

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

auth.authUser(user);

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

navigator.gotoProfilePage();auth.checkLoginOnProfilePage(user);

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

Заполнение поля:

element(login).type(“kozlov.andrey");enter(“kozlov.andrey").into(login);typeInto(login, “kozlov.andrey");

Синтаксис

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

Наглядные отчеты после прогона

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

Детальная информация о тесте

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

1. разработка инструмента автоматизации

2. разработка и поддержка тестов

3. обучение коллег

Этапы автоматизации:

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

Заинтересовываем тестировщика

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

Постановка задачи: ознакомление с проектом

http://www.thucydides.info/documentation

+ русскоязычный блог

http://internetka.in.ua/tag/thucydides/

#1

Вхождение тестировщика в проект

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

Постановка задачи: развертывание проекта

https://github.com/thucydides-webtests/thucydides/wiki/Getting-Started

Вхождение тестировщика в проект

#2

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

Постановка задачи:

• тесты-примеры

• парное программирование

Вхождение тестировщика в проект

#3

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

Вхождение тестировщика в проект

• консультации

• документация

• review кода

Работа с реальным проектом. Контроль в рамках:

#4

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

Не изобретайте свои велосипеды

Руководство к действию

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

Не изобретайте свои велосипеды

Используйте готовые инструменты

Руководство к действию

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

Не изобретайте свои велосипеды

Используйте готовые инструменты

Обучайте своих коллег

Руководство к действию

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

Не изобретайте свои велосипеды

Используйте готовые инструменты

Обучайте своих коллег

Регулярно проводите review кода

Руководство к действию

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

Козлов Андрей,ООО «Центр автоматизации энергосбережения»

@vozlok

[email protected]

Вопросы?