Жизненный цикл бага (дефекта ПО) – Как живет баг

Хорошо живет, пока не обнаружили. А вот когда обнаружили – у него начинается борьба за выживание. Давайте окунемся в жизненный цикл бага.

Тестировщик » QA-блог » База » Жизненный цикл бага (дефекта ПО) – Как живет баг

Жизненный цикл бага (дефекта ПО)

Жизнь бага по-своему интересна. Агроном должен иметь хорошее представление о жизни обычных жуков, чтобы бороться за урожай. Тестировщик – о жизни жуков программных (багов), чтобы бороться за качество ПО.

На схеме ниже изображен жизненный цикл бага (дефекта ПО) по его статусам.

На изображение жизненный цикл бага (дефекта ПО) - Как живет баг

1. Баг создан

Не ошибается только тот, кто ничего не делает. Программисты – делают, поэтому могут ошибаться. Из их ошибки на свет появляется новорожденный баг – различие между тем, что ПО должно делать (ожидаемый результат), и тем, что оно делает реально (фактический результат).

До поры до времени баг здравствует и радуется жизни. Пока его не заметили, он может наплодить еще много багов помельче или даже покрупнее. Вот почему надо как можно раньше заметить баг и заняться его устранением.

2. Баг найден

И вот наконец наступает тот момент, когда баг ловят с поличным. Найти его могут и разработчики, и тестировщики. Чаще, конечно, тестировщики (QА-специалисты), потому что они как раз профессиональные охотники за багами. Хочешь быть таким же крутым профессионалом – записывайся на курсы тестировщиков. Там тебя научат классно охотиться и выявлять баги, а еще как советовать программистам делать ПО лучше и удобнее для пользователей.

Кстати, профессиональный совет: если в каком-либо модуле ПО нашел баг – поищи там же других. Обычно баги любят тусоваться кучками-кластерами. На языке охотников за багами это называется «Кластеризация дефектов».

3. Баг описан

Казалось бы, как только баг найдет – надо бросить все свои силы на то, чтобы его уничтожить. На самом деле – нет. Уничтожить-то его, конечно, следует, но перед этим баг надо тщательно описать.

Дело в том, что уничтожить баг может не тестировщик, а программист – он должен устранить ту самую ошибку в коде, из которой баг черпает свои жизненные силы. Поэтому тестировщик делает баг-репорт, в котором описывает баг по всем правилам и прикладывает его принтскрин. Чем лучше будет описан баг – тем эффективнее программист устранит вредоносную ошибку.

4. Баг приоретизирован

Казалось бы, вот теперь-то надо разобраться с противным багом. Однако, на практике дефектов обычно выявляется много, а ресурсов разработчика на их устранение – мало. Поэтому баги надо классифицировать по серьезности, т.е. влиянию на качество IT-продукта, и приоритету, т.е. срочности устранения. 

Это, кстати, не одно и то же. Иногда бывает так, что серьезные баги пока что не трогают, т.к. для выхода новой версии ПО нужно удалить более приоритетные.

5. Баг исправлен

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

Чтобы он не забыл, куда именно направляться и что именно чинить, в IT-командах используют Канбан-доски. На них в карточках выдают задания разработчикам (и другим специалистам). Задание выполнено – карточка убирается с доски в архив.

6. Ретест

Разработчик вернулся из боевого похода – можно открывать шампанское и праздновать победу? Не совсем. К сожалению, бывает так, что шампанское открывать преждевременно. 

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

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

7. Баг закрыт

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

Резюме

Жизнь бага интересна и проходит несколько стадий-статусов. Охотиться за ним еще интересней. Записывайтесь на курсы тестировщиков и помогайте избавлять IT-продукты от багов!

на изображение автор Михаил Кулешов

Автор Михаил Кулешов

Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *