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