Оценка времени на тестирование, это довольно трудная задача, особенно для начинающего специалиста. И, соответственно, оценка трудозатрат, это один из самых сложных вопросов на собеседовании. Тестировщик тут не является исключением. Конечно очень большую роль здесь играет опыт, но даже его немного, то в любом случае лучше хотя бы теоретически представлять как выполнить оценку. Работодатель в этом плане хочет убедиться, что при необходимости делать оценку сотрудник как минимум не растеряется и будет представлять с чего начать, от чего отталкиваться. Ведь оценка времени своей работы, это практически первое, с чем придется столкнуться приступая к своим задачам.
В первую очередь важно представлять основные принципы и способы оценки, которые могут и должны сочетаться:
1. Собственная экспертная оценка, на основе опыта
2. Опыт и оценки коллег, других экспертов
3. Декомпозиция, выделение в большой задаче элементарных действий и оценка их по отдельности
4. Базирование оценки на статистических данных и метриках
5. Определение сложностей и рисков, которые могут увеличивать общую оценку
Далее используя перечисленные принципы нужно по шагам выполнить оценку, алгоритм и порядок действий будет следующим:
1. Сначала мы должны определить, сколько времени нужно на выполнение действий по дизайну тестов, тестированию, работе с дефектами. На этом этапе эффективнее всего ориентироваться на количество необходимых проверок.
- В первую очередь мы определяем количество тестов всех видов, которые нужно выполнить (см. раздел 7 – Дизайн кейсов).
- Далее определяем среднее время написания и выполнения одного теста, для этого применяем перечисленные выше принципы
- Прогнозируем среднее количество дефектов на 1 тест. Тут лучше всего воспользоваться статистикой для конкретных условий и системы, но если таких данных нет, то можно сделать предположение,например, на каждые 2 тест кейса прогнозируем 1 дефект
- Оцениваем время на оформление дефекта
- Далее мы определяем, где еще мы можем и будем тратить время: настройка среды тестирования, подготовка данных, время на коммуникации и т.п.
2. После выполнения предыдущего шага у нас есть все необходимые количественные данные для дальнейшего выполнения оценки. Рассчитываем сколько раз будут повторяться основные действия - выполняться каждый тест кейс, оформляться и воспроизводиться дефект. Для этого умножаем время на количество.
Если нет опыта, статистики и метрик, то тут также можно сделать предположение. Например, 1 раз мы выполняем каждый тест кейс (100% TCs), половина из них не проходит. Мы регистрируем дефект и перепроверяем исправление повторно проходя тест (50% TCs) . Половина дефектов из всех исправленных воспроизводиться, их опять исправляем и перепроверяем (25% TCs) и так далее. Итого у нас получается, что мы выполнили 200% тест кейсов (т.е. каждый тест в среднем прошли 2 раза) и оформили дефектов в количестве 50% от числа тест кейсов. Допустим на дизайн 1 теста нам нужен 1 час, на выполнение 30 мин. и на оформление дефекта также 30 мин. Тогда при 100 запланированных тестов, нам потребуется:
100TCs х (1ч. х 100% + 0,5ч. х 200% + 0,5ч. х 50%) = 225ч.
3. Затем определяем и учитываем возможные риски и прибавляем дополнительное время к общей оценке из шага 2. Риски могут быть связаны с:
- Задержками в ответах со стороны других участников процесса
- Неточностями в требованиях, которые требуют дополнительных уточнений
- Различными техническими проблемами, например, со средой тестирования
- И, разумеется, с неточностью наших предположений и допущений
Здесь приведен только краткий порядок действий при оценке и те базовые вещи, на которые мы должны обращать внимание. Более подробно вопрос оценки разобран в отдельной статье - Алгоритм оценки времени на тестирование.
Список требований к тестировщику ПО
- Требования к тестировщику ч.1: ожидания и вопросы на собеседовании
- Требования к тестировщику ч.2: процессы и этапы разработки ПО
- Требования к тестировщику ч.3: термины и определения
- Требования к тестировщику ч.4: этапы тестирования ПО
- Требования к тестировщику ч.5: среды тестирования
- Требования к тестировщику ч.6: инструменты тестирования ПО
- Требования к тестировщику ч.7: разработка тестов
- Требования к тестировщику ч.8: дефекты и ошибки ПО
- Требования к тестировщику ч.9: оценка времени на тестирование
- Требования к тестировщику ч.10: мотивация кандидата