"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by @noahsussman
Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? (кстати, не знаю, что при этом думал Noah)
Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть?
Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны.
1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением.
2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то "дрогнула рука" и про это узнают только после разбора прод бага.
3. Контроль за занимаемыми SUT (system under test) ресурсами во время выполнения тестов:
• оперативка = утечки
• место на диске = резкий рост размера БД, большие логи, "забытые" временные файлы
• другие технические метрики
4. Тесты запускаемые всегда в одном и том же порядке могут работать успешно только "благодаря" этому порядку. И не работать, если просто начать их запускать в условно произвольном порядке*. "Война тестов" помогает найти проблемы в продакшене.
*с учетом настроек SUT и окружения.
5. Если у вас в SUT есть, например, http-запросы между клиентом и сервером, то встройте между ними, например, OWASP Zed Attack Proxy. Получите возможность дополнительной секьюрити проверки вашего API (как в пассивном, так и активном режиме)
6. Тест который сегодня "зеленый", а вчера был "красный" и никто его вчера не чинил, скорее всего предвестник "веселой" регулярной активности "а давайте его перезапустим". Подробнее про flaky tests
7. Если ваши тесты "вечнозеленые", проверьте не видите ли вы результаты одного и того же запуска, а тесты на самом деле не запускаются 🤣
Ну и подумайте, а стоит ли их запускать вообще. А может просто запускать реже.
Какие еще пункты можно добавить?
А тесты прошли успешно... |
Комментарии
Отправить комментарий