Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
5
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Мгт. Ошибкоопасные ситуации при работе с файлами.

Минимально грубое тестирование

МГТ представляет собой критерий покрытия решений/условий, усиленный дополнительными требованиями по проверке циклов

Преимущество – строится в виде таблицы - контроль степени выполнения критерия и тесты для проверки именно нужных частей программы

Для каждого условного оператора создаются 2 строки - для ветви «то» и ветви «иначе», если в условном операторе стоит сложное условие, то добавляют по 2 строки на каждое простое условие

Для каждого оператора выбора записывается столько строк, сколько он имеет ветвей, включая ветвь «иначе»

Для каждого цикла с предусловием создаются 3 строки - для нулекратного, однократного и многократного повторения тела цикла, если в цикле с предусловием стоит сложное условие, то добавляют по 2 строки на каждое простое условие

Для каждого цикла с постусловием создаются 3 строки - для нулекратного, однократного и многократного повторения тела цикла, если в цикле с постусловием стоит сложное условие, то добавляют по 2 строки на каждое простое условие

Для каждого цикла со счетчиком создаются 3 строки - для нулекратного, однократного и многократного повторения тела цикла, если в цикле со счетчиком стоит сложное условие, то добавляют по 2 строки на каждое простое условие

Ошибкоопасные ситуации при работе с файлами:

- запись/чтение двоичных файлов (путаница между файлами разного вида), в дисковом файле не сохраняется информация о том, какого типа данные в нем записаны

- создание файлов с данными с помощью текстового редактора, просмотр файлов с данными с помощью текстового редактора (путаница текстовых и двоичных файлов), в текстовом файле хранится последовательность литер, с помощью которых изображаются целые числа, а в типизированном – их внутреннее представление

- запись/чтение нетипизированных файлов (данные могут быть записаны в файл как значения одного типа, а прочитаны как значения другого – еще одна возможность обойти типовый контроль)

- запись в файл (отсутствие явного закрытия файла), возможно, что содержимое последнего заполненного буфера не будет вытолкнуто в файл.

  1. Ошибкоопасные ситуации при обращении к данным.

- неинициализированная переменная, используется до того, как ей было присвоено значение, появление «мусорных» значений

- неверная инициализация (автоматическая)

- выход индекса за границу измерения

- побочный эффект при изменении глобальной переменной при выполнении подпрограммы (требует повышенного внимания, часто не является ошибкой)

- «висячая ссылка» (использование ссылочной переменной), переменная ссылочного типа указывает на область памяти, которая уже возвращена системе, «нехорошо», когда эта область уже перераспределена под другую переменную

- схожие имена переменных (не является ошибкой)

- несколько полей записи с вариантами используется для обращения к одной и той же области памяти при отсутствии контроля за типизацией (само по себе не ошибка, значение типа может быть прочитано или откорректировано как другой тип)

- использование нетипизированного указателя (динамическая переменная, на которую ссылается данный указатель, в разных местах программы может трактоваться как переменная разных типов)

- обращение к одной и той же области памяти из разных модулей (не ошибка, все ли модули рассматривают переменную в одном и том же смысле?)

- использование типизированных констант в Турбо-Паскале (может менять свое значение)

- использование переменных, не имеющих явного описания (неверно введенное имя, какой тип?, какова область действия?)