Как выстроить эффективный процесс управления дефектами?
Как выстроить эффективный процесс управления дефектами?

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

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

Управление дефектами - это процесс, используемый при разработке и обеспечении качества программного обеспечения для выявления, составления отчетов, определения приоритетов, отслеживания и устранения дефектов в программе. Он помогает поддерживать и улучшать общее качество программного продукта. Это итеративный процесс, который продолжается на протяжении всего жизненного цикла создания продукта, чтобы убедиться в высоком качестве программного обеспечения и его соответствии требованиям заказчиков.

При этом важно отметить, что немаловажную роль играют инструменты автоматизации в управлении дефектами, помогая эффективно выявлять и сообщать об ошибках внутри ИТ команды. Чаще всего можно встретить такие системы, как Jira, Trello и др. Также многие системы управления тестированием, такие как TestIT, Qase.io и другие содержать подобную функциональность. Такие системы позволяют создавать отчеты об ошибках, что экономит время и снижает вероятность человеческой ошибки при создании отчетов об ошибках.

Но давайте разберем, что же под собой подразумевает процесс управления дефектами?

Верхнеуровнево, процесс управления дефектами программного обеспечения включает в себя следующие этапы:
  • Идентификация дефектов
  • Регистрация дефектов
  • Сортировка дефектов
  • Назначение дефектов
  • Устранение дефектов
  • Проверка дефектов
  • Закрытие дефектов
  • Отчетность по дефектам

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

Можно выделить основные цели данного процесса:
  • Обнаружение ошибок на всех стадиях SDLC и качественное их документирование
  • Эффективное устранение дефектов с минимальным влиянием на систему
  • Информирование заинтересованных сторон о состоянии системы

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

Важной составляющей процесса управления дефектами является жизненный цикл дефекта. Возможно, в настоящее время это уже звучит неуместно, но представьте себе, что команды тестирования и разработки будут обмениваться информацией о дефектах в устной форме. Это сильно усложняет ситуацию, поскольку тест-менеджеру будет достаточно сложно контролировать данный процесс и понимать, где и на какой стадии находиться заведенный дефект. Поэтому одной из задач тест-менеджера или руководителя по тестирования является создание ЖЦД, которыйобеспечивает единообразие и стандартизацию процесса.

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

Чаще всего каждая команда или компания в целом определяет самостоятельно ЖЦД для себя, но тем не какие-то базовые статусы всегда присутствуют.
Важно помнить, что управление дефектами — это итеративный процесс, следовательно, как и при работе с любым другим процессом, его необходимо постоянно совершенствовать. Но для оптимизации работы данного процесса нужно хорошо понимать, из чего он состоит и на какой именно стадии ответственный менеджер за тестирование может добиваться повышенных показателей эффективности процесса.


Предотвращение дефектов

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


Обнаружение дефектов

Следующим этапом процесса управления дефектами является обнаружение дефектов. Ошибка считается обнаруженной только тогда, когда разработчик утверждает ее как достоверную. Исправление таких ошибок на ранних стадиях является наилучшим способом борьбы с ними, поскольку это экономически эффективный способ. Если оставить их без внимания, то на последующих этапах процесс исправления ошибок и связанные с ним затраты будут выше.


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

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


Устранение дефекта

Следующим этапом ПУД является устранение дефектов. Этот этап включает в себя исправление ошибок. Он начинается с сообщения о выявленных ошибках команде разработчиков. Теперь команда разработчиков определяет приоритеты, работает над устранением ошибок и сообщает о статусе менеджеру по тестированию, заявляя, что ошибка устранена.

Этап устранения дефектов может включать в себя следующие этапы:
1. Приоритезация рисков - после получения сообщения об ошибке команда разработчиков (или продукт менеджер) определяет приоритеты исправления. Приоритетность ошибок такжеможет определяться степенью серьезности дефекта.
2. Исправление дефекта - теперь разработчики приступают к исправлению ошибок в соответствии с их приоритетом. Сначала они работают над ошибками с высоким приоритетом, а затем переходят к остальным.
3. Сообщение о решении проблемы - после устранения ошибки разработчики должны сообщить об этом команде тестирования, указав, что проблема устранена и сообщив какую-либо дополнительную информацию об причинах дефекта, особенностях его исправления и т.д. Для эффективного управления всегда желательно иметь полное понимание о причине возникновения дефекта, чтобы в дальнейшем была возможность использовать данную информацию на стадии предотвращения дефектов последующих релизов.


Управленческая отчетность и совершенствование процесса

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

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


Какие бывают сложности?

В ходе организации ПУД тест-менеджер может столкнуться с рядом сложностей, например,
  • Если процесс управления дефектами не управляется должным образом, это может привести к значительному росту затрат с течением времени, что в конечном итоге приведет к увеличению бюджета проекта.
  • ·Неправильное управление дефектами может привести к таким недостаткам, как неудовлетворенность клиентов, негативные отзывы, потеря прибыли и ущерб репутации бренда.
  • Управление дефектами может занимать много времени, особенно если необходимо отследить, расставить приоритеты и устранить большое количество дефектов. Это может привести к замедлению процесса разработки и выпуска продукта.
  • В крупном проекте с большим количеством дефектов существует риск того, что критические дефекты могут быть пропущены из-за большого количества сообщений о проблемах.
  • Устранение дефектов предполагает проведение регрессионного тестирования, чтобы убедиться, что внесенные изменения не приведут к появлению новых проблем. Этот процесс может занимать много времени, особенно в сложных программных системах. Автоматизированное регрессионное тестирование позволяет ускорить этот процесс.

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

Ноябрь, 20 / 2023

Автор: Александр Мешков
Made on
Tilda