Уровни тестирования и виды тестирования.
Уровни тестирования:
- Тестирование модуля. Выявление ошибок в минимальных элементах программной системы. Выполняется по мере разработки модулей
- Интегрированное тестирование. Тестируется взаимодействие между компонентами, в том числе и сторонними
- Системное тестирование. Тестирование разработанной системы в целом. Цель проверить, что все системные элементы объединены и выполняют заданные функции. Может выполняться в моделируемой или реальной среде
- Приемо-сдаточное тестирование. Проверка готовности для использования конечными пользователями. Цель – подтвердить, что функции, описанные в спецификациях соответствуют ожиданиям пользователей. Альфа-тестирование – заказчиком в организации разработчика. Бета-тестирование – выполняется конечными пользователями.
Виды тестирования:
- Тестирование функциональности (functionality testing)
¨ Функциональные тесты (function test). Выявляют ошибки в реализации требуемых функций. Эти тесты выполняются для модулей, интеграции компонентов, приложений и систем в целом
¨ Тесты безопасности (security test). Проверка того, что данные и функции системы доступны только тем актантам, которым они предназначены. Выполняются на всех уровнях тестирования
¨ Тесты предельных значений (volume test). Тестируется возможность обработки максимальных объемов данных
- Тестирование практичности/удобства (usability testing). Включает тестирование удобства пользовательского интерфейса, всех видов эксплуатационной документации (включая оперативную документацию)
|
|
- Тестирование надежности (reliability testing)
¨ Тесты интеграции (integrity). Дают оценку устойчивости к ошибкам отдельных модулей и их сборок
¨ Тесты структуры (structure). Например, в веб-приложении проверяется корректность всех ссылок, определяется правильность предоставления информации
¨ Стрессовые (stress) тесты. Проверяется работоспособность приложения в «ненормальных» условиях (превышение загрузки, недостаток памяти, недоступные устройства, недоступные внешние компоненты)
- Тестирование производительности (performance testing)
¨ Сравнительные (benchmark) тесты. Сравнение производительности разрабатываемой системы со сторонними системами
¨ Тесты конфликтов (contention). Тестирование одновременного доступа актантов к одним и тем же ресурсам (БД, память, и т.д.)
¨ Нагрузочные (load) тесты. Тестирование границ приемлемого выполнения функций под изменяющейся нагрузкой. Эмулируются средние и пиковые нагрузки. Анализируется время ответа и время реакции системы на запросы (реакция системы – некоторые ответные действия системы, не обязательно ответ на запрос).
|
|
- Тестирование сопровождаемости (supportability testing)
¨ Тесты конфигурирования (configuration). Проверяется правильность функционирования при различных конфигурациях программного обеспечения и аппаратуры.
¨ Тесты инсталляции (installation). Тесты возможности инсталляции системы при различных конфигурациях программного обеспечения и аппаратуры.
Стратегия тестирования.
Принцип «черного ящика» (по спецификациям – формальное тестирование).
- анализируются спецификации входных и выходных данных и т.д., тесты должны охватить все варианты входных и выходных данных.
Проблемы:
1. Большое количество тестов. Надежность проверяется всеми возможными последовательностями с анализом поведения.
2. Полное тестирование выполнить невозможно.
В теории графов имеется понятие циклическое число – количество независимых путей выполнения процедуры. Независимые пути – это пути, которые различаются хотя бы одной ветвью управления. Циклическое число равно количеству ветвлений плюс одно ветвление: V(G) = P + 1.
Проблемы, связанные с проводимыми тестами:
1. долгое время подготовки тестов;
2. долгое время исполнения тестов;
3. возможные ошибки при составлении тестов и анализе результатов;
|
|
4. отсутствие контроля спецификаций;
5. отсутствие контроля отсутствующих путей;
6. пропуск ошибок из-за чувствительности к данным.
Количество всевозможных комбинаций входных данных превышает количество путей.
Вывод: полное тестирование невозможно.
Принцип «белого ящика» (по коду – содержательное тестирование).
- анализируется логика по тексту программы; требование к тесту – прохождение по всем ветвям пути, хотя бы один раз.
Проблемы:
1. При тестировании всей программы нет проверки на соответствие спецификациям.
2. Отсутствие необходимых путей (рассматриваются не все варианты, только те, что в коде)
3. Чувствительность к данным.
4. При большом количестве ветвлений в программе количество вариантов для тестирования становится непомерно большим.
Вывод: Очень много всевозможных путей, следовательно, полное тестирование невозможно.
Дата добавления: 2018-06-01; просмотров: 300; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!