Правильность определения теста на ошибку (bug fix test) зависит от следующих аспектов:
- Воспроизводимость: Тест должен надежно воспроизводить исходную ошибку в версии продукта до исправления.
- Покрытие: Тест должен охватывать специфические условия и сценарии, при которых проявлялась ошибка.
- Независимость: Тест не должен зависеть от внешних факторов или состояния системы, не связанных напрямую с ошибкой.
- Атомарность: Тест должен проверять только исправление конкретной обнаруженной ошибки.
- Четкий ожидаемый результат: Ожидаемый результат теста должен быть однозначным и отражать успешное исправление ошибки.
- Стабильность: Тест должен даватьconsistentный результат при многократном выполнении на одной и той же версии продукта.
- Возврат к исходному состоянию: Тест должен cleanly восстанавливать исходное состояние системы после выполнения.
- Документация: Тест должен быть понятно документирован, включая шаги воспроизведения, окружение и ожидаемый результат.
Правильный тест на ошибку должен проходить на версии с исправлением и падать на версии с ошибкой (если это возможно эмулировать в тестовом окружении).