#linux #shell #freebsd #test_automation
Что такое smoke test? Гугл дал только краткую формулировку, а хотелось бы с конкретными примерами, литературой и т. д. Как можно запустить данные тесты ( какие команды в shell'е ) в разных unix подобных ос для разных утилит. Насколько я понимаю, для каждой программы есть определенный набор команд ( tool -h или -version ), и проверив работоспособность такого manpage можно сказать, что данная утилита прошла smoke test или нет.
Ответы
Ответ 1
какие команды в shell'е Проще всего: if tool -h then echo "Прошли smoke test" else echo "Не прошли smoke test" if tool --version then echo "Прошли smoke test" else echo "Не прошли smoke test" Но не факт, что все разработчики tool достаточно добросовестны и снабдили свой tool обработкой этих опций.Ответ 2
Только проверку того, что тулза скомпилировалась - сложно назвать smoke-test. Smoke-test должен поверхностно протестировать наличие и корректную работу в тривиальных случаях всех самых важных функций тестируемой системы. Основная задача - охватить как можно больше функциональности за кратчайшее время. Никаких сложных кейсов. Цель - выявление проблем со сборкой перед её скармливанием более глубоким методам тестирования, экономия времени, очистка истории сборок от случайных ошибок. Дымовое тестирование имеет смысл размещать не на серверах CI, а у конкретных разработчиков либо на хуки системы контроля версий на development сервере. Его, в принципе, можно не автоматизировать(хотя тогда есть риск его пропустить). Разработчик может просто самостоятельно пробежаться по всем(не только по тем, в которые он вносил изменения) важным узлам билда вручную - это тоже вполне себе smoke-тестирование По поводу утилит, вы используете привычные вам методы тестирования, различие только в наборе тестов - вы идёте не в глубину, а в ширину.Ответ 3
Само выражение smoke test - пришло из электроники. Собрали вы новое устройство, включили его в розетку, а оно громко бабахнуло и выпустило белый дым - значит smoke test не пройден. В программировании smoke test обозначает достаточно быстрый тест самой важной функциональности. Какой именно, зависит от программы. Например для интернет браузера будет достаточно открыть какой-нибудь https://google.com
Комментариев нет:
Отправить комментарий