Systems track software errors throughout the life cycle

UDC 004.624: 004.738.5
Publication date: 30.06.2025
International Journal of Professional Science №6(2)-25

Systems track software errors throughout the life cycle

Системы отслеживание ошибок программного обеспечения в процессе жизненного цикла

Ilyin Pavel Alexandrovich
Scientific adviser: Petruhnova Galina Viktorovna

1. Undergraduate Student
Voronezh State Technical University
2. Cand. of Eng. Sc., Asc. Prof.,
the Department of Automated and Computing Systems
Voronezh State Technical University

Ильин Павел Александрович
Научный руководитель - Петрухнова Галина Викторовна
1. Студент бакалавриата
Воронежский государственный технический университет
2. к.т.н., доцент кафедры автоматизированных и вычислительных систем
Воронежский государственный технический университет
Аннотация: Показана актуальность систем отслеживания ошибок программного обеспечения в процессе жизненного цикла. Рассмотрены основные этапы жизненного цикла ошибок программного обеспечения, их содержание и назначение. Представлены наиболее популярные программные продукты, выполняющие функции отслеживания ошибок программного обеспечения. Указаны основные блоки информационных систем для управления жизненным циклом программных ошибок. Показано, что ядром системы отслеживания ошибок программного обеспечения является блок описания/воспроизведения ошибок. Этот блок позволяет говорить о преимуществах системы над ее аналогами. Показано, что инновационным подходом в системах отслеживания ошибок программного обеспечения является метод применения макро-описания. Этот метод значительно упрощает выполнение процессов описания сложных ситуаций повтора. Актуально использование инструментов видео-фиксирования ошибок. В том числе актуальны последовательности воспроизведения посредством ряда автоматического выполнения скриншотов. При использовании данной методики время обработки каждой ошибки сокращается в несколько раз, как на стороне заявителя, так и на стороне исполнителя. Унификация обработки элементов базы данных ошибок позволяет не только сформировать стандарт ведения данной базы, но и привести к единообразию ранее созданную базу.

Abstract: The relevance of software error tracking systems in the life cycle process is shown. he main stages of the life cycle of software errors, their content and purpose are considered. The most popular software products that perform software error tracking functions are presented. The main blocks of information systems for managing the life cycle of software errors are indicated. It is shown that the core of the software bug tracking system is the bug description/reproduction unit. This block allows us to talk about the advantages of the system over its analogues. It is shown that an innovative approach in software bug tracking systems is the method of using macro-description. This method greatly simplifies the execution of processes for describing complex repetition situations. The use of video recording tools for errors is relevant. Including relevant playback sequences through a series of automatic screenshots. When using this method, the processing time for each error is reduced several times, both on the applicant’s side and on the performer’s side. Unification of the processing of elements of the error database allows not only to form a standard for maintaining this database, but also to bring the previously created database to uniformity.
Ключевые слова: ошибка программного обеспечения, жизненный цикл ошибки программного обеспечения, база данных ошибок

Keywords: software bug, software bug life cycle, bug database


  1. Введение

Развитие и спрос программного обеспечения (ПО) в различных сферах деятельности, его внедрение в современную жизнь приводят к росту сложности кода и увеличению объёма обрабатываемых данных, что требует высокой гарантии качества разработки программного продукта. Также каждая программа, перед передачей в использование, должна пройти множество видов тестирования, чтобы минимизировать затраты на обслуживание программы после выпуска [1].

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

  1. Методики и аппаратные средства

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

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

Решение о статусе ошибки и управление ошибкой контролируется сопровождающим отчетом. Отчёт об ошибках — важнейший инструмент разработчика программного продукта, а хорошо написанный отчёт о дефекте — половина решения проблемы для программиста [3]. Единственная цель создания отчёта заключается в исправлении ошибки. Отчёт необходим для всех участвующих лиц в разработке ПО, включая заказчика, — он помогает анализировать процесс разработки программного обеспечения во времени.

Существует понятие жизненного цикла ошибки (ЖЦО)– это цикл, через который проходит отчёт об ошибке за весь период своего существования, включая различные состояния ошибки [4]. Он начинается с момента обнаружения новой ошибки, и заканчивается, когда ошибка решена и закрыта, гарантируя, что не будет воспроизведена снова.

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

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

Главным компонентом системы отслеживания ошибок является база данных (БД). Она содержит сведения об обнаруженных ошибках. Рассмотрим популярные программные продукты, содержащие подсистемы для отслеживания ошибок в процессе жизненного цикла.

JIRA [9] – программный продукт, который может быть использован в крупных организациях с большим количеством пользователей и проектов. На сегодняшний день является очень популярным инструментом.

Bugzilla [10]  – среда может потребовать много усилий для настройки. Мощность и гибкость этого программного продукта делают его востребованным для многих крупных компаний.

Redmine [9] – среда для различных профильных организаций. Программный продукт особенно популярен среди IT-компаний, но также широко востребован в организациях, не связанных с IT-сферой.

GitHub Issues – среда, которая подходит для проектов любого размера. Этот программный продукт может потребовать дополнительных ресурсов для настройки.

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

MantisBT – это бесплатная среда с открытым исходным кодом. Она известна своим балансом между простотой и мощностью, но имеет ограниченные возможности по отслеживанию ЖЦО.

  1. Результаты

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

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

«Далее» — этап, когда статус ошибки меняется на «Отказ» или на статус «Назначена».

«Отказ» — это этап, когда пишется комментарий программиста или менеджера о причине отклонения ошибки. Причиной может быть некачественное описание (например, такая ошибка уже существует и обнаружен её дубликат), невозможность воспроизвести ошибку. Отказ может произойти, потому что для заказчика какие-то ошибки перестали быть актуальными, и в этом случае тестировщик или закрывает ошибку, или дополняет комментарии данной ошибки и переводит ее заново в состояние «Назначена».

«Назначена» — ситуация, когда ошибка просмотрена и открыта. Другими словами – назначена для исправления.

«Решена» — этап, когда ошибку исправили, и она, в этом состоянии, требует перепроверки тестировщиком. После проверки ошибки она переводится в состояние «Переоткрыта» (если ошибка не исправлена или исправлена неполностью) либо в «Закрыта» (если ошибка исправлена).

Все этапы ЖЦО должны отражаться в БД ошибок. Ошибка должна отслеживаться в течение всего своего жизненного цикла.

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

  • блок описания/воспроизведения выявленных ошибок;
  • блок отладки посредством выполнения макросов;
  • блок унификации обработки элементов БД ошибок.

Данные блоки взаимосвязаны друг с другом.

Ядром системы ошибок, позволяющим говорить о ее преимуществах над аналогами, является блок описания/воспроизведения ошибок. При работе с этим блоком возможно практическое применение мультипарадигмальной методологии управления ЖЦО [11] – [13] за счёт использования инструментов видео-фиксирования ошибок, в том числе последовательности воспроизведения посредством ряда автоматического выполнения скриншотов. При этом инновационным в данном контексте является метод применения макро-описания, поскольку он упрощает выполнение процессов описания сложных ситуаций повтора.

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

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

  1. Заключение

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

На практике применение мультипарадигмальной методологии управления ЖЦО [11] – [13]  за счёт использования инструментов видео-фиксирования ошибок, в том числе последовательности воспроизведения посредством ряда автоматического выполнения скриншотов упрощает выполнение процессов описания сложных ситуаций повтора. Описанные преимущества системы управления ошибками позволяют сделать вывод об актуальности применения данного решения в современных условиях.

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

References

1. Богомяков И.Н. Программа отслеживания ошибок при тестировании программного обеспечения // Научное сообщество студентов XXI столетия. Технические науки: сб. ст. по мат. XXIX междунар. студ. науч.-практ. конф. Новосибирск. – 2015. – № 2(28).- URL: https://sibac.info/archive/technic/2 (28).pdf (дата обращения: 15.06.2025)
2. Астахов И. А., Ефромеева Е. В. Использование системы контроля ошибок для сопровождения программного обеспечения // Academy. – 2019.- № 4 (43). – С. 26-28.
3. Куликов С. C. Тестирование программного обеспечения. Базовый курс // Минск: Четыре четверти. – 2017. – 312 с.
4. Морозова Ю. В. Тестирование программного обеспечения // Томск: Эль Контент. – 2019. – 120 с.
5. Тихонов Г. А. Система отслеживания ошибок // Теория и практика современной науки. – 2019. – № 3 (45). – С. 292-296.
6. Давыденко А. А Оценка систем отслеживания ошибок // Электронный периодический рецензируемый научный журнал «SCI-ARTICLE.RU». – 2017. – № 49 – С. 13-22. .— Режим доступа: https://sci-article.ru/number/09_2017.pdf дата обращения: 15.06.2025)
7. Система отслеживания ошибок // Теория и практика современной науки. – 2019. – №3 (45) – С. 292-296. – Режим доступа: https://cyberleninka.ru/article/n/sistema-otslezhivaniya-oshibok/viewer (дата обращения: 15.06.2025)
8. Артюх Т. С., Попова Ю. Б. Системы управления ошибками при разработке программных продуктов // Информационные технологии в образовании, науке и производстве: III Международная научно-техническая интернет-конференция, 20-21 ноября 2015 г. Секция 2. Минск. – 2015. – С. 1-5.
9. Долгова И. А., Золина И. С. Использование баг-трекинговых систем для тестирования сложных информационных систем // Новые информационные технологии и системы: Материалы XV Международной научно-технической конференции. Пенза, – 2018. – С. 2-24.
10. Колесников А. В., Мордвинова А. Ю. Исследование информационных систем контроля ошибок при разработке программных продуктов // Инновационная наука. – 2016. – № 4-3 (16). – С. 115-116.
11. Данилин А.О. Мультипарадигмальность управления жизненным циклом дефектов программных и аппаратных систем // А.О. Данилин А.О., М.Д. Кол, Г.В. Петрухнова / Вестник Воронежского государственного технического университета. – 2015. – Т. 11. № 3. – С. 24-27.
12. Данилин А.О., Кол М.Д., Петрухнова Г.В. Обеспечение надёжности программных решений // Сб. науч. тр. «Информатика: проблемы, методология, технологии». Материалы XV международной науч.-мет. конф. Воронеж: ВГУ. – 2015. – С. 265-268.
13. Данилин А.О.. Петрухнова Г.В. Параметры определения уровня качества программных продуктов // Сб. науч. тр. «Физико-математическое моделирование систем». Материалы ХIV Междунар. сем. Министерство образования и науки Российской Федерации, Российская академия наук, Воронежский государственный университет, Институт химической физики РАН. – 2016. – С. 61-64.