26
Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com 1 Дефекты в тестировании Лекция 3 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 2460, +1 415 830 38 49 www.exactpro.com 20 июня 2016 Сергей Чубуров

Дефекты при тестировании ПО

Embed Size (px)

Citation preview

Page 1: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

1

Дефекты в тестированииЛекция 3

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 2460, +1 415 830 38 49www.exactpro.com

20 июня 2016Сергей Чубуров

Page 2: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

2

Содержание

- Баг репорт, основные характеристики, понятия - Жизненный цикл баг репорта - Как правильно описать дефект

Page 3: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

3

Хорошие описания дефектов

1)Сокращают количество отвергнутых разработчиками проблем

2)Сокращают время на исправление дефектов

3)Повышают информативность результатов тестирования(для менеджеров и клиентов)

4)Улучшают отношения и взаимодействия в команде(программист – тестировщик, тестировщик-тестировщик)

Page 4: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

4

Баг репорт, баг трекер

Баг Репорт (Bug Report) - это документ, описывающий ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием ожидаемого результата.

Цель тестирования - получение информации о качестве продукта и имеющихся дефектах

- Тест репорт - Баг репорты

Баг Трекер(Bug Tracker) - это система служащая для сохранения, редактирования и получения информации о дефектах

Общий доступ множеству участников к базе дефектов Классификация дефектов Возможность поиска по базе, выборка по фильтрам Возможность получения статистики Регулярные оповещения об активностях

Page 5: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

5

В баг трекере хранятся не только записи об ошибках

Bug(Дефект)Обнаруженная ошибка или несоответствие в работе системы

Improvement(улучшение) или Feature(Особенность)Желаемое/необходимое улучшение или добавление особенности работы системы или функции

Task(задача)Необходимость выполнения определённой активности. Может создаваться менеджером тестировщику, либо менеджером системному архитектору, либо руководителем разработчиков разработчику, либо менеждером, человеку ответственному за релиз системы

Story(история)Описание действий или процессовМожет использоваться как описание проделанных действий по миграции, установке или реконфигурации системы

Page 6: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

6

Из чего состоит баг репорт

Короткое описание, заголовок (Summary)Короткое описание проблемы, явно указывающее на суть, ошибочной ситуации.

«Прочитав короткое описание бага (Bug Summary), я должен понять в чем состоит проблема» (с) типичный программист

Проект (Project)Название тестируемого проекта

Компонент приложения (Component)Название части или функции тестируемого продукта

Номер версии (Version)Версия на которой была найдена ошибка

Статус (Status)Статус бага. Зависит от используемой процедуры и жизненного цикла бага (bug workflow and life cycle)

Page 7: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

7

Summary(Заголовок)

Предположим, по каким-то причинам, выпадающий список по полю АБВ не работает: при попытке выбрать какой-то из элементов появляется сообщение «Uncaught ReferenceError: $Desc is not defined»

АБВ не работает. Список некорректен и выдаёт ошибку, оставляя пользователя в недоумении

Список АБВ не доступен для использования(сообщение об ошибке: Uncaught ReferenceError: $Desc is not defined)

Что можно убрать из нижнего описания с сохранением его смысла?

Page 8: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

8

Из чего состоит баг репорт

Автор (Author)Имя сотрудника создавшего запись о проблеме

Назначен на (Assigned To)Имя сотрудника, назначенного на решение проблемы

Окружение (Environment)ОС / Сервис Пак и т.д. / Браузера + версия / ...Информация об окружении, на котором был найден баг: операционная система, сервис пак, для WEB тестирования - имя и версия браузера и т.д.

Описание(Description)Детальное описание проблемы описание проблемы, с начальными условиями, чёткими шагами к воспроизведению, ожидаемым и актуальным результатом

«прочитав детальное описание бага (Bug Description) я должен понять что нужно исправить.» (с) типичный программист

Прикрепленный файл (Attachment)Файл с логами, скриншот или любой другой документ, который может помочь прояснить причину ошибки или указать на способ решения проблемы

Page 9: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

9

Из чего состоит баг репорт

Серьезность (Severity)Насколько сильно дефект влияет на работу программы, либо конкретного функционала

S1 Блокирующая (Blocker)Блокирующая ошибка, приводящая приложение в нерабочее состояние, в результате которого дальнейшая работа с тестируемой системой или ее ключевыми функциями становится невозможна. Решение проблемы необходимо для дальнейшего функционирования системы.

S2 Критическая (Critical)Критическая ошибка, неправильно работающая ключевая бизнес логика, дыра в системе безопасности, проблема, приведшая к временному падению сервера или приводящая в нерабочее состояние некоторую часть системы, без возможности решения проблемы, используя другие входные точки. Решение проблемы необходимо для дальнейшей работы с ключевыми функциями тестируемой системой.

S3 Значительная (Major) Значительная ошибка, часть основной бизнес логики работает некорректно. Ошибка не критична или есть возможность для работы с тестируемой функцией, используя другие входные точки.

S4 Незначительная (Minor) Незначительная ошибка, не нарушающая бизнес логику тестируемой части приложения, очевидная проблема пользовательского интерфейса.

S5 Тривиальная (Trivial) Тривиальная ошибка, не касающаяся бизнес логики приложения, плохо воспроизводимая проблема, малозаметная посредствам пользовательского интерфейса, проблема сторонних библиотек или сервисов, проблема, не оказывающая никакого влияния на общее качество продукта.

Page 10: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

10

Из чего состоит баг репорт

Приоритет (Priority)Насколько важно починить этот дефект

P1 Высокий (High) Ошибка должна быть исправлена как можно быстрее, т.к. ее наличие является критической для проекта.

P2 Средний (Medium) Ошибка должна быть исправлена, ее наличие не является критичной, но требует обязательного решения.

P3 Низкий (Low) Ошибка должна быть исправлена, ее наличие не является критичной, и не требует срочного решения.

Page 11: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

11

Если думаешь что встретил баг

- максимально чётко разобраться в чём проблема

- может это не баг? неправильные настройки, сбой с интернет коннекшном, а может вы просто видите что система работает не оптимально но прямых противоречий со спецификацией нет.

- попытаться найти самый простые условия воспроизведения

- убедиться была ли отрепорчена эта проблема ранее(избежать дубликатов) - отбросить эмоции, сосредоточится на точных фактах:Успокоиться, выделить чёткие шаги воспроизведения, или подробное описание что вы сделали и где и каким образом и что вы увидели, воспроизводится ли баг постоянно, вылетает периодически, или был зафиксирован только один раз.

Page 12: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

12

Если думаешь что встретил баг

Что-то не то..

В чём конкретно проблема

Точно ли это проблема программы?

Не нужен баг репорт

неполадки соединения, неправильные настройки..

Определи точно в чём дело

Что-то неправильно

Теперь понял!

Было ли это занесено ранее? Да

Можно ли воспроизвести проблему с более коротким набором шагов?

Хочется ли написать разработчикам откуда у них растут руки?

Пишем баг репорт

Да

Нет

Используй эти шаги для описания проблемы

Ясно

Нет

Да

Съешь конфетку, выпей кофе, прогуляйся, посмотри в окно.

Ура! Можно начинатьНет

Да

Нет

Page 13: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

13

Алгоритм составления хорошего описания

1)Чётко и лаконично распишите шаги(Steps to reproduce), что вы сделалиДайте программисту детальные инструкции, чтобы он смог воспроизвести сбой самостоятельно.

2)Что получилось(Actual result), с максимально возможными деталямиНа случай если программист не может увидеть сбой сам, определите, что вы увидели, запишите/скопируйте/сделайте скриншот сообщений об ошибках, особенно если в них есть числа, стектрейсы и.т.д...

3)Что вы ожидали(Expected result), в чём именно проблемаВ случае если явного зависания, прекращения работы, или сообщения об ошибке нет, укажите существующие требования

ВоспроизводимостьУкажите воспроизводится ли проблема постоянно, вылезает периодически, или же вы просто один раз её встретили

4)Прикреплённый файл: скриншот, лог, видео..Если есть возможность то обязательно добавьте лог, скриншот или видео, это доказательство что проблема действительно произошла, и очень полезная информация для разработчика

Будьте готовы предоставить дополнительную информацию

Page 14: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

14

Несколько правил для создания хорошего описания

1)Принцип «Что-Где-Когда»

Сначала надо написать «что», а уже потом «в каком месте» и «при каких условиях».

Что?: Что происходит или не происходит согласно спецификации или вашему представлению о нормальной работе программного продукта. При этом указывайте на наличие или отсутствие объекта проблемы, а не на его содержание (его указывают в описании). Если содержание проблемы варьируется, все известные варианты указываются в описании.

Где?: В каком месте интерфейса пользователя или архитектуры программного продукта находится проблема. Причем, начинайте предложение с существительного, а не предлога.

Когда?: В какой момент работы программного продукта, по наступлению какого события или при каких условиях проблема проявляется.

Page 15: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

15

Несколько правил для создания хорошего описания

2)ОбезличенностьСтарайтесь описывать баги как пошаговое руководство а не как описание своей истории

3)Простые конструкцииСложносочинённые и сложноподчинённые предложения, причастные и деепричастные обороты осложняют восприятие текста. Чем проще будет построено предложение, тем лучше.

 «На панели инструментов есть кнопка с шестерёнкой, открывающая меню из двух пунктов, при наведении на которую не появляется всплывающая подсказка»

«Навести мышку на кнопку с шестерёнкой на панели инструментов – не появилась всплывающая подсказка»

«Нажимаем кнопку», «Открываю страницу»

«Нажать кнопку», «Открыть страницу»

Page 16: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

16

Несколько правил для создания хорошего описания

4)Без лишних словПривычная речь богата эпитетами, местоимениями, предлогами, которые дополнительного смысла не привносят. Если справиться с собственным мозгом очень сложно, запишите весь поток сознания как есть, а потом удалите из текста те слова, которые не несут смысловой нагрузки.

«По какой-то причине смена значений в поле работает довольно странно – по сути обновление поля происходит через какой-то промежуток времени»

«Обновление значений в поле происходит с задержкой»

5)Сократить очевидноеНекоторые действия не являются специфичными для тестируемой системы. Например, сохранение некоторого объекта, закрытие окна, вызов контекстного меню, двойной клик, запуск приложения. Эти действия обычно интуитивно понятны, поэтому при описании ошибки не стоит заострять на них внимание.

«Найти ярлык приложения на рабочем столе, кликнуть по нему 2 раза левой кнопкой мыши»

«Открыть приложение по ярлыку»

Page 17: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

17

Несколько правил для создания хорошего описания

6)Расписывать сложные действияДопустим, в тестируемой системе есть некоторая специфичная операция. Новенькие тестировщики или разработчики, которые плохо ориентируются в интерфейсе, могут не знать, как выполнить такую операцию. Поэтому описать выполнение этой задачи можно через описание простых действий, которые помогут её выполнить.

«Согласовать документ», «Выполнить синхронизацию свойств».

«Нажать кнопку «Согласовано» на панели инструментов карточки документа», «Выбрать команду «Синхронизировать свойства» в контекстном меню объекта».

7)Использовать нумерацию - Упрощается восприятие - Упрощается прохождение шагов воспроизведения. - Появляется возможность сослаться на некоторый пункт.

Page 18: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

18

Несколько правил для создания хорошего описания

ПеречитатьПосле того, как вы написали и откорректировали описание ошибки, обязательно перечитайте от начала и до конца. Возможно, вы найдёте опечатку, нечаянный повтор слова, лишний символ или что-то в этом духе. Поскольку взгляд замыливается от чтения собственного текста, полезно использовать метод переключения внимания – увести взгляд буквально на пару секунд на растение в горшке или соседа слева, а потом вернуть к тексту.

Page 19: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

19

Примеры 1

Ошибка на главной странице при вводе пароля через боковую панель

Главная страница: ошибка при вводе пароля через боковую панель

или

1)Перейти на главную страницу2)Ввести логин в поле «User name»3)Поставить галочку «Stay online»4)Ввести пароль и нажать «Continue»:Появляется окно c текстом «object error» (см скриншот во вложении)

Ошибка воспроизводится только если выбрана галочка «Stay online»

Page 20: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

20

Примеры 2

В панели Яндекс.Бар присутствует совершенно неясное нечтоЕсли набраться спокойствия и терпения, то с помощью скроллбара, коим оснащен неопознанный объект, можно выяснить, что это миниатюрное окно с веб-страницей Яндекс404, где можно даже что-то ввести в строке поиска или пройти по ссылке. Правда впоследствии все это дело становится неактивным белым прямоугольником (см. рис 3)

Работа с авторизацией в главном окне вводит в смятение

Ничего недоступно после клика

В процессе работы с приложением была обнаружена странная ошибка, однако, возникающая, как правило после некоторых действий, например, в моём случае удалось получить зависание и сообщение об ошибке после перетаскивания иконки в область корзины.

Page 21: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

21

Примеры 3

Выпадающий список по полю «Регион» не работает: при попытке выбрать какой-то из элементов появляется сообщение «Uncaught ReferenceError: $Desc is not defined»

1)Перейдите на страницу оформления заявки и в поле «Регион» выберите любой из элементов, например «Костромская область»

Ожидаемый результат:Котромская область выбрана, список городов заполняется городами из Костромской области.

Фактический результат:Пользователь поучает сообщение об ошибке: «Uncaught ReferenceError: $Desc is not defined», список доступных городов пустой.

Что здесь можно улучшить?

Page 22: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

22

Жизненный цикл отчёта об ошибке

Page 23: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

23

Про ответственность и психологию

- Если не ты то кто?Всегда нужно понимать что вы очень часто можете оказаться первой и последней инстанцией, через которую проскочит проблема. Так что будьте внимательны, если встретили что-то не корректное то постарайтесь не игнорировать а разобраться или записать. будь внимательным не игнорируй что-то «непонятное» или «не важное», как минимум запиши или скажи старшему

- Баги есть!Профессиональный скептицизм, нужно настраиваться на поиск ошибок.

- Тестировщик и разработчик – одна команда с общей целью описывайте дефекты нейтрально, уважайте программистов. старайтесь удостоверится что вы ясно поняли друг друга

Page 24: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

24

Список источников

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/

Page 25: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

25

Вопросы

Page 26: Дефекты при тестировании ПО

Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www.exactpro.com

26

Спасибо