Наименование BDD: когда оно перестает быть пользовательским опытом? - PullRequest
4 голосов
/ 20 декабря 2010

Меня тянет к MSpec с надеждой, что когда-нибудь я поделюсь своими отчетами о тестах с не-разработчиками *, но это очень ценно (верно?), Если я обсуждаю бизнес (пользователяопыт) в именах тестов / сценариев (вместо отдельных объектов / членов C #, которые фактически тестируются).

Но я из-за своей низкоуровневой функциональности пытаюсь процитировать в своем тесте проблемы, не связанные с разработчиками./ имена сценариев.Чем больше беспокойство вызывает пользовательский интерфейс, тем больше трудностей в названии сценария, так что он а) имеет отношение к не-разработчику и б) описывает тестируемую функциональность низкого уровня.

По мере перемещениядальше и дальше от пользовательского интерфейса, есть ли точка, в которой имена тестов / сценариев просто нельзя разделить с не разработчиками?Я чувствую, что ответ должен быть «нет», потому что Я не должен тестировать поведение, если это не то, что не-разработчик заботится о , но я достаточно часто терплю неудачу, так что я не уверен, что яЯ пропускаю.

Если где-то есть очевидные ответы, я был бы признателен за некоторые цитаты / ссылки.

* например, конечные пользователи или другие заинтересованные стороны («заинтересованные стороны» могут включать будущие разработчики - или я через полтора года - используя эти спецификации, чтобы понять, почему системы *1018*)

1 Ответ

4 голосов
/ 20 декабря 2010

Обычно мы используем слово «сценарий» для описания полно-системных сценариев POV пользователя.

Если вы хотите, чтобы слово описывало поведение на уровне класса, попробуйте «пример».

Ваши примеры будут с точки зрения пользователей вашего класса.Если эти пользовательские классы хотят поведения, ориентированного на разработчика, то да, ваши примеры в конечном итоге будут содержать проблемы, ориентированные на разработчика.

Сказав это, вот некоторые изменения словарного запаса, которые я обнаружил, позвольте мнефраза значения, которое я ищу, наиболее ориентированным на бизнес способом, который я могу:

  • возвращает -> говорит или дает мне
  • звонки -> делегаты, просит
  • обрабатывает параллелизм -> обрабатывает две вещи одновременно
  • extends -> является
  • внедряется -> выполняет роль

В основном, если вы 'Если вы используете жаргоновое слово для разработчиков, представьте, что вам нужно объяснить это кому-то еще несколькими словами, а затем используйте это.

Хотя я бы не стал зацикливаться на этом.Причина использования конкретных терминов заинтересованных сторон в сценариях заключается в том, что заинтересованные стороны заинтересованы в чтении и (надеюсь) их написании.Аудитория примеров на уровне класса техническая, поэтому не имеет большого значения, есть ли у нас технические проблемы.

...