Comments 5
Четкий и понятный пост, спасибо автор! Но хотелось бы чтобы после шаблона и совета был теперь показан пример с использованием советов.
GWT для меня, это Google Web Toolkit: https://en.wikipedia.org/wiki/Google_Web_Toolkit
Сейчас проверил, он всё ещё первый в поисковой выдаче:

Но в статье явно про что-то другое написано. Автор, расшифровку аббревиатур принято приводить при первом их использовании, особенно, если вы используете какие-то маргинальные значения.
Это называется Gherkin, а не GWT. https://cucumber.io/docs/gherkin/reference
Не взлетает оно по опыту, требуется постоянно отступать для человекочитаемости или дробить очень мелко, из-за этого простой процесс описан на нескольких страницах и бизнесу тяжело понять, что от него хотят.
Но как идея и теория - огонь.
Пример:
Given пользователь авторизован
When он открывает страницу профиля
Then отображаются его личные данные
Не будет такое понятным ни бизнесу, ни разработчикам, ни тестировщикам. Даже этот с виду простой пример вызывает кучу вопросов.
Какие конкретно данные пользователей отображаются?
Откуда они берутся?
Что отображается, если данные не сохранены ранее
Нужно ли маскировать какую-то персу звёздочками?
И т.д.
Кроме этого, в страдательном склонении рекомендую не писать. Само ничего не происходит. Сами по себе данные не могут отображаться - система должна их откуда-то достать (и это важно для разработчиков) и показать пользователю.
Документация по-взрослому: Given/When/Then для реальных проектов глазами системного аналитика