Исполнимые
спецификации в
тестировании UI
НАПИСАНИЕ АВТОТЕСТОВ ДЛЯ UI НА ЯЗЫКЕ
GHERKIN С ИСПОЛЬЗОВАНИЕМ SPECFLOW
Как пишут автотесты для UI
Что нужно для написания автотестов?
•
Тест-кейсы
•
Инструмент для взаимодействия с UI
•
Поиск элементов
•
Имитация действий пользователя
•
Фреймворк предоставляющий обьектную модель для написания
автотестов
•
Обертки для найденных элементов (Text Box, Button, Combobox)
•
Модель организации элементов (PageObject)
•
DSL, переводящий бизнес-действия, описанные в тест-кейсах в
последовательность действий с элементами UI
•
Test Runner – утилита, занимающаяся запуском тестов и сбором
результатов их выполнения
•
Автотесты, написанные на том или ином языке программирования
Традиционный подход к автотестам
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
???
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
CR
TEST SUPPORT
Преимущества и недостатки
Прямая связь спецификации и
автотеста
Высокая скорость разработки
тестов
Разработка новых тестов без
участия программистов
Поддержка тестов на уровне
модификации сценариев
Автоматизация накладывает
ограничения на язык
сценариев
Спецификации уходят от
бизнес-смысла к описанию
манипуляций с интерфейсом
Лучшие практики
•
Переиспользование шагов
•
Использование декларативного стиля написания
•
Одно действие на шаг
•
Использование Background
Что еще?
•
Создание библиотеки общих шагов
•
Модификация фреймворка (SpecFlow)
•
Написание собственного интерпретатора
Q&A
Исполнимые спецификации в тестировании UI
01
/
14
Исполнимые спецификации в тестировании UI НАПИСАНИЕ АВТОТЕСТОВ ДЛЯ UI НА ЯЗЫКЕ GHERKIN С ИСПОЛЬЗОВАНИЕМ SPECFLOW