В этом посте «TDD vs BDD vs ATDD» мы попытаемся упомянуть ключевые различия между методами разработки TDD, BDD, ATDD. Понимая эти методы, мы знаем, какую стратегию мы должны использовать в разработке программного обеспечения. Нет жесткого правила придерживаться одной конкретной техники разработки. Вы можете использовать комбинацию этих трех методов в зависимости от требований вашего проекта, вас и вашей команды.
Что такое разработка через тестирование (TDD)?
< p>TDD также известен как разработка через тестирование (Test Driven Design). TDD – это метод разработки, который заключается в том, чтобы написать тест и увидеть, что он не прошел, а затем провести его рефакторинг.
Что такое Behavioral-Driven Development (BDD)?
< р>BDD также известен как развитие, управляемое поведением. BDD – это метод разработки, в котором практикуется создание простых сценариев того, как приложение должно вести себя с точки зрения конечного пользователя.
Что такое разработка, основанная на приемочном тестировании (ATDD)?
< /p>
ATDD также известен как разработка, основанная на приемочных испытаниях. ATDD — это метод разработки, который практикует преобразование критериев приемки в тесты.
Разница между TDD, BDD и ATDD
(TDD против BDD против ATDD)
TDD | BDD | ATDD |
---|---|---|
TDD фокусируется на реализации функции | BDD фокусируется на поведении системы | ATDD фокусируется на точном определении требований |
В основном разработчики участвуют в этом для написания модульных тестов< td class=column-2>В этом процессе участвуют разработчики, специалисты по обеспечению качества и заказчики | В этом процессе участвуют разработчики, специалисты по обеспечению качества и заказчики | |
Написано на языке программирования, таком как Python, Java и т. д., | Написано простым простым английским языком, Gherkin | Написано простым простым английским языком, Gherkin |
Эти тесты носят технический характер. Нетехническому человеку это понять несложно | Нетехническому специалисту это легко понять | Нетехническому специалисту это легко понять |
Фокус на написании модульных тестов | Фокус на понимании требований | Фокус на написании приемочных тестов |
Инструменты, используемые в TDD: JDave, Cucumber, JBehave, Spec Flow, BeanSpec, Gherkin Concordian, FitNesse, Junit, TestNG, платформы NUnit, инструмент Selenium (любой инструмент с открытым исходным кодом tools) | Инструменты, используемые в Gherkin, Dave, Cucumber, RSpec, Behat, Lettuce, JBehave, Specflow, BeanSpec, Concordian, MSpec, Cucumber with Selenium/Serenity | Используемые инструменты в TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides, Robot Framework, FIT |
TAG: qa