Use Case Points (UCP) – метод оценки трудоёмкости, первоначально разработанный Густавом Карлссоном для оценки разработки. Однако его модификации активно применяются и для оценки тестирования. В основе лежит анализ вариантов использования (use cases), а не низкоуровневых входов/выходов, как в TPA.
Базовые элементы для расчёта UCP тестирования:
Акторы (actors) – внешние сущности, взаимодействующие с системой. Каждому актору присваивается вес (простой, средний, сложный) в зависимости от протокола взаимодействия (GUI, API, файл).
Транзакции – элементарные шаги в потоке событий use case. Это может быть ввод данных, выбор из списка, нажатие кнопки, получение сообщения. Каждая транзакция добавляет определённое количество тестовых точек.
Коэффициенты сложности – поправки на технические характеристики (распределённость, производительность, безопасность) и на опыт команды.
Формула UCP для тестирования (упрощённо):
text
UCP (тестирование) = (UUCW + UAW) × TCF × EF
UUCW (Unadjusted Use Case Weight) – сумма весов транзакций по всем use cases.
UAW (Unadjusted Actor Weight) – сумма весов акторов.
TCF (Technical Complexity Factor) – на основе 15 технических факторов (например, распределённая обработка, производительность).
EF (Environmental Factor) – на основе 8 факторов среды (например, опыт команды, мотивация).
Как получить из UCP оценку в часах тестирования:
Обычно используют эмпирическую калибровку: одна точка UCP ≈ 5–20 человеко-часов тестирования (зависит от проекта).
Умножают на поправочные коэффициенты (например, на регрессионное тестирование 1.2).
Преимущества UCP:
Основан на early-артефактах (use cases), которые есть уже на стадии анализа.
Учитывает как функциональность, так и нефункциональные факторы (технические).
Прозрачен для заказчика (видно, из чего складывается оценка).
Недостатки:
Требует детальной спецификации use cases.
Коэффициенты TCF и EF частично субъективны.
Непосредственно для тестирования метод менее распространён, чем TPA.
Реальный пример:
В проекте по созданию интернет-банка было 12 use cases с 48 транзакциями и 4 акторами (клиент, администратор, оператор, внешний платёжный шлюз). UUCW = 120, UAW = 20, TCF = 1.1, EF = 1.0. Итого UCP = (120+20) × 1.1 = 154. Умножив на 6 часов на точку (калибровка прошлых проектов), получили 924 человеко-часа на тестирование. Оценка совпала с фактическими затратами с точностью 15%.
Что должен зафиксировать аналитик:
Использовать UCP для ранней (укрупнённой) оценки тестирования, когда ещё нет детальных спецификаций экранов.
Калибровать коэффициент «часы на точку» по истории завершённых проектов.
Включать в TCF отдельные нефункциональные требования.
Вывод: UCP для тестирования – полезный метод, особенно когда нужно быстро дать оценку при планировании, а детальные спецификации ещё пишутся.