Насколько сложными должны быть тесты на курение?

StackOverflow https://stackoverflow.com/questions/888622

Вопрос

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

Вам не следует проводить тесты на курение.Знаете ли вы этимологию этого термина?"Проверка на задымление" в электронике - это когда вы включаете питание и смотрите, выходит ли дым.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top