Функциональные точки (Function Point Analysis, FPA)
Подход предполагает разбиение всего проекта на отдельные функциональные блоки и оценку каждого из них по определенным критериям. В подходе рассматриваются функции двух типов: функции данных и функции транзакций. Под функциями данных подразумеваются:
- Внутренние логические файлы
- Файлы внешнего интерфейса
Функции данных состоят из внутренних и внешних ресурсов, которые влияют на систему.
Транзакционные функции подразделяются на:
- Внешние входы
- Внешние выходы
- Внешние запросы
Функции транзакции состоят из процессов, которыми обмениваются пользователь, внешние приложения и измеряемое приложение.
ПлюсыМетод предполагает графическое отображение функций данных и функций транзакций посредством блок-схемы, в которой можно отметить также и интеграционное взаимодействие.
МинусыМетод предполагает графическое отображение функций данных и функций транзакций посредством блок-схемы, в которой можно отметить также и интеграционное взаимодействие.
Разделение на подзадачиПредполагает детальное разбиение всего проекта на маленькие задачи. Каждая из них оценивается отдельно, а затем суммируются все оценки для получения общего времени тестирования.
ПлюсыДекомпозиция задач позволяет разбить сложный процесс оценки функциональности на задачи меньшего размера для более качественной оценки.
Минусы- Разделение на подзадачи процесс не из легких и может занять достаточно времени.
- Оценка является субъективной, не подкрепленной математической составляющей.
- Не используется, как самостоятельный метод, скорее будет хорошим помощником для других методов оценки.
Planning poker (Scrum poker)Каждый член команды получает колоду карт с числами (обычно это числа Фибоначчи). Затем обсуждается каждая задача проекта по отдельности. Участники команды одновременно показывают карту с числом, которое, по их мнению, отражает сложность задачи. Если оценки сильно разнятся, проводится обсуждение для достижения консенсуса. В итоге получается оценка времени на тестирование всего проекта.
ПлюсыПредполагает участие всей команды, что позволяет составлять комплексную оценку по экспертным мнениям (разработчика, аналитика и тестировщика).
Минусы- От всех участвующих в оценке требуется погружение в оцениваемый функционал, чтобы просчитать все интеграции, риски и узкие места. Без погружения даваемая оценка может быть поверхностной, и методика будет бесполезной.
- Оценка напрямую зависит от опытности оценивающего и знание функционального модуля.
- Нужно закладывать время на проведение оценки для всей команды.
Методика «PERT» (Program Evaluation and Review Technique)Предполагает составление трех оценок для каждой задачи — оптимистической, пессимистической и реалистичной. Затем вычисляется средневзвешенное значение, которое используется как окончательная оценка.
ПлюсыРассматриваются сроки в разрезе трех параметров — в наилучшем, наихудшем и наиболее вероятном, в этом случае можно наиболее точно определить срок выполнения тестирования по формуле — Pert = (Трудозатраты худшей ситуации + Трудозатраты лучшей ситуации + 4 * Трудозатраты правдивые) / 6.
Минусы- Успешность использования метода зависит от корректности рассчитанных изначальных параметров, при неточности определения затраченного времени вся методика может быть бесполезной — важным критерием успешности является опыт тестировщика и знание модулей тестирования.
- Метод PERT предполагает, что одна задача должна завершиться, и только затем может начаться другая.
После выбора методики необходимо соотнести ее с факторами, также влияющими на корректную оценку затраченного времени на тестирование на проекте, которые могут корректироваться или дополняться в зависимости от команды и ее приоритетов- для упрощения, тип тестирования в таблице будет заменен на аббревиатуры ФТ (Функциональное тестирование), ИТ (Интеграционное тестирование) и РТ (Регрессионное тестирование) соответственно: