В тестовых примерах, прямо соответствующих тест-требованиям обычно используются входные значения, находящиеся заведомо внутри допустимого диапазона. Один из способов проверки устойчивости системы на значениях, близких к предельным – создавать для каждого входа как минимум три тестовых примера:
· Значение внутри диапазона
· Минимальное значение
· Максимальное значение
Для еще большей уверенности в работоспособности системы используют пять тестовых примеров:
· Значение внутри диапазона
· Минимальное значение
· Минимальное значение + 1
· Максимальное значение
· Максимальное значение – 1
Такой способ проверки называется проверкой на граничных значениях. Такая проверка позволяет выявлять проблемы, связанные с выходом за границы диапазона. Например, если в функцию
char sum(char a, char b)
{
return a+b;
}
вычисляющую сумму чисел a и b будут переданы значения 255 и 255, то в случае отсутствия специальной обработки ситуации переполнения сумма будет вычислена неверно.
Другая область, при тестировании которой полезно пользоваться проверкой на граничных значениях – индексы массивов. Например, функция
void abs_array(char array[], char size)
{
for (int i= 1;i <= size;i++)
{
array[i] = abs(array[i]);
}
return;
}
заменяющая значение на значение по модулю у каждого элемента переданного ей массива содержит ошибку в цикле for, которая может быть легко обнаружена при передаче в функцию массива единичного размера.