Раздел 1: «Общие навыки» Тема 3 «Оценка трудозатрат при тестировании» Доменное тестирование. Цель доменного тестирования. Подходы к достижению цели. Работа с переменными. Полезные трюки. Каждый раз при поступлении новой задачи возникают вопросы: Как много времени понадобится на её решение? Когда всё будет готово? Можно ли выполнить задачу к такому-то сроку? Каковы наиболее оптимистичный и пессимистичный прогнозы по времени решения? Любая оценка – лучше её отсутствия Даже в случае ошибочности оценки вы получаете как минимум опыт. Самая большая опасность – оптимизм Больничные, отпуска Написание отчётов, писем Проведение собраний Инсталляцию билда, решение проблем Задержки в поставке билда Верификацию исправленных дефектов Работу с требованиями Обмен опытом (дискуссии) «Полгода!? Да вы с ума сошли!!!» Оценка всегда приводится на основе фактов и аргументов. Учиться оценивать проще всего на практике Да, начинать тяжело. Но сейчас это, по крайней мере, безопасно . У вас мало (нет) опыта? Есть выход! Сформируйте оценку Запишите полученное Решите задачу Сверьтесь с оценкой Учтите ошибки при новых оценках Хорошая новость! Оценивать можно уже сейчас! Пока вы не несёте реальной ответственности . Основная идея Точно понять, что надо сделать. Точно оценить. Оценка на основе тесткейсов… Достаточно точна Проста для начинающих Прозрачна (никакой мистики) Широко применяется Проверена: работает на множестве проектов Алгоритм работы Разделить задачу на фрагменты Подсчитать число тестов Учесть создание и число проходов Учесть СВОЮ производительность Учесть другие задачи «Ха, так тут всего три теста!» Частая проблема начинающих тестировщиков: видение только поверхностных тестов. • Нарабатывать опыт. • «Смотреть вглубь». • Вводить в оценку поправочный коэффициент на «неучтённые тесты». Шаг 1: «Разделить задачу на фрагменты» Чек-лист (обобщённый) Создание пользователя Удаление пользователя Редактирование пользователя Поиск пользователя Управление правами пользователя Шаг 2: «Подсчитать число тестов» Кто-то ещё сомневается в полезности чек-листов? Пункт из чек-листа Примерное количество тестов Создание пользователя 15 Удаление пользователя 5 Редактирование пользователя 20 Поиск пользователя 10 Управление правами пользователя 30 ИТОГО 80 тестов (примерно!) «Система должна управлять платежами» Похоже, это требование не делится на ясные, понятные отдельные составляющие. Значит – мы нашли проблему в требованиях. Значит – надо задать уточняющие вопросы и улучшить требования. Шаг 3: «Учесть создание и число проходов» Некоторые тесты могут уже существовать. Модуль Создать Выполнить Проходов ИТОГО Управление пользователями 50 80 3 240 ПОДСКАЗКА Количество проходов для тестирования новой функции на стабильном проекте: • Простая функция: 1-1.5 (не все тесты повторяются) • Функция средней сложности: 2 • Сложная функция: 2-3-5 Шаг 4: «Учесть СВОЮ производительность» На оценку влияет… • Профессионализм и опыт тестировщика. • Подход к тестированию: исследовательское или по тесткейсам. • Проект: • Производительность приложения. • Количество шагов в типичном тесте. • Формат представления тестов (не все форматы одинаково удобны для работы) Измерить! Тестов в час Тестов в день Написание тестов Выполнение тестов Типичная ошибка Итак, мне надо 10 минут на один тест. Так что: 50 тестов создать = 500 минут 240 тестов выполнить = 2400 минут Получается: 2900 минут (округлим до 3000 для надёжности) = 50 часов = 6.25, т.е. за семь рабочих дней точно справимся! Алгоритм работы Разделить задачу на фрагменты Подсчитать число тестов Учесть создание и число проходов Учесть СВОЮ производительность Учесть другие задачи Шаг 5: «Учесть другие задачи» • • • • • • Верификация исправленных ошибок. Написание отчётов об ошибках. Написание иных отчётов. Переписка. Собрания. Риски (болезнь, проблемы с билдами, неучтённые тесты, задержки билдов и т.п.) • И т.д. Полезные трюки • Считать не «тестов в час», а «тестов в день» (обычный рабочий день, когда приходится решать множество задач). • Считать «тестов в час» + добавлять некоторый процент времени на решение остальных задач. • Считать «тестов в час» + добавлять конкретные значения времени на решение каждой задачи (для простых и понятных задач). Реальные цифры By Alena Yermokhina, EPAM • Тестов в день: 10-15-30-50-60-80 • Написание отчётов о дефектах: 15%-20%-30% • Остальные задачи: 0%-20%-25%-30% • Минут на один тест: 3-5-10-30 Как стать экспертом в оценке Оценивать Учитывать полученный опыт Делать и собирать статистику Сравнивать факты и оценку Есть вопросы? Давайте обсудим! При подготовке презентации использованы материалы тренингов Alena Yermokhina (EPAM)