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



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

- Тестирование модуля. Выявление ошибок в минимальных элементах программной системы. Выполняется по мере разработки модулей

- Интегрированное тестирование. Тестируется взаимодействие между компонентами, в том числе и сторонними

- Системное тестирование. Тестирование разработанной системы в целом. Цель проверить, что все системные элементы объединены и выполняют заданные функции. Может выполняться в моделируемой или реальной среде

- Приемо-сдаточное тестирование. Проверка готовности для использования конечными пользователями. Цель – подтвердить, что функции, описанные в спецификациях соответствуют ожиданиям пользователей. Альфа-тестирование – заказчиком в организации разработчика. Бета-тестирование – выполняется конечными пользователями.

Виды тестирования:

- Тестирование функциональности (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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!