Software quality assurance days
17 Международная конференция
по вопросам качества ПО
sqadays.com
Минск. 29–30 мая 2015
Говако Евгений
Deutsche Bank Technology Center, Санкт-Петебург, Россия
Исполнимые спецификации в тестировании UI.
О себе
Евгений Говако
QA/Test Automation Engineer
Deutsche Bank Technology Center Russia, St. Petersburg
◦
В QA с 2004 года
◦
QA Lead/Support Lead
◦
QMS
◦
Test Automation since 2012
Как пишут автотесты для UI
Test cases
Как пишут автотесты для UI
App
Reporting
Test cases
Как пишут автотесты для UI
App
Driver
Test cases
Как пишут автотесты для UI
App
Driver
Framework
Test cases
Как пишут автотесты для UI
App
Driver
Framework
DSL
Test cases
Как пишут автотесты для UI
App
Driver
Framework
DSL
Test
Runner
Test cases
Как пишут автотесты для UI
App
Driver
Framework
DSL
Test
Runner
Reporting
Test cases
Традиционный подход к автотестам
Test id
Test Actions
Expected Results
1
1. Open Control Panel with
Red light shown
2. Click Next button
1.
Yellow light should be shown
Поддержка изменений
Test
TestAP
I
App
Test
Case
Поддержка изменений
Test
TestAP
I
App
Test
Case
CR
Поддержка изменений
Test
TestAP
I
App
Test
Case
CR
Поддержка изменений
Test
TestAP
I
App
Test
Case
CR
TEST SUPPORT
Поддержка изменений
Test
TestAP
I
App
Test
Case
CR
TEST SUPPORT
Поддержка изменений
Test
TestAP
I
App
Test
Case
???
CR
TEST SUPPORT
Поддержка изменений
Test
TestAP
I
App
Test
Case
???
CR
TEST SUPPORT
Gherkin – исполнимые спецификации
◦
Автотесты - исполнение спецификации шаг за
шагом
◦
Gherkin – язык, позволяющий формализовать
исполнение строк спецификации
◦
Gherkin – сам по себе является языком
программирования
◦
Ключевые слова Given/When/Then
◦
Предполагает интерпретатор шагов
(Cucumber/SpecFlow)
◦
Изначально изобретен в для написания
спецификаций для Cucumber
Выполнение Gherkin
Строка
Поиск метода
по шаблону
Выполнение с
параметрами
Scenario
: 01 Turn red to Red Yellow
Given
Red Light is shown
When
user clicks on Next button
Then
Yellow light should be shown
Пишем тест на Gherkin
Вводим параметризацию
Делаем Data Driven test
Поддержка изменений
Test Case
Binding
TestAPI
App
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
TEST SUPPORT
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
TEST SUPPORT
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
TEST SUPPORT
Поддержка изменений
Test Case
Binding
TestAPI
App
CR
TEST SUPPORT
Преимущества и недостатки
Прямая связь
спецификации и
автотеста
Высокая скорость
разработки тестов
Разработка новых
тестов без участия
программистов
Поддержка тестов на
уровне модификации
сценариев
Ограничение свободы
QA в формулировках
тестовых сценариев
Спецификации уходят
от бизнес-смысла к
описанию
манипуляций с
интерфейсом
Лучшие практики
•
Переиспользование шагов
•
Использование декларативного стиля написания
•
Одно действие на шаг
•
Использование Background
Что еще?
•
Создание библиотеки общих шагов
•
Модификация фреймворка (SpecFlow plugin)
•
Написание собственного интерпретатора
Q&A
mailto:
egovako@gmail.com
Skype: george.eager
Исполнимые спецификации в тестировании UI