Проектирование и реализация исходной, ошибок и возможности трассировки качества
В контексте DevOps возможность трассировки относится к возможности отслеживания изменений и действий на протяжении жизненного цикла разработки программного обеспечения. Эта концепция применяется к различным аспектам этого жизненного цикла, включая изменения исходного кода, разрешения ошибок и поддержания контроля качества. Его реализация необходима для обеспечения надежности продукта, удобства обслуживания и удовлетворенности клиентов.
Возможность трассировки источника позволяет разработчикам отслеживать изменения кода в сценариях совместной работы. Трассировка ошибок упрощает определение, приоритет и устранение проблем с исходным кодом. Качество трассировки гарантирует соответствие программного обеспечения стандартам качества и ожиданиям пользователей путем связывания действий тестирования, метрик и обратной связи с усилиями по разработке.
Проект
На высоком уровне трассировка не зависит от аспектов жизненного цикла разработки программного обеспечения, предназначенных для целей. Аналогичным образом цели и рекомендации по проектированию различаются между исходным кодом, ошибкой и возможностью трассировки качества.
В частности, трассировка источника включает отслеживание журнала изменений кода, включая тех, кто внес изменения, когда они были сделаны, и назначение изменений. Он упрощает проверки кода, отладку и понимание эволюции базы кода с течением времени. С точки зрения разработки эта функция тесно связана с ветвлением Git и объединением стратегий, которые упорядочивают работу разработки. Разработчики создают ветвь компонента для новой работы, фиксируют изменения в своих ветвях и отправляет запросы на вытягивание для проверки. На этом этапе их одноранговые узлы проводят проверки кода и после успешного завершения утверждают изменения, которые будут объединены в основную ветвь.
Возможность трассировки ошибок включает трассировку ошибок или дефектов, сообщаемых во время тестирования или рабочей среды, к их основной причине в базе кода. Она также обычно использует сбор данных, таких как сведения об отчете об ошибках, шаги для воспроизведения, затронутых компонентов и связанных изменений кода. Ее цели включают в себя приоритеты и устранение ошибок эффективно для решения проблем с программным обеспечением.
Качество трассировки охватывает связанные с качеством действия и артефакты трассировки во время процесса разработки программного обеспечения. Это включает связывание метрик качества, тестовых вариантов, результатов теста и других действий проверки качества с требованиями, историями пользователей и изменениями кода. Качество трассировки помогает оценить влияние изменений программного обеспечения на его качество и определить области для улучшения.
Реализация трассировки
Сведения о реализации трассировки отличаются в некоторой степени в зависимости от платформы DevOps.
Возможность трассировки источника
Так как GitHub и Azure DevOps поддерживают Git в качестве механизма управления версиями, к обоим из них применяются ряд методов трассировки источника. В результате реализация трассировки исходного кода в обоих случаях включает в себя принятие рекомендаций, таких как написание описательных сообщений фиксации, использование четко определенной стратегии ветвления и требование запросов на вытягивание для проверок кода.
Однако между ними также есть некоторые различия. Реализация трассировки источника в репозиториях GitHub обычно включает использование таких функций, как правила защиты ветви для принудительного применения процессов проверки кода и проверки изменений перед слиянием. Интеграция GitHub с Проблемами позволяет связывать изменения кода с соответствующими проблемами, обеспечивая трассировку между изменениями кода и требованиями проекта. Azure DevOps предлагает политики ветвей и политики запросов на вытягивание для применения проверка качества кода и связывания изменений с рабочими элементами, что обеспечивает возможность трассировки между изменениями кода и историями или задачами пользователя. Кроме того, Azure DevOps обеспечивает более широкую интеграцию со своей системой отслеживания рабочих элементов, что позволяет более глубоко отслеживать и создавать отчеты по сравнению с отслеживанием проблем GitHub.
Возможность трассировки ошибок
В Azure DevOps возможность трассировки ошибок упрощается с помощью Azure Boards, где ошибки отслеживаются как рабочие элементы и могут быть связаны с изменениями кода, фиксациями и запросами на вытягивание. Azure Boards позволяет создавать пользовательские рабочие процессы для управления ошибками, определять такие состояния, как New, Active, Resolved и Closed, обеспечивая видимость жизненного цикла ошибки. Кроме того, Azure DevOps обеспечивает многофункциональную интеграцию между ошибками и другими рабочими элементами, обеспечивая трассировку между ошибками и историями пользователей, задачами и эпическими возможностями.
В GitHub трассировка ошибок зависит от интеграции проблем и изменений кода, где ошибки, сообщаемые как проблемы, могут быть связаны с фиксациями и запросами на вытягивание. GitHub Actions предоставляет возможность реализации настраиваемых рабочих процессов, включая те, которые связаны с возможностью трассировки ошибок. С помощью GitHub Actions можно определить рабочие процессы, которые автоматизируют процессы, запускаемые событиями в репозитории GitHub, например создание или изменение проблем. Это позволяет создавать пользовательские рабочие процессы для управления ошибками, включая определение состояний, назначение задач и автоматизацию действий на основе определенных условий. Фактически, хотя GitHub Actions обеспечивают гибкость в автоматизации рабочих процессов, они обычно требуют больше усилий и настройки по сравнению со встроенными функциями Azure Boards в Azure DevOps.
Качество трассировки
В Azure DevOps можно управлять отслеживанием качества с помощью планов тестирования, которые позволяют командам упорядочивать, выполнять и отслеживать тестовые случаи. Планы тестирования предоставляют комплексные метрики качества, включая частоту прохождения тестового случая, результаты тестового выполнения и отчеты о охвате теста. Кроме того, Azure DevOps предлагает интеграцию с средствами покрытия кода для измерения охвата тестов и определения областей базы кода, требующих дополнительного тестирования.
GitHub предлагает аналогичную функциональность через GitHub Actions, позволяя командам автоматизировать различные типы тестов, таких как модульные тесты, тесты интеграции и сквозные тесты. Здесь также GitHub Actions обеспечивает гибкость в настройке рабочих процессов тестирования и интеграции с сторонними средствами тестирования, но они, как правило, требуют дополнительной настройки для достижения того же уровня комплексных метрик качества и отчетов о покрытиях тестов, как и планы тестирования Azure DevOps.