Тестирование софта - статьи


Сообщения об ошибках и предупреждениях


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

Отметим разницу между ошибкой и потенциальной ошибкой и опишем:

  • Ошибка — свершившийся факт нестабильной или некорректной работы приложения, проводящий к неадекватным действиям приложения или системы. Примером подобной ошибки можно считать выход за пределы массива или попытка записи данных по 0 адресу;

  • Потенциальная ошибка — в приложении имеется фрагмент кода, который при нормальном исполнении не приводит к ошибкам. Ошибка возникает только в случае стечения обстоятельств, либо не проявляет себя никогда. К данной категории можно отнести такие особенности, как инициализация массива с ненулевого адреса, скажем, имеется массив на 100 байт, но каждый раз обращение к нему производится с 10 элемента. В этом случае Purify считает, что имеется потенциальная утечка памяти размером в 10 байт.

Естественно, что подобное поведение может быть вызвано спецификой приложения, например, так вести себя может текстовый редактор. Поэтому в Purify применятся деление информации на ошибки и потенциальные ошибки (которые можно воспринимать как специфику).

Список ошибок и потенциальных ошибок достаточно объемен и постоянно пополняется. Кратко опишем основные сообщения, выводимые после тестирования:

  • Array Bounds Read Выход за пределы массива при чтении;
  • Array Bounds Write Выход за пределы массива при записи;
  • Late Detect Array Bounds Write Cообщение указывает, что программа записала значение перед началом или после конца распределенного блока памяти;
  • Beyond Stack Read Сообщение указывает, что функция в программе собирается читать вне текущего указателя вершины стека;
  • Freeing Freed Memory Попытка освобождения свободного блока памяти;
  • Freeing Invalid Memory Попытка освобождения некорректного блока памяти;
  • Freeing Mismatched Memory Сообщение указывает, что программа пробует;
  • Free Memory Read Попытка чтения уже освобожденного блока памяти;
  • Free Memory Write Попытка записи уже освобожденного блока памяти;
  • Invalid Handle Операции над неправильным дескриптором;



    Начало  Назад  Вперед