- •Раздел 5. Тестирование, отладка и документирование по. Тема 5.1. Методы тестирования программ.
- •5.1.1. Виды контроля качества по.
- •5.1.2. Ручной контроль по.
- •1. Контроль обращений к данным
- •2. Контроль вычислений
- •3. Контроль передачи управления
- •4. Контроль межмодульных интерфейсов
- •5.1.3. Структурное тестирование.
- •5.1.4. Функциональное тестирование.
- •5.1.5. Тестирование модулей и комплексное тестирование.
- •5.1.6. Оценочное тестирование, оценка качества программного продукта.
- •Тема 5.2. Методы отладки по.
- •5.2.1. Классификация ошибок.
- •5.2.2. Методы отладки по.
- •5.2.3. Интегрированные средства отладки.
- •Тема 5.3. Документирование и оценка качества программных продуктов.
- •5.3.1. Виды программных документов.
- •5.3.2. Пояснительная записка.
- •5.3.3. Руководство пользователя.
- •5.3.4. Руководство системного программиста.
- •5.3.5. Правила оформления документации.
5.1.2. Ручной контроль по.
Ручной контроль, как указано выше, обычно используют на ранних этапах разработки. Все проектные решения, принятые на том или ином этапе, должны анализироваться с точки зрения их правильности и целесообразнос ти как можно раньше, пока их можно легко пересмотреть. Поскольку возможность практической проверки подобных решений на ранних этапах разработки отсутствует, большое значение имеет их обсуждение, которое проводят в разных формах.
Различают статический и динамический подходы к ручному контролю. При статическом подходе анализируют структуру, управляющие и информационные связи программы, ее входные и выходные данные. При динамическом - выполняют ручное тестирование, т. е. вручную моделируют процесс выполнения программы на заданных исходных данных.
Исходными данными для таких проверок являются: техническое задание, спецификации, структурная и функциональная схемы программного продукта, схемы отдельных компонентов и т. д., а для более поздних этапов - алгоритмы и тексты программ, а также тестовые наборы.
Доказано, что ручной контроль способствует существенному увеличению производительности и повышению надежности программ и с его помощью можно находить от 3.0-до 70 % ошибок логического проектирования и кодирования. Следовательно, один или несколько из методов ручного контроля обязательно должны использоваться в каждом программном проекте.
Основными методами ручного контроля являются:
инспекции исходного текста,
сквозные просмотры,
проверка за столом,
оценки программ.
Инспекции исходного текста. Инспекции исходного текста представляют собой набор процедур и приемов обнаружения ошибок при изучении текста группой специалистов. В эту группу входят: автор программы, проектировщик, специалист по тестированию и координатор - компетентный программист, но не автор программы. Общая процедура инспекции предполагает следующие операции:
участникам группы заранее выдается листинг программы и спецификация на нее;
программист рассказывает о логике работы программы и отвечает на вопросы инспекторов;
программа анализируется по списку вопросов для выявления исторически сложившихся общих ошибок программирования.
Список вопросов для инспекций исходного текста зависит, как от используемого языка программирования, так и от специфики разрабатываемого программного обеспечения. В качестве примера ниже приведен список вопросов, который можно использовать при анализе правильности программу написанных на языке Pascal.
1. Контроль обращений к данным
Все ли переменные инициализированы?
Не превышены ли максимальные (или реальные) размеры массивов и строк?
Не перепутаны ли строки со столбцами при работе с матрицами?
Присутствуют ли переменные со сходными именами?
Используются ли файлы? Если да, то при вводе из файла проверяется ли завершение файла?
Соответствуют ли типы записываемых и читаемых значений?
Использованы ли нетипизированные переменные, открытые массивы, динамическая память? Если да, то соответствуют ли типы переменных при «наложении» формата? Не выходят ли индексы за границы массивов?