Не полный набор тестов с Spec Explorer 2010

Я пробую Spec Explorer, и теперь у меня есть эта ошибка, что мой набор тестов неполон. Я не получаю сообщение об ошибке или что-то в этом роде, просто я ожидаю 16 тестов и у меня их всего 11.

У меня проблема с примером проекта, который находится в Spec Explorer 2010. Поскольку я новичок в этом, я пробовал разные вещи с примером проекта, такие как расширение диапазона и расширение двойного добавления к четверному добавлению. В этот последний раз я заметил, что мне не хватает нескольких тестов. Я изменил его обратно на тройное добавление, чтобы посмотреть, была ли проблема. И, как я и ожидал, я снова пропустил тестовый пример. Только с тройкой я ожидал 8 тестовых случаев и получил только 7. Единственное, что я изменил в коде:

machine DoubleAddScenario() : Main where ForExploration = true
{
    (Add(_); Add; Add; ReadAndReset)*
}

Я также пытался сделать это

(Add(_); Add(_); Add(_); ReadAndReset)*

Но та же проблема там. Я пропускаю тестовый пример Add(1); Добавить (2); Добавить (1). Я также пытался назвать только этот, и это работает, так почему я скучаю по нему в моем тестовом наборе?

Я что-то не так делаю, или Spec Explorer что-то фильтрует для меня? И если это Spec Explorer, где он принимает это решение?

1 ответ

Решение

Хороший вопрос. Причина, по которой тестовый случай отсутствует, заключается в том, что Spec Explorer использует покрытие шага (перехода), а не полное покрытие пути в качестве критерия покрытия. Таким образом, вы найдете тестовый пример, который использует в первом шаге "Add(1)" другой, который использует во втором шаге "Add(2)", и, наконец, тестовый пример, который использует "Add(1)" в шаге 3, но не обязательно один тестовый случай с точной комбинацией. Вы найдете ответы (как там было задано много вопросов) на форуме и в справке Spec Explorer:

http://msdn.microsoft.com/en-us/library/ee620427.aspx

http://social.msdn.microsoft.com/Forums/en-US/977b90c1-8938-474a-840e-14fd78b1af3e/spec-explorer-wmethod?forum=specexplorer

Spec Explorer используется в реальных испытаниях, поэтому проблему (только одну из многих в MBT) с экспоненциальным взрывом для покрытия пути пришлось обойти. Исключительно крутое решение Spec Explorer - это язык Cord (или обычный язык, если хотите). Вместо утомительного программирования тестовых случаев Spec Explorer теперь позволяет нам только набросать тестовый сценарий со сценариями. Детали и комбинации получаются из общей модели. На практике это то, что мы (по крайней мере, все проекты, которые я сделал) действительно хотим. И, как вы видите, вы можете добавить свой отсутствующий тестовый пример, если он вам действительно нужен.

Другие вопросы по тегам