Я новичок в тестировании, и я столкнулся с подходами TDD и BDD. Но я в замешательстве. Я не знаю, когда лучше использовать TDD вместо BDD и наоборот. Я столкнулся с некоторыми статьями, но они больше касаются различий ...Когда использовать TDD вместо BDD и наоборот
У меня есть несколько советов, но не уверен в их действительности.
1) Если я думаю, что я хотел бы реализовать хорошо известный java.lang.List
то, какой подход использовать? В этом случае мне кажется, что TDD - лучший выбор ... Потому что это часть API/библиотеки, и только программист может ее использовать, а не пользователь. Несмотря на то, что я могу себе представить, что я мог бы использовать BDD тоже, как:
История: Programmer adds an element to the list
Рассказ может быть что-то вроде: As a programmer I want to add an element to the list [so that ...]
Сценарий 1: Adding null to the list
+ заданной, когда, затем
Сценарий 2: Adding valid element to the list
+ данный, когда, затем
Сценарий 3: ...
2) Но если представить себе, что я хотел бы реализовать некоторые GUI, то мне кажется, что BDD это лучший выбор ... Потому что это то, что пользователь может контролировать (нажмите на кнопку, заполните поля и т. д.). TDD в этом случае мне не подходит как хороший выбор ...
Далее, могу ли я смешать их вместе? Я прочитал, что BDD включает в себя TDD на самом деле, но в этом случае я имею в виду, что это нормально использовать BOTH-подходы в проекте (например: TDD для API и BDD для GUI), или я должен выбрать только один подход.
Кроме того, я очень признателен, если вы разместите здесь некоторые ссылки, что помогли вам лучше понять тестирование в целом ...
Вы можете опубликовать некоторую GUIDE/подсказку, что вы используете для принятия решения ...
Благодарим за отзыв. И что шаг за шагом использовать их вместе? Должен ли я сначала написать тесты поведения, а затем проверить методы (add(), remove(), ...)? Или сначала тесты для методов, затем тесты поведения или другим способом? – brolinko
Сначала тест BDD, затем модульные тесты при выполнении TDD. Поэтому, если вы новичок в BDD и TDD, я предлагаю начать с TDD и получить опыт написания модульных тестов. –
Хорошо, если вы прочтете интересные статьи/ы, и у вас есть ссылка на него, можете отправить его здесь, пожалуйста? Спасибо ... – brolinko