Жизненный цикл бага

Каждый найденный баг всегда проходит через конкретные “этапы”, которые называются жизненный цикл бага. Цикл, его этапы и переходы между ними сильно зависят от процесса тестирования и разработки, используемого в компании. Поэтому рассматриваем базовый процесс, этапы которого существуют в 99% случаев.

Этапы жизненного цикла бага

1. Открыт (Open) — баг создан, оформлен и передан разработчику / команде разработки

2. В Работе (In Progress) — ведутся работы по исправлению

3. Исправлен (Ready for check) — баг исправлен и передан тестировщику на повторную проверку

4. Закрыт (Closed) — баг проверен и больше не воспроизводится

Переходы бага между этапами жизненного цикла

Переходы между этапами жизненного цикла пронумерованы в соответствии с нумерацией списка ниже.

1. Открыт — Закрыт. Если баг — это “не баг”, он может сразу быть закрыт, без промежуточных операций. Иногда этот переход выносят в отдельный этап жизненного цикла, который называется Отклонен (Rejected). Он используется для анализа процесса тестирования или оценки работы тестировщиков / разработчиков. Если происходит отклонение бага, разработчик должен аргументированно описать, почему он не считает найденную неточность багом, а решение про исправление или закрытие должен принимать человек, который отвечает за качество.

2. Открыт — В Работе. Баг подтвержден и передан разработчикам, которые начали работу над исправлением.

3. В Работе — Закрыт. Бывает, что в ходе исправления ошибки разработчик понимает, что это не ошибка, а что-то другое. (фича / неточность в требованиях, которую обсудили без тестировщиков и т.п.) В этом случае разработчик описывает, почему это не баг, и закрывает задачу. Иногда этот переход выносят в отдельный этап жизненного цикла, Не Баг (Not A Bug). В таком случае задача возвращается тестировщикам, они ее пересматривают и либо закрывают, соглашаясь с разработчиком, либо исправляют описание и заново открывают.

Появление большого количества багов в статусе “Не Баг” говорит о проблемах в коммуникации и / или документации.

4. В Работе — Исправлен. Ошибку локализовали и исправили, она передана тестировщику.

5. Исправлен — Открыт. Тестировщик проверил исправление, баг все еще воспроизводится, то есть не исправлен. Он возвращается разработчику (возможно с указанием каких-то дополнительных деталей). Этот переход может существовать как отдельный этап жизненного цикла бага — Переоткрыт (Reopened). Появление большого количества багов в статусе “Переоткрыт” может говорить о проблемах в оформлении багов и использоваться для анализа качества работы тестировщиков.

6. Исправлен — Закрыт. Тестировщик проверил исправление, баг больше не воспроизводится.

7. Закрыт — Открыт. Если баг случайно закрыли, должна быть возможность его переоткрыть.

Порядок выполнения работы:

  1. Изучить теоретические положения о фиксации багов и ошибок в ПО, способы их документирования, состав баг-репорт, инструментальные средства фиксации багов.
  2. Выполнить задание по варианту в виде десктопного приложения Windows Form или WPF (не консольное) с ошибками интерфейса, функционала, удобства использования (эргономики, UX).
  3. Составить баг-репорты по всем ошибкам, внести их в отчет по практике.
  4. Выполнить сравнительный анализ инструментальных средств фиксации багов в виде таблицы и занести их в отчет по практике.

Варианты выполнения:

1.Проверить, делится ли введенное число на 5, 11, 13.

2.Составить программу, которая вычисляет значение Z = X/Y, где Y ==SinX + 0,5. В случае Y = 0 вывести на печать сообщение «Деление на 0».

3.Определить, имеется ли среди чисел A, B, C хотя бы одно четное.

4.Даны два целых числа: А и С. Если число С отрицательное, вычислить остаток от деления А на С. Если число С положительное, вывести на печать число, следующее за суммой А и С.

5.Определить, попадает ли число Х в интервалы от –14 до 2 и от 5 до 10. Напечатать модуль этого числа в случае положительного ответа.

6.Две точки задаются своими координатами. Определить, какая из них находится дальше от окружности заданного радиуса с центром в начале координат.

7.Проверить, делится ли введенное число на 5, 4, 12.

8. В зависимости от введенного признака вычислить длину окружности при k = 1 (L = 2πR); площадь

круга k = 2 (L = πR2). Радиус один и тот же, задается пользователем.

9. Написать программу вычисления корней квадратного уравнения Ax2 + Bx + C = 0.

10.Определить, попадает ли точка с координатами Х, Y внутрь круга радиусом R (центр круга совпадает с началом координат).

11.Даны два действительных числа. Удвоить первое число, если оно меньше второго. В противном случае вычислить модуль суммы этих чисел.

12. Радиус окружности, вписанной в равносторонний треугольник, равен R. Составить программу для вычисления стороны (признак N = 1), высоты (признак N = 2) или площади треугольника (признак N = 3).

13.Определить, в каком координатном угле находится точка с координатами (X, Y), вывести на печать координаты этого угла.

14.Определить, какие из данных трех действительных чисел A, B, C являются целыми.

15.Написать программу вычисления стоимости покупки с учетом скидки. Скидка на 3% предоставляется, если сумма покупки больше 500 руб., на 5% – если сумма покупки больше 1 000 руб.

16. Введите три угла и проверьте, может ли треугольник иметь такие углы.

17. На некотором участке дороги разрешенная скорость составляет 60 км/ч. Введите скорость водителя и определите, движется ли он с разрешенной скоростью, или же его следует наказать согласно ПДД.

18. Введите три целых числа и определите, сколько среди них двузначных.

19. На сейфе установлен код 3169. Введите код и сообщите, откроется ли сейф.

20. Введите координаты точки в двумерном пространстве (x и y) и проверьте, попадает ли она в единичную окружность.

 

 

Контрольные вопросы:

1. Понятие тестирование ПО.

2. Что такое дефект, ошибка, отказ?

3. Классификация багов?

4. Что такое баг-репорт, какую информацию он содержит?

5. Какое ПО применяют для фиксации ошибок и багов в программах?

 

Литература:

Святослав Куликов. «Тестирование программного обеспечения. Базовый курс». Распространяется бесплатно в pdf-формате. http://svyatoslav.biz/software_testing_book_download/

 

Интернет источники:

http://www.protesting.ru/testing/ портал тестирования

 

https://habr.com/ru/post/279535/ тестирование ИТ-систем

 

https://www.rstqb.org/ru/ портал сертификации