Насколько сложными должны быть тесты на дым? - PullRequest
2 голосов
/ 20 мая 2009

Таким образом, на данный момент мы выполняем ежедневную сборку нашего текущего проекта в течение многих месяцев. Дымовые тесты, которые идут вместе с этой ежедневной сборкой, не очень сложны - мы запускаем несколько тестов nUnit в нашей библиотеке основных классов (которая, по общему признанию, не обеспечивает большого покрытия кода), и мы проверяем, что все компилируется и построить. Данное приложение представляет собой сайт ASP.NET, который потребляет некоторые бизнес-объекты (включая LINQ-to-SQL).

Существуют ли более сложные тесты дыма, которые мы должны проводить, особенно на сайтах ASP.NET? Как бы мы разработали дымовой тест для сайта ASP.NET?

Ответы [ 3 ]

3 голосов
/ 20 мая 2009

Помимо модульного тестирования, может быть полезно запустить сайт на промежуточном сервере с некоторыми примерами данных. Как можно ближе к жизни, как возможно. Затем используйте сценарий генерации HTTP-трафика для имитации пользовательского трафика и сеансов. Вы можете следить за ведением журнала отладки, исключениями и другим кодом тестирования на сервере. Вы также можете провести измерения производительности здесь.

Очень похоже на более интенсивную итеративную версию игры в браузере самостоятельно.

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

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

1 голос
/ 20 мая 2009

Тесты дыма по своей природе должны быть поверхностными: компилируется ли? Развертывание? Загружается ли страница приветствия? Может быть, загрузить тестовую страницу, которая делает запрос к базе данных, чтобы увидеть, что это соединение тоже работает. Вот и все.

0 голосов
/ 20 мая 2009

Вы не должны делать тесты на дым. Знаете ли вы об этимологии этого термина? «Тест дыма» в электронике - это когда вы включаете питание и смотрите, выходит ли дым.

Вы должны проводить более всесторонние юнит-тесты; достаточно, чтобы дать вам хорошее покрытие кода. Это то, что вы должны делать на каждой сборке. Вам также следует попытаться выполнить развертывание и выполнить несколько «тестов проверки установки».

...