
- •Лекция 18. Область знаний «ТЕСТИРОВАНИЕ ПО» SWEBOK
- •Источники литературы
- •Тестирование программных систем (в узком смысле)
- •Область знаний «Тестирование ПО»
- •Область знаний «Тестирование ПО»
- •Область знаний «Тестирование ПО»
- •1.Основы тестирования ПО
- •1.Основы тестирования ПО
- •1.1. Терминология тестирования
- •Англоязычная терминология – сложности перевода
- •Англоязычная терминология - 2
- •Англоязычная терминология – 3
- •Терминология тестирования - 2
- •Test Case (пример)
- •Test Case (окончание примера)
- •Test-Plan (пример)
- •Тестирование в узком и широком смысле
- •Верификация
- •Верификация и валидация
- •Верификация и валидация
- •1.Основы тестирования ПО
- •1.2.Ключевые вопросы
- •1.2.1 Критерии отбора тестов/критерии адекватности тестов, правила прекращения тестирования
- •Основной вопрос тестирования
- •Когда завершать тестирование
- •1.2.2 Эффективность тестирования/Цели тестирования
- •1.2.3 Тестирование для идентификации дефектов
- •1.2.4Проблема оракула
- •1.2.5 Теоретические и практические ограничения тестирования
- •1.2.6 Проблема неосуществимых путей
- •1.2.7Тестируемость
- •1.Основы тестирования ПО
- •Отладка не является тестированием
- •1.3 Связь тестирования с другой деятельностью
- •Область знаний «Тестирование ПО»
- •2.Уровни тестирования
- •Тестирование в V-модели
- •2.1.1Модульное тестирование
- •2.1.2 Интеграционное тестирование
- •2.1.3 Системное тестирование
- •2.2. Цель тестирования
- •Цель, роль тестирования (более широкое определение).
- •Цели тестирования подробно:
- •2.2.1Приёмочное тестирование
- •2.2.2Установочное тестирование
- •2.2.3Альфа- и бета-тестирование
- •2.2.4 Функциональные тесты/тесты соответствия
- •2.2.5 Достижение и оценка надежности
- •2.2.6 Регрессионное тестирование
- •2.2.7 Тестирование производительности
- •2.2.8Нагрузочное тестирование
- •2.2.9 Сравнительное тестирование
- •2.2.10Восстановительные тесты
- •2.2.11 Конфигурационное тестирование
- •2.2.12 Тестирование удобства и простоты использования
- •2.2.13 Разработка, управляемая тестированием
- •Область знаний «Тестирование ПО»
- •3.Техники тестирования
- •Область знаний «Тестирование ПО»
- •4. Измерение результатов тестирования
- •4.1 Оценка программ в процессе тестирования
- •4.2.1 Метрики покрытия/глубины тестирования
- •Область знаний «Тестирование ПО»
- •5.Процесс тестирования
- •5.2Тестовые работы
- •5.2.1Планирование
- •5.2.2 Генерация сценариев тестирования
- •5.2.3 Разработка тестового окружения
- •5.2.4Выполнение тестов
- •5.2.5 Анализ результатов тестирования
- •5.2.6 Отчёты о проблемах/журнал тестирования
- •5.2.7 Отслеживание дефектов
- •Стандарты на тестирование программного обеспеченя
- •3.1.1 Специализированное тестирование
- •3.1.2Исследовательское
- •Источники литературы
- •3.2 Техники, базирующиеся на спецификации
- •3.2.2Анализ граничных значений
- •3.2.3Таблицы принятия решений
- •3.2.4 Тесты на основе конечного автомата
- •3.2.5 Тестирование на основе формальной спецификации
- •3.2.6 Случайное тестирование
- •3.3 Техники, ориентированные на код
- •3.3.1 Тесты, базирующиеся на блок-схеме
- •3.3.2 Тесты на основе потоков данных
- •3.3.3 Ссылочные модели для тестирования, ориентированного на код
- •3.4 Тестирование, ориентированное на дефекты
- •3.4.1 Предположение ошибок
- •3.4.2Тестирование
- •3.5 Техники, базирующиеся на условиях использования
- •3.5.1 Операционный профиль
- •3.5.2 Тестирование, базирующееся на надежности инженерного процесса
- •3.6 Техники, базирующиеся на природе приложения
- •3.7 Выбор и комбинация различных техник
- •3.7.1 Функциональное и структурное
- •3.7.1 Определенное или случайное
2.2. Цель тестирования
Общепринятое определение:
•Цель тестирования – снизить неопределённость нашего представления
окачестве программного продукта
–Другими словами, обнаружить ошибки до того, как это сделает Заказчик.
Цель, роль тестирования (более широкое определение).
• Цель тестирования – распознать дефекты в объекте тестирования и
увеличить вероятность того, что он при любых обстоятельствах
будет работать надлежащим образом в соответствии с установленными требованиями
Роль тестирования состоит в получении объективной информации, способствующей принятию более качественных деловых решений
Роль тестирования - держать в курсе всех проблем, имеющих отношение к поставке продукта.
Цели тестирования подробно:
2.2.1Приёмочное тестирование
•Проверяет поведение системы на предмет удовлетворения требований заказчика
•Это возможно в том случае, если заказчик берет на себя ответственность, связанную с проведением таких работ, как сторона, “принимающая” программную систему,
•или специфицированы типовые задачи, успешная проверка (тестирование) которых позволяет говорить об удовлетворении требований заказчика.
2.2.2Установочное тестирование
•Данные тесты проводятся с целью проверки процедуры инсталляции системы в целевом окружении.
2.2.3Альфа- и бета-тестирование
•Перед тем, как выпускается программное обеспечение, как минимум, оно должно проходить стадии
•альфа (внутреннее пробное использование) и
•бета (пробное использование с привлечением отобранных внешних пользователей) версий.
2.2.4 Функциональные тесты/тесты соответствия
•Эти тесты могут называться по разному, однако, их суть проста –
•проверка соответствия системы, предъявляемым к ней требованиям,
•описанным на уровне спецификации поведенческих характеристик.
2.2.5 Достижение и оценка надежности
•Помогая идентифицировать причины сбоев, тестирование подразумевает и повышение надежности программных систем
•Случайно генерируемые сценарии тестирования могут применяться для статистической оценки надежности.
2.2.6 Регрессионное тестирование
•Определение успешности регрессионных тестов (IEEE 610-90 “Standard Glossary of Software Engineering Terminology”) :
•“повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам”
•На практике это означает, что если система успешно проходила тесты до внесения модификаций, она должна их проходит и после внесения таковых.
2.2.7 Тестирование производительности
•Специализированные тесты проверки удовлетворения специфических требований, предъявляемых к параметрам производительности
•Существует особый подвид таких тестов, когда делается попытка достижения количественных пределов, обусловленных характеристиками самой системы и ее операционного окружения.