Слайд 1Тестирование ПО
Лекция 4. Виды тестирования
Штанюк А.А., 2019
Слайд 2Верификация и валидация
Артефакт жизненного цикла ПО
Элемент информации, используемый или порождаемый
в процессе разработки ПО
Верификация
Соответствие артефактов между собой, например, код правильно
реализует архитектуру
Валидация
Соответствие артефактов нуждам потребителя
Слайд 4Обзор типов
По области:
Инсталляционный. Функциональный. Документационный.
По нагрузке:
Smoke. Бизнес-цикл. Стресс. Объем. Ресурс
Регрессия:
Регрессионный.
Нерегрессионный
По стадии:
Прототип. Unit. Компонент. Интеграция компонентов. Системный.
По требованиям:
Стабильность. Правильность данных. Законность. Производительность. Безопасность. Доступность. Восстановление после сбоя. Удобство. Конфигурация. Совместимость.
Слайд 6По стадии
Прототип, концепт: поиск изъянов дизайна, которые могут быть обнаружены
до написания кода
Unit: тестирование части кода продукта (например, вызовы функции
с различными параметрами)
Компоненты: протестировали код – протестируем компоненту, скомпилированную из него
Интеграция: (восх., нисх.) тестирование нескольких компонент с целью поиска ошибок в их взаимодействии
Система: тестирование всего продукта, где проверяется работа в целом
Слайд 8Регрессионное тестирование
Регрессионное тестирование: производится при внесении изменений на фазе системного тестирования или
сопровождения продукта.
Виды:
Корректирующее сопровождение (исправление ошибок, выполняется в ответ на
обнаружение ошибки, не требующей изменения спецификации требований)
Адаптивное сопровождение (осуществляется в ответ на требования изменения данных или среды исполнения)
Прогрессивное сопровождение (включает любую обработку с целью повышения эффективности работы системы или эффективности ее сопровождения)
Слайд 9По области
Функциональное тестирование: покрытие тестами функциональности продукта
Тестирование инсталляции: Установка, активация
удаление, модификация продукта
Тестирование документации: Проверка полноты документации, целостности и правильности
представленной информации
Слайд 10Требования
Стабильность: тестирование на предмет падений, зависаний, ошибочных сообщений пользователю. Задекларированная
функциональность должна работать
Правильность данных: продукт должен возвращать корректные данные
Скорость: тестирование
скорости работы продукта на соответствие заявленным целям
Слайд 11Конфигурационное
Конфигурационное тестирование: проверка работы при различных конфигурациях системы (архитектура, железо,
драйвера, операционные системы)
Совместимость: проверка сосуществования и корректности взаимодействия продукта с
другими продуктами
Безопасность: отсутствие вредоносного кода, защита персональных данных, поиск уязвимостей
Слайд 12Конфигурация
Законность (Legal): проверка того, что продукт не содержит вещей, конфликрующих
с законодательством и не противоречит законным интересам производителя
Устойчивость к сбоям
и восстановление при ошибках: отключение питания, сбой сетевого соединения, остановка сервиса или процесса должны вызывать минимальные последствия
Удобство использования: работа с продуктом должна быть интуитивной, интерфейсы – единообразными
Доступность: насколько использование продукта может быть доступно людям с ограниченными физическими возможностями
Слайд 13По нагрузке
Нагрузочное тестирование: поиск ошибок в системе при различных запросах
Smoke:
легкая нагрузка с целью поиска простых,
но серьезных дефектов
Бизнес-цикл: оценка способности
продукта отвечать требованиям реальных пользователей. Моделирование нагрузки, ожидаемой при обычном использовании продукта
Слайд 14По нагрузке
Ресурсное тестирование: продукт должен быть стабилен на протяжении определенного
временного периода при заданной нагрузке
Стресс тестирование: оценка способности продукта работать
в более тяжелых условиях, чем рассчитано
Объемное тестирование: оценка способности продукта работать с большими объемами данных, например, билд большого продукта, распаковка “тяжелого” архива, сбор гигабайт данных …
Слайд 15Beta и др.
Beta: Продукт почти готов, надо выявить ошибки до
выхода релиза на рынок и старта продаж:
Проверка программного обеспечения в
условиях реального мира
Оценка работы программного обеспечения
Помощь в продвижении продукта
Post Release: Продукт на рынке
Лояльность клиентов (патчи и обновления)
Репутация компании