Информатика. Учебное пособие

Какими должны быть тестовые данные?


Тестовые данные должны обеспечить проверку всех возможных условий возникновения ошибок:

  • должна быть испытана каждая ветвь алгоритма;
  • очередной тестовый прогон должен контролировать нечто такое, что еще не было проверено на предыдущих прогонах;
  • первый тест должен быть максимально прост, чтобы проверить, работает ли программа вообще;
  • арифметические операции в тестах должны предельно упрощаться для уменьшения объема вычислений;
  • количества элементов последовательностей, точность для итерационных вычислений, количество проходов цикла в тестовых примерах должны задаваться из соображений сокращения объема вычислений;
  • минимизация вычислений не должна снижать надежности контроля;
  • тестирование должно быть целенаправленным и систематизированным, так как случайный выбор исходных данных привел бы к трудностям в определении ручным способом ожидаемых результатов; кроме того, при случайном выборе тестовых данных могут оказаться непроверенными многие ситуации;
  • усложнение тестовых данных должно происходить постепенно.
  • Пример. Система тестов для задачи нахождения корней квадратного уравнения ax2 + bx + c = 0 :

    Номер теста



    Проверяемый случай

    Коэффициенты

    Результаты

    a

    b

    c

    1

    d >0

    1

    1

    -2

    x1 = 1, x2 =  - 2

    2

    d=0

    1

    2

    1

    Корни равны:  x1 = - 1, x2 =  - 1

    3

    d < 0

    2

    1

    2

    Действительных корней нет

    4

    a=0,   b=0,   c=0

    0

    0

    0

    Все коэффициенты равны нулю.   х — любое число.

    5

    a=0,   b=0,   c<>0

    0

    0

    2

    Неправильное уравнение

    6

    a=0,   b<>0

    0

    2

    1

    Линейное уравнение.   Один корень:   x = - 0,5

    7

    a <> 0,   b <> 0,   с = 0

    2

    1

    0

    x1 = 0,   x2  =  - 0,5



    Содержание раздела