инфа экзамен / Экзамен / 14
.docx14. Тестирование программ. Цель тестирования. Основные требования к тестам. Виды тестов.
Тестирование – процесс исполнения программы с целью обнаружения ошибок.
Цель тестирования – формальное доказательство корректности работы программы.
Тест - набор исходных данных, для которых вручную или другим способом просчитаны промежуточные и конечные результаты и который может быть использован для получения информации о надежности работы проверяемой программы.
Требования:
Простота (тест должен представлять собой простой набор исходных данных)
Полнота (каждый оператор программы должен выполняться хотя бы один раз)
Неизбыточность
Виды тестов:
а) Тестирование методом “черного ящика” – метод тестирования функционального поведения объекта (программы) с точки зрения внешнего мира, при котором не используется знание о внутреннем устройстве требуемого объекта (программы).
Цель: выяснение обстоятельств, в которых поведение программы не соответствует ее спецификации.
б) Функциональные тесты
Тепличные – тесты, проверяющие программы при корректных значениях входных данных
Экстремальные – тесты, проверяющие поведение программы в экстремальных ситуациях (проверки на границы области определения входных данных)
Запредельные – тесты, проверяющие ситуации, бессмысленные с точки зрения постановки задачи, которые могут произойти из-за ошибок пользователя (“просят ввести число типа int, а пользователь вводит число типа float”)
в) Методом “белого ящика”
Проверяется корректность построения всех элементов программы и правильность их взаимодействия
г) Структурные тесты
Контроль обращений к данным (типы входных и выходных значений, инициализация переменных)
Контроль вычислений (порядок следования операторов и запись выражения)
Контроль передачи управления (правильно ли завершены циклы)
Контроль промежуточных интерфейсов (не изменяет ли подпрограмма аргументы)
16.Отладка программ. Классификация ошибок. Методы поиска семантических и логических ошибок.
Отладка – это этап разработки компьютерной программы, на которой обнаруживают, локализуют и устраняют ошибки.
Классификация ошибок:
1. Синтаксические – нарушения правил языка программирования.
2. Семантические – нарушение порядка следования параметров функции, некорректное использование переменных (использование индекса, выходящего за пределы массива), ошибки вычисления (незнание приоритетов выполнения операций).
3. Прагматические или логические – нарушение логики алгоритма, ошибки алгоритма.
Методы отладки:
а) Отладка за “столом” – просмотреть программу, проверить
б) Программный способ отладки – эхо - печать входных данных, печать в ветвях, узлах программы.
Это расстановка в тексте программы отладочных печатей промежуточных результатов вычислений, позволяющих проследить логический и арифметический следы программы, то есть каким образом она выполнялась и что она вычисляла. Отладочные печати ставятся в узловых точках (это такие точки, в которых переменные меняют свои значения) программы, позволяющих контролировать ошибки ввода (эхо – печать введенных данных), результаты вычислительных операций и логику работы программы или отдельных ее частей, то есть понять, когда были получены неправильные значения. Например, такой отладочный вывод следует предусмотреть до и после завершения цикла некоторого массива значений.
в) Интегрированные средства отладки
Большинство современных средств программирования включают средства отладки. Они позволяют: предусматривать точки останова, выполнять программу по шагам, отображать содержимое любых переменных при пошаговом выполнении.
Общая методика отладки программы:
Изучение проявления ошибки (метод индукции – выявление симптомов ошибки, выдвижение гипотезы, дедукции – выявление причин, затем исключение тех причин, которые противоречат имеющимся данным)
Локализация ошибки (методом отсечения программы, отладочными средствами)
Определение причин ошибки (благодаря отладочным средствам)
Исправление ошибки
Повторное тестирование
