Какими должны быть тестовые данные
Тестовые данные должны обеспечить проверку всех возможных условий возникновения ошибок:
- должна быть испытана каждая ветвь алгоритма;
- очередной тестовый прогон должен контролировать нечто такое, что еще не было проверено на предыдущих прогонах;
- первый тест должен быть максимально прост, чтобы проверить, работает ли программа вообще;
- арифметические операции в тестах должны предельно упрощаться для уменьшения объема вычислений;
- количества элементов последовательностей, точность для итерационных вычислений, количество проходов цикла в тестовых примерах должны задаваться из соображений сокращения объема вычислений;
- минимизация вычислений не должна снижать надежности контроля;
- тестирование должно быть целенаправленным и систематизированным, так как случайный выбор исходных данных привел бы к трудностям в определении ручным способом ожидаемых результатов; кроме того, при случайном выборе тестовых данных могут оказаться непроверенными многие ситуации;
- усложнение тестовых данных должно происходить постепенно.
Пример. Система тестов для задачи нахождения корней квадратного уравнения ax2 + bx + c = 0 :
Номер теста | Проверяемый случай | Коэффициенты | Результаты | ||
a | b | c | |||
d >0 | -2 | x1 = 1, x2 = - 2 | |||
d=0 | Корни равны: x1 = - 1, x2 = - 1 | ||||
d < 0 | Действительных корней нет | ||||
a=0, b=0, c=0 | Все коэффициенты равны нулю. х — любое число. | ||||
a=0, b=0, c<>0 | Неправильное уравнение | ||||
a=0, b<>0 | Линейное уравнение. Один корень: x = - 0,5 | ||||
a <> 0, b <> 0, с = 0 | x1 = 0, x2 = - 0,5 |
Дата добавления: 2015-08-08; просмотров: 504;