Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_informatika_i_programmirovanie.doc
Скачиваний:
6
Добавлен:
17.09.2019
Размер:
591.87 Кб
Скачать

21.Тестирование. Понятие и цель тестирования. Правильное и неправильное определение тестирования. Основные определения. Тестирование методом «чёрного ящика». Тестирование методом «белого ящика»

Тестирование применяется для определения соответствия предмета испытания заданным спецификациям. В задачи тестирования не входит определение причин несоответствия заданным требованиям (спецификациям).

Тестирование программного обеспечения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

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

Отладка (debug, debugging)– процесс поиска, локализации и исправления ошибок в программе. Тестирование – процесс многократного повторения программы с целью обнаружения ошибок. Тестирование – составная часть отладки.

Критерии тестирования.

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

Уровни тестирования.

  1. Модульное тестирование (юнит-тестирование) — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция.

  2. Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами.

  3. Системное тестирование — тестируется интегрированная система на её соответствие требованиям.

  4. Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком..

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

Часто для свободного/открытого ПО стадия альфа-тестирования характеризует функциональное наполнение кода, а бета-тестирования — стадию исправления ошибок. При этом, как правило, на каждом этапе разработки промежуточные результаты работы доступны конечным пользователям.

Методы тестирования ПО:

  1. Статическое тестирование – ручная проверка программы за сто-лом.

  2. Детерминированное тестирование – при различных комбинациях исходных данных.

  3. Стохастическое – исходные данные выбираются произвольно, на выходе определяется качественное совпадение результатов или примерная оценка.

Тестирование по стратегии чёрного ящика.

"Чёрный ящик" - тестирование функционального поведения программы с точки зрения внешнего мира (текст программы не используется). Под «чёрным ящиком» понимается объект исследования, внутреннее устройство которого неизвестно.

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

Таким способом невозможно найти взаимоуничтожающихся ошибок. Некоторые ошибки возникают достаточно редко (ошибки работы с памятью) и потому их трудно найти и воспроизвести.

Методы стратегии чёрного ящика:

  1. Эквивалентное разбиение. Разработка тестов этим методом осуществляется в два этапа: выделение классов эквивалентности и построение теста.

  2. Анализ граничных значений. Граничные условия — это ситуации, возникающие на высших и нижних границах входных классов эквивалентности.

  3. Анализ причинно-следственных связей.

  4. Предположение об ошибке.

Тестирование по стратегии белого ящика.

"Белый ящик" - тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка, на котором она писалась.

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

Методы стратегии белого ящика:

  1. Покрытие операторов. Критерии покрытия операторов подразумевает выполнение каждого оператора программы, по крайней мере, один раз.

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

  3. Покрытие условий. Записывается число тестов достаточное для того, чтобы все возможные результаты каждого условия в решении были выполнены, по крайней мере, один раз.

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

  5. Комбинаторное покрытие условий. Это критерий требует, чтобы все возможные комбинации результатов условий в каждом решении, а также каждый оператор выполнились, по крайней мере, один раз.

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