Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_prikl.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
900 Кб
Скачать
☆

5.3. Ход тестирования

В процессе тестирования программного обеспечения осуществляются следующие виды деятельности:

Ручной прогон. На этом шаге программист с помощью ка­рандаша и листа бумаги моделирует прохождение данных через программу. При изучении текста программы от начала до конца, трудно проверить всевозможные комбинации данных. Самое боль­шее, что можно сделать на практике, - проверить всевозможные типы или наиболее вероятные наборы комбинаций данных. Если они дают правильные результаты, предполагается, что непроверен­ные комбинации также дадут правильные результаты.

Проектирование тестов. Является наиболее ответст­венным процессом. Очень часто тест создается вручную. Иногда применяют генераторы тестовых данных - специальные програм­мы, формирующие данные в соответствии со спецификациями, задаваемыми программистом. Тестовые данные могут систематиче­ски или случайно выбираться из другого заданного набора данных для уменьшения их общего количества.

Выполнение тестов. На этом этапе осуществляется про­верка всех возможных алгоритмов специально подготовленными тестами, а также выявляется, насколько интерфейс программы вы­держит реальную нагрузку. Проблема заключается в том, что тес­тирование происходит на очень ограниченных объемах данных. Когда база данных будет насчитывать десятки, а то и сотни тысяч записей, скорость выполнения запросов пользователей может стать неприемлемой.

Изучение результатов тестирования. Выявление и устранение ошибок часто имеет циклический характер. Устране­ние одной ошибки может порождать другие ошибки. Особенно это касается работы с глобальными переменными, которые коварны тем, что нельзя сказать с полной уверенностью, что где-то на ниж­нем уровне подпрограмм изменение состояния переменной не при­ведет к новой ошибке.

5.4. Автономное тестирование модулей программы

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

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

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

  1. по внешним спецификациям модуля готовятся тесты для ка­ждой ситуации и каждого недопустимого условия;

  2. просматривается текст модуля с целью убедиться, что все ус­ловные переходы будут выполняться в каждом направлении. При необходимости добавляются соответствующие тесты;

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]