Лекция 3 Дефекты в тестровании v2.pptx
- Количество слайдов: 26
Дефекты в тестировании Лекция 3 20 июня 2016 Сергей Чубуров Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 2460, +1 415 830 38 49 www. exactpro. com 1 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Содержание - Баг репорт, основные характеристики, понятия - Жизненный цикл баг репорта - Как правильно описать дефект 2 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Хорошие описания дефектов 1)Сокращают количество отвергнутых разработчиками проблем 2)Сокращают время на исправление дефектов 3)Повышают информативность результатов тестирования (для менеджеров и клиентов) 4)Улучшают отношения и взаимодействия в команде (программист – тестировщик, тестировщик-тестировщик) 3 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Баг репорт, баг трекер Цель тестирования - получение информации о качестве продукта и имеющихся дефектах - Тест репорт - Баг репорты Баг Репорт (Bug Report) - это документ, описывающий ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием ожидаемого результата. Баг Трекер(Bug Tracker) - это система служащая для сохранения, редактирования и получения информации о дефектах üОбщий доступ множеству участников к базе дефектов üКлассификация дефектов üВозможность поиска по базе, выборка по фильтрам üВозможность получения статистики üРегулярные оповещения об активностях 4 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
В баг трекере хранятся не только записи об ошибках Bug(Дефект) Обнаруженная ошибка или несоответствие в работе системы Improvement(улучшение) или Feature(Особенность) Желаемое/необходимое улучшение или добавление особенности работы системы или функции Task(задача) Необходимость выполнения определённой активности. Может создаваться менеджером тестировщику, либо менеджером системному архитектору, либо руководителем разработчиков разработчику, либо менеждером, человеку ответственному за релиз системы Story(история) Описание действий или процессов Может использоваться как описание проделанных действий по миграции, установке или реконфигурации системы 5 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Из чего состоит баг репорт Короткое описание, заголовок (Summary) Короткое описание проблемы, явно указывающее на суть, ошибочной ситуации. «Прочитав короткое описание бага (Bug Summary), я должен понять в чем состоит проблема» (с) типичный программист Проект (Project) Название тестируемого проекта Компонент приложения (Component) Название части или функции тестируемого продукта Номер версии (Version) Версия на которой была найдена ошибка Статус (Status) Статус бага. Зависит от используемой процедуры и жизненного цикла бага (bug workflow and life cycle) 6 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Summary(Заголовок) Предположим, по каким-то причинам, выпадающий список по полю АБВ не работает: при попытке выбрать какой-то из элементов появляется сообщение «Uncaught Reference. Error: $Desc is not defined» АБВ не работает. Список некорректен и выдаёт ошибку, оставляя пользователя в недоумении Список АБВ не доступен для использования(сообщение об ошибке: Uncaught Reference. Error: $Desc is not defined) Что можно убрать из нижнего описания с сохранением его смысла? 7 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Из чего состоит баг репорт Автор (Author) Имя сотрудника создавшего запись о проблеме Назначен на (Assigned To) Имя сотрудника, назначенного на решение проблемы Окружение (Environment) ОС / Сервис Пак и т. д. / Браузера + версия /. . . Информация об окружении, на котором был найден баг: операционная система, сервис пак, для WEB тестирования - имя и версия браузера и т. д. Описание(Description) Детальное описание проблемы, с начальными условиями, чёткими шагами к воспроизведе ожидаемым и актуальным результатом «прочитав детальное описание бага (Bug Description) я должен понять что нужно исправить. » (с) типичный программист Прикрепленный файл (Attachment) Файл с логами, скриншот или любой другой документ, который может помочь прояснить причину ошибки или указать на способ решения проблемы 8 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Из чего состоит баг репорт Серьезность (Severity) Насколько сильно дефект влияет на работу программы, либо конкретного функционала S 1 Блокирующая (Blocker) Блокирующая ошибка, приводящая приложение в нерабочее состояние, в результате которого дальнейшая работа с тестируемой системой или ее ключевыми функциями становится невозможна. Решение проблемы необходимо для дальнейшего функционирования системы. S 2 Критическая (Critical) Критическая ошибка, неправильно работающая ключевая бизнес логика, дыра в системе безопасности, проблема, приведшая к временному падению сервера или приводящая в нерабочее состояние некоторую часть системы, без возможности решения проблемы, используя другие входные точки. Решение проблемы необходимо для дальнейшей работы с ключевыми функциями тестируемой системой. S 3 Значительная (Major) Значительная ошибка, часть основной бизнес логики работает некорректно. Ошибка не критична или есть возможность для работы с тестируемой функцией, используя другие входные точки. S 4 Незначительная (Minor) Незначительная ошибка, не нарушающая бизнес логику тестируемой части приложения, очевидная проблема пользовательского интерфейса. S 5 Тривиальная (Trivial) Тривиальная ошибка, не касающаяся бизнес логики приложения, плохо воспроизводимая проблема, малозаметная посредствам пользовательского интерфейса, проблема сторонних библиотек или сервисов, проблема, не оказывающая никакого влияния на общее качество продукта. 9 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Из чего состоит баг репорт Приоритет (Priority) Насколько важно починить этот дефект P 1 Высокий (High) Ошибка должна быть исправлена как можно быстрее, т. к. ее наличие является критической для проекта. P 2 Средний (Medium) Ошибка должна быть исправлена, ее наличие не является критичной, но требует обязательного решения. P 3 Низкий (Low) Ошибка должна быть исправлена, ее наличие не является критичной, и не требует срочного решения. 10 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Если думаешь что встретил баг - максимально чётко разобраться в чём проблема - может это не баг? неправильные настройки, сбой с интернет коннекшном, а может вы просто видите что система работает не оптимально но прямых противоречий со спецификацией нет. - попытаться найти самый простые условия воспроизведения - убедиться была ли отрепорчена эта проблема ранее(избежать дубликатов) - отбросить эмоции, сосредоточится на точных фактах: Успокоиться, выделить чёткие шаги воспроизведения, или подробное описание что вы сделали и где и каким образом и что вы увидели, воспроизводится ли баг постоянно, вылетает периодически, или был зафиксирован только один раз. 11 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Если думаешь что встретил баг Что-то неправильно Что-то не то. . Определи точно в чём дело В чём конкретно проблема Ясно Точно ли это проблема программы? Не нужен баг репорт Теперь понял! Нет неполадки соединения, неправильные настройки. . Да Было ли это занесено ранее? Да Нет Да Можно ли воспроизвести проблему с более коротким набором шагов? Используй эти шаги для описания проблемы Нет Да Хочется ли написать разработчикам откуда у них растут руки? Нет 12 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Съешь конфетку, выпей кофе, прогуляйся, посмотри в окно. Ура! Можно начинать Tel: +7 495 640 24 60 , +1 415 830 38 49 Пишем баг репорт
Алгоритм составления хорошего описания 1)Чётко и лаконично распишите шаги(Steps to reproduce), что вы сделали Дайте программисту детальные инструкции, чтобы он смог воспроизвести сбой самостоятельно. 2)Что получилось(Actual result), с максимально возможными деталями На случай если программист не может увидеть сбой сам, определите, что вы увидели, запишите/скопируйте/сделайте скриншот сообщений об ошибках, особенно если в них есть числа, стектрейсы и. т. д. . . 3)Что вы ожидали(Expected result), в чём именно проблема В случае если явного зависания, прекращения работы, или сообщения об ошибке нет, укажите существующие требования Воспроизводимость Укажите воспроизводится ли проблема постоянно, вылезает периодически, или же вы просто один раз её встретили 4)Прикреплённый файл: скриншот, лог, видео. . Если есть возможность то обязательно добавьте лог, скриншот или видео, это доказательство что проблема действительно произошла, и очень полезная информация для разработчика Будьте готовы предоставить дополнительную информацию 13 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Несколько правил для создания хорошего описания 1)Принцип «Что-Где-Когда» Сначала надо написать «что» , а уже потом «в каком месте» и «при каких условиях» . Что? : Что происходит или не происходит согласно спецификации или вашему представлению о нормальной работе программного продукта. При этом указывайте на наличие или отсутствие объекта проблемы, а не на его содержание (его указывают в описании). Если содержание проблемы варьируется, все известные варианты указываются в описании. Где? : В каком месте интерфейса пользователя или архитектуры программного продукта находится проблема. Причем, начинайте предложение с существительного, а не предлога. Когда? : В какой момент работы программного продукта, по наступлению какого события или при каких условиях проблема проявляется. 14 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Несколько правил для создания хорошего описания 2)Обезличенность Старайтесь описывать баги как пошаговое руководство а не как описание своей истории «Нажимаем кнопку» , «Открываю страницу» «Нажать кнопку» , «Открыть страницу» 3)Простые конструкции Сложносочинённые и сложноподчинённые предложения, причастные и деепричастные обороты осложняют восприятие текста. Чем проще будет построено предложение, тем лучше. «На панели инструментов есть кнопка с шестерёнкой, открывающая меню из двух пунктов, при наведении на которую не появляется всплывающая подсказка» «Навести мышку на кнопку с шестерёнкой на панели инструментов – не появилась всплывающая подсказка» 15 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Несколько правил для создания хорошего описания 4)Без лишних слов Привычная речь богата эпитетами, местоимениями, предлогами, которые дополнительного смысла не привносят. Если справиться с собственным мозгом очень сложно, запишите весь поток сознания как есть, а потом удалите из текста те слова, которые не несут смысловой нагрузки. «По какой-то причине смена значений в поле работает довольно странно – по сути обновление поля происходит через какой-то промежуток времени» «Обновление значений в поле происходит с задержкой» 5)Сократить очевидное Некоторые действия не являются специфичными для тестируемой системы. Например, сохранение некоторого объекта, закрытие окна, вызов контекстного меню, двойной клик, запуск приложения. Эти действия обычно интуитивно понятны, поэтому при описании ошибки не стоит заострять на них внимание. «Найти ярлык приложения на рабочем столе, кликнуть по нему 2 раза левой кнопкой мыши» «Открыть приложение по ярлыку» 16 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Несколько правил для создания хорошего описания 6)Расписывать сложные действия Допустим, в тестируемой системе есть некоторая специфичная операция. Новенькие тестировщики или разработчики, которые плохо ориентируются в интерфейсе, могут не знать, как выполнить такую операцию. Поэтому описать выполнение этой задачи можно через описание простых действий, которые помогут её выполнить. «Согласовать документ» , «Выполнить синхронизацию свойств» . «Нажать кнопку «Согласовано» на панели инструментов карточки документа» , «Выбрать команду «Синхронизировать свойства» в контекстном меню объекта» . 7)Использовать нумерацию - Упрощается восприятие - Упрощается прохождение шагов воспроизведения. - Появляется возможность сослаться на некоторый пункт. 17 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Несколько правил для создания хорошего описания Перечитать После того, как вы написали и откорректировали описание ошибки, обязательно перечитайте от начала и до конца. Возможно, вы найдёте опечатку, нечаянный повтор слова, лишний символ или что-то в этом духе. Поскольку взгляд замыливается от чтения собственного текста, полезно использовать метод переключения внимания – увести взгляд буквально на пару секунд на растение в горшке или соседа слева, а потом вернуть к тексту. 18 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Примеры 1 Ошибка на главной странице при вводе пароля через боковую панель или Главная страница: ошибка при вводе пароля через боковую панель 1)Перейти на главную страницу 2)Ввести логин в поле «User name» 3)Поставить галочку «Stay online» 4)Ввести пароль и нажать «Continue» : Появляется окно c текстом «object error» (см скриншот во вложении) Ошибка воспроизводится только если выбрана галочка «Stay online» 19 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Примеры 2 В панели Яндекс. Бар присутствует совершенно неясное нечто Если набраться спокойствия и терпения, то с помощью скроллбара, коим оснащен неопознанный объект, можно выяснить, что это миниатюрное окно с веб-страницей Яндекс404, где можно даже что-то ввести в строке поиска или пройти по ссылке. Правда впоследствии все это дело становится неактивным белым прямоугольником (см. рис 3) В процессе работы с приложением была обнаружена странная ошибка, однако, возникающая, как правило после некоторых действий, например, в моём случае удалось получить зависание и сообщение об ошибке после перетаскивания иконки в область корзины. Работа с авторизацией в главном окне вводит в смятение Ничего недоступно после клика 20 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Примеры 3 Выпадающий список по полю «Регион» не работает: при попытке выбрать какой-то из элементов появляется сообщение «Uncaught Reference. Error: $Desc is not defined» 1)Перейдите на страницу оформления заявки и в поле «Регион» выберите любой из элементов, например «Костромская область» Ожидаемый результат: Котромская область выбрана, список городов заполняется городами из Костромской области. Фактический результат: Пользователь поучает сообщение об ошибке: «Uncaught Reference. Error: $Desc is not defined» , список доступных городов пустой. Что здесь можно улучшить? 21 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Жизненный цикл отчёта об ошибке 22 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Про ответственность и психологию - Если не ты то кто? Всегда нужно понимать что вы очень часто можете оказаться первой и последней инстанцией, через которую проскочит проблема. Так что будьте внимательны, если встретили что-то не корректное то постарайтесь не игнорировать а разобраться или записать. ü будь внимательным ü не игнорируй что-то «непонятное» или «не важное» , как минимум запиши или скажи старшему - Баги есть! Профессиональный скептицизм, нужно настраиваться на поиск ошибок. - Тестировщик и разработчик – одна команда с общей целью üописывайте дефекты нейтрально, уважайте программистов. üстарайтесь удостоверится что вы ясно поняли друга 23 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Список источников http: //bugred. ru/ http: //okiseleva. blogspot. ru/2013/04/blog-post_1. html https: //habrahabr. ru/company/docsvision/blog/264163/ https: //habrahabr. ru/post/156069/ http: //qalight. com. ua/baza-znanij/psychology. html https: //testitquickly. com/2009/09/02/dati-ne-testare-interesanta-in-agile/ 24 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Вопросы 25 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49
Спасибо 26 Open Access Quality Assurance & Related Software Development for Financial Markets www. exactpro. com Tel: +7 495 640 24 60 , +1 415 830 38 49