Существуют ли рамки тестирования, допускающие процент отказов? - PullRequest
1 голос
/ 27 апреля 2011

При чтении вопроса о тестировании Java-программы несколько раз со случайными начальными числами слово «тестирование» вызвало в моей памяти связь с модульным тестированием, но это могло быть не то, что происходило там..

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

Например, код не проходит модульный тест один раз каждые 10 ^ n при n> 3, и постепенно вы хотите, чтобы n переходил в бесконечность, а тест не становился красным, может быть желтоватым.

Другим примером может быть системавсесторонний тест, в котором в большинстве случаев дела идут хорошо, но вы все еще хотите ограничить / узнать, как часто они могут идти не так.

Итак, мой вопрос, есть ли какие-либо фреймворки (полный спектр тестирования)?что можно убедить, чтобы процент отказов в огромном / чрезмерном количестве повторных тестов составлял?

1 Ответ

2 голосов
/ 27 апреля 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...