
- •Теоретическая часть p1 Тестирование программного обеспечения
- •Несколько основных постулатов тестирования:
- •Требования.
- •Дефект.
- •Документирование и жизненный цикл дефекта
- •Теоретическая часть Тестовые артефакты.
- •План тестирования (Test Plan)
- •Тестовая стратегия (Testing Strategy)
- •Нужно ли составлять тест-план?
- •Кто должен составлять тест-план?
Теоретическая часть p1 Тестирование программного обеспечения
Существует много определения понятия Тестирование программного обеспечения. Вот несколько из них:
Glen Myers:
"Testing is the process of executing a program with the intent of finding errors"
Глен Маерс:
Тестирование это процесс выполнения программ с намерением найти ошибки.
НО: Поиск ошибок не должен находиться в центре усилий тестировщиков
Paul Jorgensen
"Testing is obviously concerned with errors, faults, failures and incidents. A test is the act of exercising software with test cases with an objective of Finding failure Demonstrate correct execution"
Пол Йоргенсен:
Тестирование сфокусировано на ошибках и сбоях. Тест - выполнение действий над ПО с целью найти ошибки или продемонстрировать работоспособность.
Вывод: Несмотря на фокус вокруг ошибок, определение вводит необходимое дополнение – демонстрация работоспособности.
Обобщённое определение тестирования
Тестирование – процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности
Преимущества данного определения:
Фокус процесса тестирования смещён в сторону проверки требований.
Уточним определение:
Тестирование – процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом
На этом определении мы и остановимся.
Несколько основных постулатов тестирования:
Задачи тестирования намного шире чем поиск дефектов
Миссия тестирования – снизить стоимость разработки путем раннего обнаружения дефектов
Тестирование программного обеспечения занимает от 30 до 50 процентов от всей стоимости разработки
Тестировать эффективно – значит решать проектные задачи в рамках процесса с применением интегрируемых решений
Тестирование не только процесс контроля, но и мощный инструмент разработки, который позволяет достичь определённого уровня качества
Основной целью процесса тестирования является достижение определённого уровня качества Продукта или Системы, которая находится в разработке
Процесс тестирования может не только выявлять и определять дефекты, но и предотвращать их
Тестирование становится процессом, эффективность которого кардинально влияет на стоимость Продукта и Сроки его выхода на рынок
Требования.
Итак, для того, чтобы приступить к тестированию, необходимо, чтобы в проекте присутствовали требования (Requirements).
Согласно IEEE 830-1998 Recommended Practice for Software Requirements Specifications (рекомендуемые методы спецификации требований к ПО), которые описывают структуру документов для фиксации требований к ПО, определяют характеристики, которыми должен обладать правильно составленный набор требований, требования должны обладать следующими свойствами:
Корректность или адекватность (соответствие реальным потребностям).
Недвусмысленность (однозначность понимания).
Полнота (отражение всех выделенных потребностей и всех возможных ситуаций, в которых придется работать системе).
Непротиворечивость (согласованность между различными элементами).
Упорядоченность по важности и стабильности.
Проверяемость (выполнение каждого требования нужно уметь проверять некоторым достаточно эффективным способом — непроверяемые требования должны быть удалены из рассмотрения или сведены к проверяемым вариантам).
Модифицируемость (оформление в удобных для внесения изменений структуре и стилях).
Прослеживаемость в ходе разработки (возможность увязать требование с подсистемами, модулями и операциям, ответственными за его выполнение, и с тестами, проверяющими его выполнение).