Тест-план
Тест план (Test Plan) = документ, описывающий весь объём работ по тестированию: описания объекта тестирования, стратегии, критериев начала и окончания тестирования, необходимое оборудование и знания, оценки рисков с вариантами их разрешения.
В общем случае тест-план призван ответить на следующие вопросы:
- Что НАДО тестировать?
- Что БУДЕМ тестировать? Привет, Тест-Аналитик.
-
КАК будем тестировать? Привет, Тест-Дизайнер.
- КОГДА будем тестировать? Оценка трудозатрат и сроков.
- Какие РИСКИ возможны? Какие затраты времени, средств и труда они могут повлечь. Степень их влияния на исход проекта, прописать мероприятия по нейтрализации последствий срабатывания рисков
Оценка трудозатрат
- Что оцениваем:
- Человеческие умения: знания и опыт членов команды. Сильно влияют на оценку.
- Ресурсы: людские, технические, и т.д.
- Время
- Стоимость: бюджет.
-
Кто может сделать оценку?
- Тест-аналитик
- Тестировщик
- ...
-
Методы оценки трудозатрат:
-
Экспертный — тестировщик знает функции системы, знает архитектуру системы, имеет представление о сути доработки. Плюсы/минусы/время на оценку
-
Метод трёх точек (3-point estimation) — метод, который был разработан в NASA для расчёта временных затрат в проектах с уникальными задачами в условиях неопределённости и при наличии нескольких типов рисков. Используется в IT достаточно широко.
Для того, чтобы начать применять этот метод, нужно проанализировать предмет доработки и описание реализации. Попытаться провести аналогии с ранее выполненными задачами с похожим скоупом. Определить риски и описать мероприятия по устранению этих рисков (что делаем, если сработал тот или иной риск).
WM = (O + 4*BG + P) / 6
BG (best guess) — Вероятное время, или средняя продолжительность выполнения аналогичной задачи, при условии, что вы выполните её 100 раз.
О (opitimistic) — Оптимистичное время выполнения задачи, если все пойдет хорошо. Т.е. если не наступил ни один из выявленных и зафиксированных рисков.
Р (pessimistic) — Пессимистичное время выполнения задачи, если сработали все выявленные риски.
WM (weighted mean) — взвешенное значение с учетом рисков и последствий воздействия негативных и позитивных факторов.
SD (standard deviation) — стандартное отклонение, используемое для расчета вероятностей.
Как видим, суть метода сводится к тому, что мы предполагаем, что с вероятностью 4/6 всё пойдёт так, как было и ранее в подобных случаях, с учётом менее вероятных (по 1/6) отклонений в стороны "всё будет плохо" и "всё пройдёт идеально".
Чего позволяет добиться метод трех точек:
- Точности (используется 3 оценки вместо одной)
- Повышения ответственности членов команды за оценку, поскольку они должны учитывать риски
- Получить описание рисков в каждой задаче
-
Декомпозиция доработок — Тестировщик знает, какие модули (архитектурные компоненты) были затронуты доработкой.
За неимением Аналитиков, требуется Тестировщикам и Разработчикам:
- составить список компонентов системы (скрипты, формы, плагины, веб-сервисы, JOBы и т.п.)
- составить список БП, проходящих по Системе
- составить список тест-кейсов, покрывающих БП, проходящих по Системе
- встретиться и построить матрицу соответствия БП <-> компонент
Это даёт возможность при передачи Сборок в Тестирование — чётко понимать какие тест-кейсы надо пройти
-
Оценка на основе затрат на Разработку:
время на тестирование = время на разработку * 2K, где К — коэффициент функциональной сложности разрабатываемой фичи
-
Прямые подсчёты с ипользованием пунктов "a" и "b" но без субъективных коэффициентов,
требуется статистика по природе выявленных ошибок в предыдущих спринтах и соответствующему их количеству.
На что уходит время тестировщика
Из собственного опыта: для учёта времени при планировании, полезно определиться и подсчитать — на что в общем случае уходит время тестировщика:
- разгребание авгиевых почт и мессенджеров
- вникание в ТЗ/ФТ Задачи
- составление вопросов и ожидание ответов от Составителей ТЗ/ФТ
- составление/актуализация/дополнение тест-кейсов к Задаче (в отсутствие Аналитиков)
- подготовка/проверка предусловий/предустановок в Системе (в отсутствие Администраторов Системы)
- тестирование Задачи
- составление багрепортов по выявленным ошибкам/недочётам
- ожидание фиксов по выявленным и зарепорченным ошибкам. (это время может идти параллельно, если затык по одной задаче — репортим и берём следующую пока та в режиме ожидания фиксов)
- тестирование пофикшенных багов
- оформление отчёта о тестировании
- помощь коллегам по цеху, консультации с ними по рабочим вопросам
- мероприятия внутри отдела тестирования — совещания, митинги, обучение, праздники и т.п.
- мероприятия вне отдела тестирования — совещания по другим проектам, демонстрации, обучение, праздники и т.п.
Многое из перечисленного, помимо собственно анализа Задачи и ея тестирования, — может "съедать" значительную часть рабочего времени.