Методы тестирования программ

Принципы тестирования

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

Тестирование – процесс многократного выполнения программы с целью обнаружения ошибок. Программа тестируется для того, чтобы повысить уровень ее надежности. Цель тестирования - выявление как можно большего числа ошибок. Принципы тестирования:

1) Процесс тестирование более эффективен, если проводится не автором программы.

2) Исправление уже известных ошибок эффективней занимается сам автор.

Описание предполагаемых результатов тестовых прогонов должно быть необходимой частью тестового набора данных.

Чтобы определить правильность, необходимо знать ожидаемый результат. Иначе правдоподобные результаты тестового прогона могут быть не правильны. Таким образом, тестовый набор данных должен включать два компонента: описание входных данных и описание точного и корректного результата, соответствующего набору входных данных.

3) Необходимо досконально изучать результаты каждого теста.

4) Тесты неправильных и не предусмотренных входных данных должны разрабатываться так же тщательно как для правильно предусмотренных.

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

5) Необходимо проверять, не только делает ли программа то, для чего она предназначена, но и не делает ли она то, чего не должна делать.

6) Вероятность наличия необнаруженных ошибок в части программы пропорционально числу ошибок уже обнаруженных в этой части. Если в какой-нибудь части программы обнаружено больше ошибок чем в других, то их необходимо тестировать более тщательно.

Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требующимся в заданной области изменения входных данных. Процесс отладки включает:

1) Действия, направленные на выявление ошибок (тестирование).

2) Диагностику и локализацию ошибок.

3) Внесение исправлений в программу с целью исправление ошибок.

Процесс отладки начинается с тестовых наборов данных по определенной методике. Большая трудоЙОМКОсть тестирования приводит к необходимости систематизации процесса и методов тестирования. Можно выделить следующие методы:

1) Статический метод.

2) Детерминированное тестирование. Это наиболее трудоемкий и детализированный вид тестирования, требующий многократного выполнения программы с использованием определенных, специальным образом подобранных, тестовых наборов данных. При этом тестировании каждая комбинация исходных данных и соответствующие…

Основано на двух подходах:

Структурное тестирование (белый ящик)

Функциональное тестирование (черный ящик)

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

4) Тестирование в режиме реального времени. Программные изделия предназначенные для работы в системах реального времени должны проходить соответствующее тестирование. В процессе тестирования в реальном масштабе времени проверяются результаты обработки исходных данных с учетом времени их поступления, длительности, приоритетности обработки, динамики использования памяти и взаимодействия с другими программами. При обнаружении отклонений для диагностики и локализации ошибок фиксируется время и выполняется детерминированное тестирование.

Организации ЖЦ посвящен раздел 7. Процесс формирования инфраструктуры должны состоять из выбора и установления программных средств, определение терминологии, стандартов, используемых для разработки, сопровождения и эксплуатации. Процесс совершения ЖЦ программных средств состоят в установлении, оценивании, измерении, контроля и корректировки контроля ЖЦ программных средств. В приложении А стандарта изложены рекомендации по преобразованию и адаптации базовой структуры стандарта для конкретного проекта. В приложении Б содержится руководство по выполнению этих рекомендаций ЖЦ программных средств. Стандарт ИСО 152-71: 1998 «Руководство по применению стандарта ISO. Данный стандарт содержит подробные рекомендации по внедрению программных средств, а так же при организации работ и реализации требований стандарта ISO 122-07. Стандарт ИСО 163-24: 1999. «Руководство по применению ИСО 127 при административном управлении проектами». В этом стандарте изложены работы по поланированию и процедуры выполнения процесса административного правления.