Основы тестирования программного обеспечения



             

Случайные методы - часть 2


Это приведет к увеличению метрики количества отобранных тестов для случайных наборов. Наоборот, относительно редко выполняемый измененный код активируется случайными тестами реже, и соответствующая метрика снижается. При уменьшении мощности множества отобранных тестов падает эффективность обнаружения ошибок.

Когда выбранное подмножество, хотя и совершенное с точки зрения полноты и точности, все еще слишком дорого для регрессионного тестирования, особенно важна гибкость при отборе тестов. Какие дополнительные процедуры можно применить для дальнейшего уменьшения числа выбранных тестов? Одно из возможных решений - случайное исключение тестов. Однако, поскольку такое решение допускает произвольное удаление тестов, активирующих изменения в коде, существует высокий риск исключения всех тестов, обнаруживающих ошибку в этом коде. Тем не менее, если стоимость пропуска ошибок незначительна, а интервал тестирования велик, целесообразным будет использование случайного метода с небольшим процентом выбираемых тестов (25-30%), например, random(25).

Вернемся к примеру регрессионного тестирования функции решения квадратного уравнения. Случайный метод, такой, как random(40), может отобрать для повторного выполнения любые 2 теста из 5. Например, если будут выбраны тесты 4 и 5, изменения формата вывода на экран не будут протестированы вовсе, что вряд ли может устроить разработчика.

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




Содержание  Назад  Вперед