Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Грамотная работа с дефект-трекером

Презентация для SQA Days 10

  • Be the first to comment

Грамотная работа с дефект-трекером

  1. 1. Москва 2-3 декабря 2011 Грамотная работа сдефект-трекером — путь к успеху! Алексей Лянгузов
  2. 2. План● Введение● Процессы работы● Выбор трекера● Грамота● Метрики● Игрища с трекером● Заключение
  3. 3. Введение Добро пожаловать в ... Введение Процессы работы с Выбор трекера трекером Грамота МетрикиИгрища с трекером Заключение
  4. 4. Кто Я? Инженер по тестированию11+ лет в тестированииhttp://www.linkedin.com/in/leshal Со-организатор независимого сообщества тестировщиков Санкт-Петербурга http://sqagroup.spb.ru * Далее будет мое личное мнение
  5. 5. Запрос на изменение FeaturInte rna e l Des ig n (System) Change Request или CR http://en.wikipedia.org/wiki/Change_management_(engineering)
  6. 6. Трекер этоКонечный автомат (state machine) * defect tracker = система отслеживания ошибок
  7. 7. Трекер этоКонечный автомат (state machine) Хранилище знаний о продукте
  8. 8. Трекер этоКонечный автомат (state machine) Хранилище знаний о продукте Инструмент командной работы * в трекере баги трекаются
  9. 9. Процессы работы Lifecycle и не только Введение Процессы работы Выбор трекера с трекером Грамота МетрикиИгрища с трекером Заключение
  10. 10. Пример жизненного цикла Dispatched Появление записи (CRа)Incomplete Accepted Поверхностный анализ CRа Cause Fix Анализ проблемы Known UnderstoodРешение Fix in Fix Deferredпроблемы Progress Available Интеграция Fix Fix Верификация Failed Delivered Закрытие Closed
  11. 11. Адаптация жизненного цикла Dispatched Появление записи (CRа) Анализ CRа, проблемыIncomplete Accepted и ее решение Cause Fix Known Understood Fix in Fix Deferred Progress Available Интеграция Fix Fix Верификация Failed Delivered Закрытие Closed
  12. 12. Простейший процесс IOpen Resolved
  13. 13. Простейший процесс II Resolved Open Incomplete Closed
  14. 14. Простейший процесс II Resolved - Fixed - Not Repeatable Open - Wont fix - New - Assigned - Deferred Closed - (Incomplete) - (Reopened) - Verified - Not Verified - Duplicate - Invalid
  15. 15. Выбор трекера Поля, фичи, критерии Введение Процессы работы Выбор трекера с трекером Грамота МетрикиИгрища с трекером Заключение
  16. 16. Workflow Лучше ХужеСвободные переходы из Регламентированныесостояния в состояние переходы из состояния в состояниеМало состояний Много состоянийСтатус и подстатус Только статусАдаптация процесса Жесткий процессВсе пользователи равны Пользователи делятся на(внутри команды) роли (тестировщик, программист, менеджер)
  17. 17. Обязательные поля *Название поля (атрибута) Комментарий (другое название)ID * Уникальный номер записи (Number, №)Status * Текущее состояние (State)Synopsis * Короткое описание (Title, Subject)Reporter * Кто написал (Submitter)Responsible Engineer * Кто чинит (Assigned To, Owner)Project Для какого проекта (Product)Version Для какой версии (Release)Category Разновидность записи (Type)Subsystem Для какой подсистемы (Component)Priority Приоритет (Importance)Description * Детальное описание
  18. 18. Обязательные возможности * НотификацииИстория изменений Комментарии Поиск по критериям
  19. 19. Желательные поля и возможности Название возможности ОписаниеKeywords Многофунальная возможность (Tags)Severity & Priority Техническая и политическая оценкиFound & Fixed in Build Локализация проблемы и исправленияFound in & Target Version Версии нахождения и исправленияEditable Description/Comments Редактирование авторомReadonly Access Удобно для отчетов и запросовWeb Access Удобно для отчетов и запросовAttachements Возможность добавлять файлыPublic API Удобно для интеграцииRelated CRs (crossrelated!) Связанные записиMultiple Release Работа с несколькими версиями
  20. 20. Грамота Полезные советы Введение Процессы работы Выбор трекера с трекером Грамота МетрикиИгрища с трекером Заключение
  21. 21. Правило #1: 1 CR = 1 проблема1 CR 1 CR 1 проблема 1 проблема OK OK
  22. 22. Правило #1: 1 CR = 1 проблема 1 CR 1 CR 1 проблема 1 проблема OK OK Mark As Duplicate, Mark As Duplicate,N CR-овN CR-ов 1 проблема 1 проблема Merge, Keep As Is, Merge, Keep As Is,
  23. 23. Правило #1: 1 CR = 1 проблема 1 CR 1 CR 1 проблема 1 проблема OK OK Mark As Duplicate, Mark As Duplicate,N CR-овN CR-ов 1 проблема 1 проблема Merge, Keep As Is, Merge, Keep As Is, 1 CR 1 CR N проблем N проблем Split, Close(Incomplete) Split, Close(Incomplete)
  24. 24. 1 CR или много Разные проблемы Самостоятельно Спросить Написать 1 баг, выяснить программиста обратить системная (если это можно вниманиепроблема или нет сделать быстро) программиста ??? Системная Или ??? Системная Написать N Разные проблемы багов, сделать ссылки между ними
  25. 25. 1 CR или много Разные проблемы Самостоятельно Спросить Написать 1 баг, выяснить программиста обратить системная (если это можно вниманиепроблема или нет сделать быстро) программиста ??? Системная Или ??? Системная Написать N Разные проблемы багов, сделать ссылки между ними А дубликатов не надо бояться! Но их следует избегать!
  26. 26. Короткое описание (title) Что не работает- CSS spec version 2.0 is notsupported- Contrast scheme is incorrectbecause of inline CSS ***Удаление пользователей справами админа не работает
  27. 27. Короткое описание (title) Что не работает Что (с)делать- CSS spec version 2.0 is notsupported - Make font on this- Contrast scheme is incorrect slide biggerbecause of inline CSS ***Удаление пользователей справами админа не работает
  28. 28. Короткое описание (title) Что не работает Что (с)делать- CSS spec version 2.0 is not - Make font on this slide biggersupported - Support specification version 2.0- Contrast scheme is incorrect - Remove inline CSS styles from allbecause of inline CSS HTML documents *** ***Удаление пользователей с Добавьте возможность удалятьправами админа не работает учетные записи админов
  29. 29. Короткое описание (title) Что не работает Что (с)делать- CSS spec version 2.0 is not - Make font on this slide biggersupported - Support specification version 2.0- Contrast scheme is incorrect - Remove inline CSS styles from allbecause of inline CSS HTML documents *** ***Удаление пользователей с Добавьте возможность удалятьправами админа не работает учетные записи админов Где, Что, Когда- Renderer: spec version 2.0 is notsupported for non-embedded CSS- [APIDocs] inline CSS is used in alljavadoc files ***- Админка: невозможно удалитьпользователя с правами админа
  30. 30. Короткое описание (title) Что не работает Что (с)делать- CSS spec version 2.0 is not - Make font on this slide biggersupported - Support specification version 2.0- Contrast scheme is incorrect - Remove inline CSS styles from allbecause of inline CSS HTML documents *** ***Удаление пользователей с Добавьте возможность удалятьправами админа не работает учетные записи админов Где, Что, Когда Пожелание- Renderer: spec version 2.0 is not - It would be great to support specsupported for non-embedded CSS version 2.0- [APIDocs] inline CSS is used in all - Itd be better to get rid of inlinejavadoc files CSS styles *** ***- Админка: невозможно удалить - Было бы хорошо, если быпользователя с правами админа админов можно было удалить
  31. 31. Описание (description) Что (с)делатьSteps to reproduce:1. Установите систему2. Скачайте программу3. Установите на жесткий диск4. Запустите программу…32. Повторите шаги 23-31
  32. 32. Описание (description) Что (с)делатьSteps to reproduce:1. Установите систему2. Скачайте программу3. Установите на жесткий диск4. Запустите программу…32. Повторите шаги 23-31- Приводите толькозначимую информацию.- Уберите лишние шаги.Найдите кратчайший путь.- В дополнение приводитевсе известные факты.
  33. 33. Описание (description) Что (с)делать В чем заключаетсяSteps to reproduce: проблема/улучшение1. Установите систему2. Скачайте программу3. Установите на жесткий диск Почему это4. Запустите программу проблема/зачем…32. Повторите шаги 23-31 улучшать- Приводите только Как воспроизвестизначимую информацию. проблему- Уберите лишние шаги.Найдите кратчайший путь.- В дополнение приводите Ожидаемыйвсе известные факты. результат после внесения изменений
  34. 34. Разновидности описаний Что (с)делатьSteps to reproduce:1. Зайдите в админкупользователем с правамиадминистратора.2. Создайте еще одного админа.3. Попытайтесь удалить админа→ не удаляется: нет прав.Должен быть позволено.
  35. 35. Разновидности описаний Что (с)делать КонтрастSteps to reproduce: Now:1. Зайдите в админку Its not possible to remove any userпользователем с правами which has admin privileges.администратора.2. Создайте еще одного админа. Should be:3. Попытайтесь удалить админа It should be possible to remove any→ не удаляется: нет прав. user with admin pivileges exceptДолжен быть позволено. the latest admin.
  36. 36. Разновидности описаний Что (с)делать КонтрастSteps to reproduce: Now:1. Зайдите в админку Its not possible to remove any userпользователем с правами which has admin privileges.администратора.2. Создайте еще одного админа. Should be:3. Попытайтесь удалить админа It should be possible to remove any→ не удаляется: нет прав. user with admin pivileges exceptДолжен быть позволено. the latest admin. Просто описание User with admin privileges should be able to remove any other admin except himself. *** Согласно спецификации админу должно быть позволено удалить любого пользователя или админа, за исключением самого себя.
  37. 37. Не используйтеПожалуйста СпасибоНе выпрашивайте
  38. 38. Не используйтеПожалуйста Сейчас же Спасибо СрочноНе выпрашивайте Не подгоняйте
  39. 39. Не используйтеПожалуйста Сейчас же БОЛЬШИЕ Спасибо Срочно БУКВЫНе выпрашивайте Не подгоняйте Не кричите!
  40. 40. Не используйтеПожалуйста Сейчас же БОЛЬШИЕ Спасибо Срочно БУКВЫНе выпрашивайте Не подгоняйте Не кричите! Сарказм Ирония Злость Не язвите
  41. 41. Не используйтеПожалуйста Сейчас же БОЛЬШИЕ Спасибо Срочно БУКВЫНе выпрашивайте Не подгоняйте Не кричите! Сарказм Авторитет Ирония Крутость Злость Не язвите Не доминируйте
  42. 42. Не используйтеПожалуйста Сейчас же БОЛЬШИЕ Спасибо Срочно БУКВЫНе выпрашивайте Не подгоняйте Не кричите! Сарказм Авторитет Грандиозно Ирония Крутость Чрезмерно Злость Не язвите Не доминируйте Не паникуйте
  43. 43. Приоритет и важностьКаждый тестировщик имеет право, и даже обязан, выставлятьправильные значения приоритета [priority] (политическая оценка) и важности [severity] (техническая оценка) CRa.
  44. 44. Приоритет и важностьКаждый тестировщик имеет право, и даже обязан, выставлятьправильные значения приоритета [priority] (политическая оценка) и важности [severity] (техническая оценка) CRa. Следите за тем, чтобы в дефектах приоритет и важность менялись только с обоснованием. Вы, как автор CRa всегда имеете право потребовать обосновать понижение оценки.
  45. 45. Ответственный Ответственный (responsible,assigned) это тот, кто отвечает за изменения, вносимые в продукт!
  46. 46. Ответственный Ответственный (responsible,assigned) это тот, кто отвечает за изменения, вносимые в продукт! Не ставьте ответственного, если не уверены или не договорились заранее.
  47. 47. Ответственный Ответственный (responsible,assigned) это тот, кто отвечает за изменения, вносимые в продукт! Не ставьте ответственного, если не уверены или не договорились заранее. В больших проектах в качестве ответственного хорошо иметь «группового пользователя» для каждой подсистемы
  48. 48. Верификация: Кто Имеет право - первым проверитьТот, кто написал CR - отказаться (если не тестировщик)
  49. 49. Верификация: Кто Имеет право - первым проверитьТот, кто написал CR - отказаться (если не тестировщик) Обязан - проверить свои багиТестировщик - проверить все оставшиеся баги
  50. 50. Верификация: Кто Имеет право - первым проверитьТот, кто написал CR - отказаться (если не тестировщик) Обязан - проверить свои багиТестировщик - проверить все оставшиеся баги НЕ имеет праваТот, кто вносил изменения - проверять те измения, которые он делал
  51. 51. Верификация: Как Поменять статус в трекере на Verified
  52. 52. Верификация: Как Проверить как починили.Дополнительнопротестировать Поменять статус в трекере на Verified
  53. 53. Верификация: Как Проверить как Написать починили. комментарий, чтоДополнительно было сделано припротестировать верификации Поменять статус в трекере на Verified
  54. 54. Верификация: Как Проверить как Написать починили. комментарий, чтоДополнительно было сделано припротестировать верификации Написать как реально починили, Поменять статус в если это не трекере на Verified совсем очевидно
  55. 55. Метрики For use or for abuse Введение Процессы работы Выбор трекера с трекером Грамота МетрикиИгрища с трекером Заключение
  56. 56. Метрики персональной эффективности Дубликаты 9 8 7 6 5 ВасяКоличество Петя 4 Даша 3 2 1 0 Январь Февраль Март Апрель Месяцы * Назначение трекера — способствовать исправлению ошибок, а не собирать статистику для руководства
  57. 57. Метрики персональной эффективности Дубликаты Сбор таких показателей полезен только если вы, 9разобравшись в текущей ситуации, сразу реагируете 8 — обучаете, рекомендуете, делаете выводы или не 7 делаете ничего, чтобы наказать. 6 5 Вася Петя 4 Сбор таких показателей за определенный период 3 Даша для того, чтобы дать или лишить премии — грех. 2 1 0 Январь Февраль Март Апрель * Назначение трекера — способствовать исправлению ошибок, а не собирать статистику для руководства
  58. 58. Взгляд с другой стороны Дубликаты 70 60 50 40 ВасяПроцент Петя 30 Даша 20 10 0 Январь Февраль Март Апрель Месяцы * Назначение трекера — способствовать исправлению ошибок, а не собирать статистику для руководства
  59. 59. Метрики командной эффективности Зачем?Сравнение команд, в том числе для выдачи премий и наказаний * Назначение трекера — способствовать исправлению ошибок, а не собирать статистику для руководства
  60. 60. Метрики командной эффективности Зачем?Сравнение команд, в Определение том числе для текущей выдачи премий и производительности наказаний и состояния дел * Назначение трекера — способствовать исправлению ошибок, а не собирать статистику для руководства
  61. 61. Критерииmaxmin 100 % починенных 0 CRs с приоритетом 0 CRs в состоянии CRs проверено Р1&P2 NEW (Dispatched) * Чем проще критерий и формула - тем больше от них толку
  62. 62. Тенденции и предсказания Пример 1 Пример 2 ИзмерениеКоличество новых багов по Отношение починенных багов котношению к починенным, за проверенным, за определенныйопределенный период времени промежуток времени ТенденцияРастет от недели к неделе Уменьшается от недели к неделе ПредсказаниеПри сохранении этой скорости не При сохранении такой скорости всеуспеем починить Надцать CRов баги будут заверифицированы в срок Что делать- Начать фиксить больше багов - Ничего- Продлить срок - Уменьшить время на верификацию в- Отобрать только Десят дефектов планах
  63. 63. Игрища с трекеромПолитический или технический? Введение Процессы работы Выбор трекера с трекером Грамота Метрики Игрища с трекером Заключение
  64. 64. Политика в ИТCовокупность мер и действий, направленных наCовокупность мер и действий, направленных на достижение заведомо заданного результата достижение заведомо заданного результата wikipedia wikipedia * Вне зависимости от того хотите вы того или нет политика никуда не исчезнет
  65. 65. Политика в ИТCовокупность мер и действий, направленных наCовокупность мер и действий, направленных на достижение заведомо заданного результата достижение заведомо заданного результата wikipedia wikipediaДействия, сспомощью которых вы добиваетесь, Действия, помощью которых вы добиваетесь,чтобы некое лицо или группа лиц выполнили то, чтобы некое лицо или группа лиц выполнили то, чего вы от них хотите чего вы от них хотите Джо Мараско «IT проекты. Фронтовые очерки» Джо Мараско «IT проекты. Фронтовые очерки» * Вне зависимости от того хотите вы того или нет политика никуда не исчезнет
  66. 66. Разные политики Хорошая Нейтральная ПлохаяДоводы Лесть ЛожьПримеры Насмешки ПодкупФакты Лоббирование УгрозыРассуждения Затягивание Личные выпадыКомпромиссы Недомолвки ИнтригиАльтернативы Бартер СаботажОбучение Двусмысленности Жульничество V X X
  67. 67. Так какой он? ControlsInputs Outputs
  68. 68. Так какой он? Controls Политическая информация Технические решенияТехническаяинформация Трекер Политические решенияInputs Outputs
  69. 69. Так какой он? Controls Политическая Filters информация X Технические решенияТехническаяинформация Трекер Политические решенияInputs Outputs
  70. 70. ИгрищаПобедитель Проигравший Конец игры Дефект Нет Проект устранен
  71. 71. Багминтон Правила: программист и/или тестировщик поочередно и целенаправленно меняют категорию бага с Defect на Feature несколько раз подряд.Причины. Весьма- Плохое или недостаточное опаснаяописание.- Недобросовестность и упрямство Достаточнопрограммиста. опасная- Неосведомленность и упрямствотестировщика. Относительно- Опасные метрики. безопасна- Двусмысленность ситуации.
  72. 72. Ходилка Правила: баги проделывают путь через десятки состояний, переходы строго регламентированы и делаются только строго определенными людьмиПричины. Весьма- «Шибко умный» составитель workflow. опасная- Сделано для сбора сотен «оченьважных» метрик.- Трекер с плохим поиском. Достаточно- Бюрократия. опасная- Слишком навороченный трекер.- Бардак в процессах работы. Относительно безопасна
  73. 73. Багобоязнь Правила: заносить в трекер как можно меньше записей. Ругать людей вносящих больше «положенного» числа дефектов. Не писать баги перед релизом совсем.Причины. Весьма- Некомпетентные руководители и опаснаяпрограммисты (думают, что записи втрекере — это плохо). Достаточно- Опасные метрики. опасная- Ложь.- Тунеядство. Относительно- Игра «Ходилка» (сложно работать с безопаснатрекером)
  74. 74. Критерийнизм Правила: баги заносятся и меняются в трекере в угоду какому-либо критерию. Неудовлетворение критерия исправляется в трекере, а не в коде.Причины. Весьма- Некомпетентные работники. опасная- Опасные метрики.- Плохие процессы работы. Достаточно- Игра «Багобоязнь». опасная- Малодушие.- Желание выделиться в глазах Относительноруководства. безопасна
  75. 75. Великаны и карлики Правила: баги заносятся в трекер с заведомо неправильными значениями приоритета или важности. Или в последствии кто-то намеренно их искажает.Причины. Весьма- Желание выделиться. опасная- Желание не выделяться. Боязнь.- Некомпетентность, незнание продукта.- Намерение скрыть проблемы. Достаточно- Необоснованное лоббирование каких- опаснаято интересов.- Паника. Относительно- Игра «Критерийнизм» безопасна
  76. 76. Ничего не вижу... Правила: любые действия над записями в трекере и программой не производятся, если человек не поставлен кем-то как ответственный или не стоит верная версия.Причины. Весьма- Некомпетентные и/или ленивые опаснаяпрограммисты и тестировщики.- Опасные метрики. Достаточно- Плохие процессы работы. опасная- Перегруз.- Ограничения трекера. Относительно- Плохие критерии поиска по трекеру. безопасна
  77. 77. Пионербол Правила: играют все! Ответственный за баг, на самом деле отвечает не за починку, а за CR. Все стараются снять с себя ответственность перекинув баг другому.Причины. Весьма- Искаженный процесс работы с опаснаятрекером.- Нежелание брать ответственность. Достаточно- Игра «Ничего не вижу». опасная- Опасные метрики. Относительно безопасна
  78. 78. Заключение А напоследок я скажу ... Введение Процессы работы Выбор трекера с трекером Грамота МетрикиИгрища с трекером Заключение
  79. 79. Путь к успехуЦелью составления отчета об ошибке является ееЦелью составления отчета об ошибке является ее исправление исправление
  80. 80. Путь к успехуВероятность исправления ошибки зависит от того,Вероятность исправления ошибки зависит от того, как ее задокументировать как ее задокументироватьЦелью составления отчета об ошибке является ее исправление Целью составления отчета об ошибке является ее исправление
  81. 81. Путь к успехуЛичному Личному Хороший тестировщик не тот, кто выявит Хороший тестировщик не тот, кто выявит больше всего ошибок, а тот, кто добьется больше всего ошибок, а тот, кто добьется исправления наибольшего количества ошибок исправления наибольшего количества ошибок Вероятность исправления ошибки зависит от того, как ее Вероятность исправления ошибки зависит от того, как ее задокументировать задокументироватьЦелью составления отчета об ошибке является ее исправление Целью составления отчета об ошибке является ее исправление
  82. 82. Путь к успехуЛичному Личному Командному Командному Чем больше хорошо задокументированных Чем больше хорошо задокументированных отчетов поступает от тестировщиков, тем отчетов поступает от тестировщиков, тем больше доверия кккоманде тестирования больше доверия команде тестирования Вероятность исправления ошибки зависит от того, как ее Вероятность исправления ошибки зависит от того, как ее задокументировать задокументироватьЦелью составления отчета об ошибке является ее исправление Целью составления отчета об ошибке является ее исправление
  83. 83. Путь к успехуЛичному Личному Командному Командному Проекта Проекта Дефект-трекер служит прежде всего для Дефект-трекер служит прежде всего для исправления максимального числа ошибок. исправления максимального числа ошибок. Все остальное является побочным эффектом Все остальное является побочным эффектом Вероятность исправления ошибки зависит от того, как ее Вероятность исправления ошибки зависит от того, как ее задокументировать задокументироватьЦелью составления отчета об ошибке является ее исправление Целью составления отчета об ошибке является ее исправление
  84. 84. Путь к успехуЛичному Личному Командному Командному Проекта Проекта Компании Компании Чем больше найденных ошибок было Чем больше найденных ошибок было исправлено в программе, тем выше ее исправлено в программе, тем выше ее качество, а значит и репутация вашей фирмы качество, а значит и репутация вашей фирмы Вероятность исправления ошибки зависит от того, как ее Вероятность исправления ошибки зависит от того, как ее задокументировать задокументироватьЦелью составления отчета об ошибке является ее исправление Целью составления отчета об ошибке является ее исправление
  85. 85. Спасибо! Спрашивайте! Спорьте!Комментируйте! Alexey Lyanguzov Software Quality Specialist Oracle, St. Petersburg
  86. 86. 90
  87. 87. Риторический вопрос Почему?

×