Как вы генерируете тесты из спецификаций? - PullRequest
5 голосов
/ 27 августа 2008

Я наткнулся на напечатанную статью Бертрана Мейера , где он утверждает, что тесты могут быть сгенерированы из спецификаций. Моя команда разработчиков не делает ничего подобного, но это звучит как хорошая техника для рассмотрения. Как вы генерируете тесты из спецификаций? Как бы вы охарактеризовали ваш успех в обнаружении программных ошибок с помощью этого метода?

Ответы [ 4 ]

4 голосов
/ 27 августа 2008

Это может быть ссылка на RSpec , который является действительно умным способом разработки тестов как серии требований. Я все еще привыкаю к ​​этому, но это было очень удобно как для определения того, что мне нужно сделать, так и для обеспечения того, чтобы я это делал.

2 голосов
/ 27 августа 2008

@ Тим Салливан из Бертрана Мейера, это может быть связано только с Эйфелевой:)

Я думаю, он говорит о ESpec . Учитывая название RSpec от Ruby Folk, я думаю, что мы можем дать им ярлык «сильно вдохновленный».

1 голос
/ 21 сентября 2008

Я бы сказал, что это зависит от ваших спецификаций. Я еще не работал где-нибудь, где спецификации были достаточно хороши, чтобы создавать полные модульные тесты из спецификаций - уровня детализации просто не было. Мои менеджеры всегда говорили нам, что, если мы укажем до этого уровня, они могут просто отправить спецификации в Индию и получить их по дешевке;)

0 голосов
/ 21 сентября 2008

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

Только ваша команда может измерить «глубину» ваших тестов, и это, вероятно, будет зависеть от того, насколько хороши ваши спецификации. Если они скажут что-то вроде «пользовательский интерфейс входа должен предоставить кнопку отмены и кнопку входа, и они должны работать», ваши тесты будут довольно общими. Но имейте в виду, что даже очень общие тесты - это хорошо. Тестирование - это хорошо. Слишком многие разработчики плохо относятся к тестированию, но, в конце концов, вы поставляете программное обеспечение, которое должно работать, и для меня это очень много значит.

Эффективность ваших тестов при обнаружении сбоев программы будет зависеть от того, какие детали вы в них заложили. Что особенно приятно в написании тестовых процедур для спецификаций, так это то, что вы можете тестировать каждую сборку с тем же уровнем детализации, что и предыдущая сборка (обычно называемая регрессионным тестом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...