В последнее время появились несколько тестов, которые то падают то нет.
И вот возник вопрос, как проверить стабильность тестов чисто технически?
Понимаю, что такой подход не совсем корректен, но все же интересно.
Идет на ум что то типа:
Нагрузить сеть трафиком
Нагрузить проц.
и запустить тесты. Смотреть как себя поведут. Найти по факту слабые места.
Тесты на java + selenide. waitUntill и shouldBe использую повсеместно.
Может кто занимался таким, поделитесь
Несовсем ясно что вы имеете ввиду под “нестандартным”
Если тест падает то алгоритм такой
Изучить причину падения, есть вероятность что это может быть плавающий баг или например ваши тесты гоняются по ночам и как раз на это время попадает какойто системный рестарт который длится очень недолго, но попадает как раз на эти тесты, утром вы приходите и неможете воспроизвести падение, у нас были такие кейсы.
Изучить условия когда происходит падение, возможно проблема возникает когда вы гоните тесты в 50 потоков и ваше дев. окружение не справляется в некоторых моментах, я встречал и такие кейсы.
Для того чтобы проверить стабильность, прогоните тесты которые падают, 100 раз и помониторте логи, возможно там какойто хитрый баг который реально 1 раз на 50 случаев может быть, а возможно вы за время рана предыдущими тестами подгружаете систему и там где вам нужно было 5 секунд ожидания теперь требует 10.