Я вижу, что существует множество систем для требований к отслеживаемости тестовых случаев, и я начал спрашивать себя, какова связь между этими двумя артефактами.Например, почему существует понятие тестовых случаев, а не просто называть их подробными требованиями?Являются ли тесты на самом деле уточнением установленных требований?
Я думаю, что различие просто означает, когда они производятся и для какой цели.Требования составляются очень рано, прежде чем мы узнаем много подробностей, связанных с реализацией.Мы стараемся сохранять их реализацию нейтральной, чтобы они были более абстрактными.
Назначение тестовых сценариев несколько иное.Требования говорят разработчикам, что должна делать система, а не как это делать.Тем не менее, тестовые случаи (как они часто пишутся) точно определяют, как что-то делать, и они часто ссылаются на фактические детали реализации.
Если контрольные примеры не являются требованиями и требуют больше, чем задокументированные требования (например, тестирование большего количества ошибок и т. Д.), То, конечно, набор требований является неполным?
Да, требования к ним неполные.Это всегда потому, что вы никогда не сможете полностью документировать все ожидания всех пользователей или заинтересованных сторон, независимо от того, как долго вы над этим работаете.
Но тогда контрольные примеры также неполны.Полное тестирование невозможно.Любой набор тестов является выборочным набором всех потенциальных тестов.Однако тесты обычно проводятся на более поздней стадии, когда мы знаем гораздо больше о требованиях, и поэтому они могут быть более конкретными, более подробными и более полными, а не не полностью завершенными.
Посмотритеat: http://www.ibm.com/developerworks/rational/library/04/r-3217/
В этой статье автор объясняет, как перейти от вариантов использования к тестам.Автор подчеркивает, что, хотя варианты использования содержат все потоки и подпотоки, контрольные примеры представляют собой конкретные данные и конкретный поток в системе.
Являются ли требования просто абстрактными контрольными примерами?
Я бы сказал, да, их можно посмотреть таким образом.Некоторые люди даже заходят так далеко, что не пишут тестовые примеры, а просто используют требования в качестве «контрольного списка», на котором основывается их тестирование.
Отслеживание от тестовых примеров до требований - очень хорошая идея, иочень популярный подход.Инструменты реализуют эту функцию, потому что она продается.Но у этого подхода есть ограничения и ловушки.Часто существует ложное ощущение полноты, когда инструмент сообщает о 100% покрытии, потому что у вас есть 1 тест на каждое требование.Это на самом деле не решает проблему, что некоторые требования требуют гораздо больше, чем просто один тест.Это также не влияет на содержание тестов или на то, действительно ли тесты охватывают то, что они должны.
Если вас интересуют Требования-> Отслеживаемость тестов, вы должны знать об ограничениях подхода иосознайте, что его следует использовать осторожно в сочетании с другими подходами, чтобы обеспечить более комплексный подход к вашему тестированию.