Сегодня поговорим о BDD. BDD - это разработка через сценарии поведения приложения, т.е. через функциональные тесты и понимание вариантов использования к коду, который уже покрыт функциональными тестами.
А теперь вопрос для внимательных, какие приложения можно тестировать с помощью BDD, а какие лучше не стоит?
BDD - это практика, которая задевает как процессы разработки, так и используемые инструменты. Инструментов сейчас уже вышла достаточно большая кучка (ура, не только кукумбер), для различных платформ и языков. Как правило, большинство инструментов поддерживают синтаксис Gherkin - это то, как оформлять сценарии в виде тестов. И конечно же, много инструментов есть для PHP, давайте посмотрим :)
BDD in PHP on Prezi
А теперь вопрос для внимательных, какие приложения можно тестировать с помощью BDD, а какие лучше не стоит?
Никакие не стоит. Оно больше про написание спецификаций чем про тестирование изначально.
ОтветитьУдалитьИ я не думаю что корректно писать "BDD = TDD + Acceptance Testing". Скорее TDD на уровне спецификаций, я не кода.
А вот перепил BDD тулов или их использование не по назначению (т.е. вне концепции BDD) может вполне интересные результаты дать.
Пообщалась с коллегой из Netcracker на SQADays, у них достаточно сложная разработка тестируется с помощью BDD. Ручные тестировщики в том числе и пишут сценарии (ключевые слова и т.д.), потом это парсится и реализуется автоматизаторами с помощью их самописного фрейворка.
ОтветитьУдалитьred_foks, да, согласен, что с помощью BDD можно тестировать достаточно сложные приложения. Надеюсь и думаю, что у нас в 2ГИС тоже будет скоро применяться :)
ОтветитьУдалитьTo Сергей: использование BDD-тулзов влоб практически всегда будет давать результаты "не очень". А вот про изначально и про требования я бы поспорил :) Изначально не только требования, а вполне читабельные тесты должны быть.