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