ПЛАНИРОВАНИЕ И СОЗДАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ ЖИЗНЕННЫМ ЦИКЛОМ ОШИБОК ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ПРОДУКТА Лешко Е.А.

DOI: 10Л2737/15341

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

Ключевые слова: жизненный цикл ошибки, требование, отчет об ошибке.

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

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

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

К наиболее известным и распространенным инструментам управления жизненным циклом ошибок в ПО относятся JIRA, Redmine, Trac, Mantis.

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

Redmine - бесплатный open-source инструмент для управления проектами и ошибками в программных продуктах с поддержкой диаграмм Ганта, визуализацией дедлайнов и прогресса по нескольким проектам одновременно. Система условно-бесплатная: желающие могут пожертвовать произвольную сумму в фонд развития проекта или помочь идеями в разработке и дизайне.

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

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

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

  • • поддержка большого количества проектов;
  • • удобный и функциональный web-интерфейс;
  • • наличие интеграции с системами контроля версий;
  • • легкость доработки под нужды компании;
  • • легкость установки и сопровождения.

Рассмотрим возможную структуру альтернативного инструмента управления жизненным циклом ошибок при разработке программного продукта.

Система может состоять из 3 основных блоков-хранилищ: хранилище требований, хранилище тест-кейсов (тестов) и хранилище отчетов об ошибках.

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

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

Ошибка в программном продукте - любое несоответствие фактического и ожидаемого результата (согласно требованиям).

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

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

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

Для ошибок с помощью системы такого типа можно получать аналитические отчеты и статистику. Например, процентное соотношение ошибок по таким их параметрам, как:

  • • важность (критическая, высокая, средняя, низкая);
  • • приоритет - срочность устранения (критическая, высокая, средняя, низкая);
  • • статус (ошибка обнаружена, назначена, исправлена, проверена, открыта заново, отклонена, отложена, открыта, закрыта и т.д.);
  • • тип (нереализованная функциональность, некорректная операция, косметический дефект, потеря данных, ошибка локализации, проблема инсталляции (деинсталляции), низкая производительность, крах системы и т.д.).

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

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

Лешко Евгений Александрович, студент 5 курса факультета математики и информатики Гродненского государственного университета имени Янки Купалы, г. Гродно, Беларусь

Научный руководитель - Ерёмина Александра Рафаэловна, кандидат физико-математических наук, доцент кафедры системного программирования и компьютерной безопасности Гродненского государственного университета имени Янки Купалы, г. Гродно, Беларусь

УДК 004.67+004.942

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >