Software quality assurance days 18 Международная конференция по вопросам качества ПО sqadays.com Москва. 27–28 ноября 2015 Владислав Романенко Intellectsoft. Минск, Беларусь Behat-trick: как мы внедряли BDD на наших проектах
Behat-trick: как мы внедряли BDD на наших проектах QA-инженер в Intellectsoft В тестировании 2 года, до этого работал инженером географических информационных систем (ГИС) Занимаюсь тестированием мобильных и веб приложений v.romanenko_ laechoppe@gmail.com
Behat-trick: как мы внедряли BDD на наших проектах Behavior Driven Development Коротко о BDD Коротко о BDD
Behat-trick: как мы внедряли BDD на наших проектах Проблема единого понимания
Behat-trick: как мы внедряли BDD на наших проектах + Gherkin
Behat-trick: как мы внедряли BDD на наших проектах + Gherkin = Требования описаны понятным языком
Behat-trick: как мы внедряли BDD на наших проектах Behat - фреймворк для функциональных тестов
Behat-trick: как мы внедряли BDD на наших проектах Scenario: User can't add a photo Given I signed in as Mark When I upload photo to Mark 's apartment Then the response code should be 403 Функциональные тесты в feature-файлах
Behat-trick: как мы внедряли BDD на наших проектах Тестировщик слишком поздно подключается на проект
Behat-trick: как мы внедряли BDD на наших проектах Тестировщики продумывают максимальное количество сценариев
Behat-trick: как мы внедряли BDD на наших проектах Scenario: Crew admin views the list of roles Given I signed in as admin When I observe the list of available roles Then only Crew roles are in the list Требования записываются во время обсуждения
Behat-trick: как мы внедряли BDD на наших проектах Различные точки зрения на пользовательские истории
Behat-trick: как мы внедряли BDD на наших проектах Тестировщик остается один на один со сценариями
Behat-trick: как мы внедряли BDD на наших проектах Тестировщик остается один на один с step definitions
Behat-trick: как мы внедряли BDD на наших проектах /** * @Given /^I request the list of faults$/ */ public function iRequestTheListOfFaults () { $this -> iSendARequest ( 'GET' , 'faults' ); } Step definition от программиста
Behat-trick: как мы внедряли BDD на наших проектах /** * @Given /^I request the list of issues$/ */ public function iRequestTheListOfIssues () { $this -> iSendARequest ( 'GET' , 'issues' ); } Step definition от тестировщика
Behat-trick: как мы внедряли BDD на наших проектах Заказчику скучно читать сценарии
Behat-trick: как мы внедряли BDD на наших проектах Заказчику скучно читать сценарии
Behat-trick: как мы внедряли BDD на наших проектах Feature: Auctions Background: Auction has started Given Mark sells out an antique vase for $100 And Alice and Mark negotiate Mark 's price: | author | price | | Alice | $90 | Использование секции Background
Behat-trick: как мы внедряли BDD на наших проектах Использование подпапок и тегов
Behat-trick: как мы внедряли BDD на наших проектах When I open the Negotiations list Then I see $90 offer from Alice And I accept offer from Alice When I accept Alice 's offer of $90 vs Использование описательного стиля в шагах
Behat-trick: как мы внедряли BDD на наших проектах Given I'm signed in as <user> Then I should see <count> negotiations in the list Examples: | user | count | | Mark | 2 | | Alice | 1 | | John | 0 | Использование таблиц
Behat-trick: как мы внедряли BDD на наших проектах Scenario: Admin can create a new Crew member Given I’m signed in as " admin " with " qwerty " password When I create a " Crew member " who has " Username " like " marin_rain " and " Name " like " Marin Rain " and " Email " like " marin_rain@test.com " and " Location " like " Berlin " Устранение побочных шагов
Behat-trick: как мы внедряли BDD на наших проектах Given I’m an authenticated Admin When I create " Marin Rain " who is a " Crew member " Then User is created successfully Устранение побочных шагов
Behat-trick: как мы внедряли BDD на наших проектах Сценарии могут быть запущены в любой момент
Behat-trick: как мы внедряли BDD на наших проектах Сценарии = “живая документация”
Behat-trick: как мы внедряли BDD на наших проектах Коммуникация Выводы общение внутри команды и с заказчиком
Behat-trick: как мы внедряли BDD на наших проектах Коммуникация Коммуникация Выводы обсуждение требований (сценариев) всей командой
Behat-trick: как мы внедряли BDD на наших проектах Коммуникация Коммуникация Коммуникация Выводы совместная работа над стилем описания сценариев
Behat-trick: как мы внедряли BDD на наших проектах Вопросы? v.romanenko_ laechoppe@gmail.com