- •«Уральский промышленно-экономический техникум»
- •Технология разработки программного обеспечения: тестирование
- •Структурный метод (метод «Белого (стеклянного) ящика»)
- •Поведенческий метод «Черного ящика»
- •Метод регрессивного тестирования
- •Метод «Серого ящика»
- •Метод опытной эксплуатации
- •Тестирование эргономичности
- •Метод анализа граничных значений
- •Метод тестирования таблицы решений
- •Метод эквивалентного разбиения
- •Отладка программы
- •7.1. Процессы жц верификация и валидация программ
- •7.2. Тестирование программ
- •7.2.1. Статические методы тестирования
- •7.2.2. Динамические методы тестирования
- •7.2.3. Функциональное тестирование
- •7.3. Инфраструктура процесса тестирования пс
- •7.3.1. Методы поиска ошибок в программах
- •7.3.2. Классификация ошибок и тестов
- •7.3.1. Служба тестирования пс
- •7.3.2. Управление процессом тестирования
7.2.3. Функциональное тестирование
Цель функционального тестирования - обнаружение несоответствий между реальным поведением реализованных функций и ожидаемым поведением в соответствии со спецификацией и исходными требованиями. Функциональные тесты должны охватывать все реализованные функции с учетом наиболее вероятных типов ошибок. Тестовые сценарии, объединяющие отдельные тесты, ориентированы на проверку качества решения функциональных задач.
Функциональные тесты создаются по внешним спецификациям функций, проектной информации и по тексту на ЯП, относятся к функциональным его характеристикам и применяются на этапе комплексного тестирования и испытаний для определения полноты реализации функциональных задач и их соответствия исходным требованиям.
В задачи функционального тестирования входят:
идентификация множества функциональных требований;
идентификация внешних функций и построение последовательностей функций в соответствии с их использованием в ПС;- идентификация множества входных данных каждой функции и определение областей их изменения;
построение тестовых наборов и сценариев тестирования функций;
выявление и представление всех функциональных требований с помощью тестовых наборов и проведение тестирования ошибок в программе и при взаимодействии со средой.
Тесты, создаваемые по проектной информации, связаны со структурами данных, алгоритмами, интерфейсами между отдельными компонентами и применяются для тестирования компонентов и их интерфейсов. Основная цель - обеспечение полноты и согласованности реализованных функций и интерфейсов между ними.
Комбинированный метод "черного ящика" и "прозрачного ящика" основан на разбиении входной области функции на подобласти обнаружения ошибок. Подобласть содержит однородные элементы, которые все обрабатываются корректно либо некорректно. Для тестирования подобласти производится выполнение программы на одном из элементов этой области.
Предпосылки функционального тестирования:
корректное оформление требований и ограничений к качеству ПО;
корректное описание модели функционирования ПО в среде эксплуатации у заказчика;
адекватность модели ПО заданному классу.
7.3. Инфраструктура процесса тестирования пс
Под инфраструктурой процесса тестирования понимается:
выделение объектов тестирования;
проведение классификации ошибок для рассматриваемого класса тестируемых программ;
подготовка тестов, их выполнение и поиск разного рода ошибок и отказов в компонентах и в системе в целом;
служба проведения и управление процессом тестирования;
анализ результатов тестирования.
Объекты тестирования - компоненты, группы компонентов, подсистемы и система. Для каждого из них формируется стратегия проведения тестирования. Если объект тестирования относится к "белому ящику" или "черному ящику", состав компонентов которого неизвестный, то тестирование проводится посредством ввода внего входных тестовых данных для получения выходных данных. Стратегическая цель тестирования состоит в том, чтобы убедиться, что каждый рассматриваемый входной набор данных соответствует ожидаемым выходным выходных данным. При таком подходе к тестированию не требуется знания внутренней структуры и логики объекта тестирования.
Проектировщик тестов должен заглянуть внутрь "черного ящика" и исследовать детали процессов обработки данных, вопросы обеспечения защиты и восстановления данных, а также интерфейсы с другими программами и системами. Это способствует подготовке тестовых данных для проведения тестирования.
Для некоторых типов объектов группа тестирования не может сгенерировать представительное множество тестовых наборов, которые демонстрировали бы функциональную правильность работы компоненты при всех возможных наборах тестов.
Поэтому предпочтительным является метод "белого ящика", при котором можно использовать структуру объекта для организации тестирования по различным ветвям. Например, можно выполнить тестовые наборы, которые проходят через все операторы или все контрольные точки компонента для того, чтобы убедиться в правильности их работы.
