Пусть не каждый день, но довольно часто, мы сталкиваемся с задачей оценить ту или иную работу по тестированию. Вы скажете - как это связано с тестированием? Но, иногда, из-за слишком сжатых сроков приходится сверхурочно дорабатывать или сдавать некачественный продукт. Все потому, что эстимейты делали не вы, или же вы, но по какой-то причине некачественно. В докладе я расскажу об эстимации тестовых задач для тестировщиков. Как подходить к задаче и ее декомпозиции, какие приемы позволяют повысить их точность. Попробуем на примерах определить границу между хорошими эстимейтами и не очень. Также, я надеюсь, что у нас получится обсудить пару тройку интересных вопросов по этой теме.
2. Добрый вечер! Я рада вас видеть Сообщество Тестировщиков Днепропетровска – 2011
3. Estimates & Estimating - Содержание Определения Estimates и Estimating Что и Как оценивать Работа с эстимейтами Выводы Сообщество Тестировщиков Днепропетровска – 2011
4. Estimates & Estimating - Содержание Определения Estimates и Estimating Что и Как оценивать Работа с эстимейтами Выводы Сообщество Тестировщиков Днепропетровска – 2011
5.
6. The ability to accurately estimate the time and/or cost taken for a projectСообщество Тестировщиков Днепропетровска – 2011
7. Определение Estimates и Estimating Какие виды эстимейтов вы знаете? Сообщество Тестировщиков Днепропетровска – 2011
8. Определение Estimates и Estimating Предварительные Детальные Обновленные Уточненные Утвержденные Липовые Нереальные Раздутые Как Бог на душу положит Сообщество Тестировщиков Днепропетровска – 2011
11. Estimates & Estimating - Содержание Определения Estimates и Estimating Что и Как оценивать Работа с эстимейтами Выводы Сообщество Тестировщиков Днепропетровска – 2011
12. Что и Как оценивать Алгоритм Определить важность и срочность задачи Декомпозиция задачи Оценка модулейастей задачи Подсчет итогового значения Выдача результата Сообщество Тестировщиков Днепропетровска – 2011
16. Можно ли отодвинуть вашу текущую работуСообщество Тестировщиков Днепропетровска – 2011
17. Что и Как оценивать 2. Декомпозиция задачи Какие модули приложения затрагивает изменение? Какие модули получают регрессию? Какие конфигурации необходимо проверить? Какие данные необходимо подготовить? Как изменение отразится на нагрузке? Какие подготовительные работы нужно сделать? Что можно автоматизировать? Сообщество Тестировщиков Днепропетровска – 2011
20. Что и Как оценивать 3. Оценка декомпозированной задачи Тест-дизайн ( анализ требований, написание тест-кейсов) Тестирование раунд 1 Багфикс Тестирование раунд 2 Регрессия Нагрузка Сопроводительная документация Сообщество Тестировщиков Днепропетровска – 2011
21. Что и Как оценивать 4. Подсчет итогового значения Буфер - это задача ненулевой длительности, но не имеющей требования к производительности. Сообщество Тестировщиков Днепропетровска – 2011
22. Что и Как оценивать 5. Выдача результата Оцени задачу 20 - 28 часов Сообщество Тестировщиков Днепропетровска – 2011
23. 5. Выдача результата Оценка покрывает: Сама проверка функционала Проверка на разных входных данных Проверка на 3- конфигурациях (IE7 FF) Взаимодействие с модулем К Регрессия при генерация отчетов и печати страниц Также, учтен риск использования новой технологии и настройки тестового сервера. Сообщество Тестировщиков Днепропетровска – 2011
31. Estimates & Estimating - Содержание Определения Estimates и Estimating Что и Как оценивать Работа с эстимейтами Выводы Сообщество Тестировщиков Днепропетровска – 2011
32. Работа с эстимейтами Задача А: Простая правка шаблона Большое, запутанное описание 8 m/h 40 m/h Задача Б: Архитектурные изменения кода Мелкое изменение 80 m/h 8m/h Сообщество Тестировщиков Днепропетровска – 2011
33. Работа с оценками эстимейтами 20 % 80 % Сообщество Тестировщиков Днепропетровска – 2011
34. Estimates & Estimating - Содержание Определения Estimates и Estimating Что и Как оценивать Работа с эстимейтами Выводы Сообщество Тестировщиков Днепропетровска – 2011
И в сегодняшнем докладе, хочу, поделиться своим опытом и наработками в вопросе эстемирования задач тестирования.Если быть совершенно точной, это доклад о том как эстимировать, с чего начать и как успешно завершить задачу проэстимироватьфичу, да еще с выгодой для себя.Тема довольно важная, вот хотя бы мы все знаем что стоимость багинайденой на раннем этапе мала, чем на познем.Точно так же неверные естимейты, могут примести сумятицу в весь план работ. Так что будем надо работать на устранением багов в эстимировании. Нужно учиться эстимировать, что-бы не приходилось выполнять задачу по чьим-то эстимейтам.Так как я считаю что уметь эстимироватьдолжет и тестеровщики менеджер, то доклад для и тех и тех. Только с одной поправкой, для тестеровщика этого доклада будет достаточно, для менеджера однозначно нет. Это другая весовая категория, он должен уметь гораздо больше.
В первой части, я просто хочу рассказать о 4 аспектах, которые я выделяю в эстимейтах и эстимировании.
В первую очередь это оценка, т.е. грубо говоря число.Во вторых это процесс, т.е. последовательность действий которые можно описать алгоритмом.Вот например, мне понравилась фраза, о том что это оценка чего-то. Вот лазейка для сообразительности, творчества, и исследования.Третья вещь заключается в том, что это навык. Умение эффективно управляться с процессом, и получать верную оценку. О процессе будет следующая часть, а навык, это в рамках использования уже готовых эстимейтов.И четвертая вещь, о которой расскажу начав с вопроса
Брейнсторм
Ну вот только некоторые которые вы могли слышатьНо это не класификация, а просто пример, говорящий, что есть разные виды эстимейтов.Скажу только о парочке
Парочка Сжатые и Раздутые используется когда например, клиент любит торговаться и принципиально не отстанет не скостив половину, в этом случае мы раздуваем. Еще когда, надо бабла срубить побольше. Но самое важное, что сжатые уменьшеть мы не можем без риска завалить все.Парочка: предварительные и детальные\\уточненные. Разница у них в том, что у первых будет много рисков, тем для исследования и вопросов, а следовательно и вероятность изменений больше.А вот уточненные мы получаем, когда находим ответы на все вопросы.
Итак, Что и КАК эстимировать.Приступим к разбору, моего подхода
Я предлагаю, Определить важность и срочностьДекомпозироватьОценитьПосчитатьИ выдать в коробочке с бантиком.
Зачем нам нужно определять срочность и важность?Да все просто, чтобы быть эффективным и проффесионалом.Простой пример, менеджер просит оценить. А я сейчас тестирую и тут море багов. Я незакончив задачу, приступаю к эстимации. Я не на 100% сейчас эстимирую, на 100% могу сказать, что мысли деляться тут и там.В итоге, я не уверена в полноте и правильности той оценки что я дала. Мне нужно было посмкорее закончить и вернуться к тестированию.Второй вариант, менеджер ожидает что оценку я сделаю после тестирования. Через 2 часа он спрашивает где результаты тестирования, а мы вот эстимейты. Менеджер – недоволен нами, мы не сделали работу во время, мы не рады, ибо наши труды не оценили.Поэтому, менедежры говорите на когда вам нужны эстимейты, и что их сделать после тестирования 1 и до тестирования 2. А если это вам выдали задачу, спросите на когда она нужна.Еще один нюанс менеджеры любят умных подчиненных, поэтому лучше не спросить а уточнить, типа я сделаю после тестирования 1 и до тестирования 2. ок? если это важнее и надо прямо сейчас, вам об этом дадут знать. Т.е. чтобы сделать качественные эстимейты спланируйте как любую другую задучу.
При декомпозиции составтье список вопросов, которые помогут проанализировать задачу под разными углами.Например, отдельно проанализируйте тестированпия изменения и регресии.Посмотрите возможности конфигураций от ОС до профайлов.Нужно ли что-то сделать выучить до начала работы.Как поведет нагрузка И можно ли автоматизировать.Список можно продолжить. Остановитесь тогда когда новых ответов вы найти уже не сможете.Над этим списком можно работать совершенствовать и упрощать, вообщемbe my guest welcome to expiriment
Давайте рассмотрим примерУ нас есть Форма ввода данных, на которую бизнес хочет добавить возможность ввода домашнего адреса.Попробуем декомпозировать задачу. У нас появиться новое поле, значит надо будет проверить:layout, UI,переход по таляцииВоозможность ввода ограниченностьФорма просмотра\\редактирования120 DPI \\ расширения экрана\\несколько мониторовУ нас появится новые данные о клиентах, какое изменение будет на базе? Новая таблица или поле? Скорее всего поле.Было бы неплохо уточнить а не планируется поиск. Скорее всего нет. Если да то может новую таблицу чтобы была индексация? (тогда поиск надо будет естимейтить + перформанс) уточнить у аналитика.Будет ли заливка данных по уже существующим клиентам? Уточнить у аналитика, если да то тестирование скрипта.Регресия – разве что посмотреть конкурентное изменение данных. Печать\\експорт.Нагрузка – не импактится.Автоматизация возможна, если есть playbacktools
А вот более сложный пример. У нас в системе будет добавлен новый модуль Подписка на новости.Новая страница – внешний вид, навигация между модулей. Доступ только для залогиненых.Взаимодействие с модулем курсов и новосным разделом.Опять же как будем хранить информацию о подписке, тут точно будет новая таблица в системе.Как будет рассылаться смтр клиента, наше. Нам надо настроить свой тестовый. Кто настроит я умею? Варианты? Расписание и формирование подписки.Разные браузеры ХНагрузка – как минимум проверить сколько сможет сервер разослать писем.Автоматизация – силдениюм релит.
Декомпозируя задачу, мы держим фокус на том чтобы учесть весь импакт. И если при этом мы можем дать оценку – даем. Но этапе оценки фокус на времени.Еще тут может очень помощь, процесс тестирования в проекте. Так например, тестирования фичи состоит из нескольких этапом.Обратите внимение что тестирование может идти одним раундом, включая бакфикс и тестирование после него.Но обязательно обратите внимание на багфикс, с той точки, зрения какой разработчик будет делать задача, опытный или нет. Много ли делает багов. Это может быть от 20% до 100% времени первого раунда.
Ну посчитать все многут, сумма и умножение, самое важное о чем бы не забыть так это добавить буферДругими словами, буфер означает - резерв.Это не тот что добавить менеджер при планировании, это ваш тайный запасной план. Не слишком наглейте это 20-40%
Итак мы подошли к последнему пункту, выдаче результатов.Чтобы это не было так. Менеджер: дай оценкуЯ- наЧерез месяц, ой а чего 20 там же все 40.Давайте не прятать результат своих трудов.Тут наверное стоит сказать как? Первое инструментом для экспертной оценки есть вы и ваш опыт.Но можно заюзать любую тулзу для планирования.Итак простой вариант:
Соберите табличку с цифрами. И внизу небольшое самери, что войдет. Какие есть риски.О риске наткнуться на програмиста Петю мы ясно дело не пишем.
Инструменты, для эстимирования. Я считаю, что сперва следует научится эстимировать и уж потом - эстимировать в крутых инструмент. Для начала выберете самый удобный для вас инструмент: тетрадь, ворд, ексель, майндмапы, мс проджект. Я перечислила инструменты в порядке их сложности и крутизны. Я предпочитаю набросать черновик в тетрадке или в ворде. После мне его легко перенести в нужную систему и передать дальше. Только потому, что я кинестетик и мне нужно пощупать, для большего понимания . Тем не менее, многие сразу оформляют в том инструменте где ведется планирования проекта.
Давайте еще раз взглянем на алгоритм, но только перефразировав немного.
Естественно, есть возможность продожить работать с эстимейтами.Давайте посмотрим еще один примерчик
Есть задача А и задача В.А много текста, на этапе инициации мы определили как 40 часов. Задача В проще всего 8 часов.Но вот пришло время планирования и ислледований. Выясняется, следующая картина.Первая задача уменьшилась а вот вторая уж очень не простой оказалась.Как быть?Во первых надо было на этапе инициации озвучить, что это предварительные эстимейты. И на этапе планирования они могут измениться, после обьяснитьимпакт ситуаций .Второй вариант замолчать, и выехать за счет задач типа А. Но тут осторожно могут словить, и тогда доверие будет подорвано. Так что этого делать не надо.Мы не застрахованы от таких ситуаций, мы можем только снизить вероятность их появления, улучшая навык эстимирования анализа задачи и альтернатив.
Допустим мы сделали оценку, и у нас может быть три варианта, больше меньше ровно.Больше\\меньше это хорошо или плохо?По разному.Есть некая окресность, где даже больше будет хорошо, Это как цель, мы можем попасть в 10 а можем и в 5. оба раза хорошо, мимо вот это плохо. Наша с вами цель будет где-то 20% Откуда цифра, это принцип Паретто.- проще запоминать В любом случае, всегда посмотрите куда вы попали, и сделайте выводы улучшить ваш список вопросов или добавить риски. Если у вас будет большой список над чем работать, выберите топ 4-5. И в следующий раз опять топ, но это будет другой.Так вы научитесь попадать в 10.И еще один момент, что зачастую задачи типовые и похожие, и если первый раз вы ее сделаете за день, то второй раз сможете сделать за половину. Т.е. можно оценить свою производительность. Професиональный рост.
Ну вот мы и добрались до выводов.
Но тут все просто, к предыдущим допишем, что анализ реальной оценки и предварительной, поможет вам не только улучить, навык эстимирования, алгоритм эстимирования, но и оценить свои навыки тестирования.