Делаете покрытие кода? Разблокируйте 7 процедур одновременно
Делаете покрытие кода? Разблокируйте 7 процедур одновременно

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

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

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

2. Тестовый набор/охват людей

Кромеразвиватькомандасосредоточиться Помимо покрытия кода, в настоящее время все больше и больше тестовых команд занимаются доказательством собственного тестового эффекта. на покрытие кода и инвестировал в создание так называемой платформы тестового покрытия, помимо обеспечения базового полномасштабного, постепенного покрытие код снаружи,Мы также изучаем такие вопросы, как объединение покрытия нескольких версий.,Чтобы справиться с изменением версии во время процесса ручного тестирования, иначе полная регрессия будет слишком медленной, чтобы ее можно было выполнить за один раз. После решения этих проблем,Обычно мы стремимся к «точному тесту».,Создание так называемой платформы прецизионных испытаний,Обеспечьте охват отдельных вариантов использования тестов.,А затем реализовать так называемую прямую прослеживаемость(вариант использования->код)、Обратная трассировка(код->вариант использования),Затем можно выбрать оптимизированный набор вариантов использования из полного количества вариантов использования на основе изменений кода, который имеет приростной угол охвата, который почти соответствует выполнению полного количества вариантов использования.,Для достижения цели повышения эффективности.

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

3. Общее покрытие кода (разработка + тестирование)

Вместо того, чтобы сосредотачиваться на покрытии тест-кейсов/персонала, автор рекомендует сосредоточиться на общем покрытии кода разработки + тестирования. На самом деле за этим стоит упор на сотрудничество между разработкой и тестированием. В нынешнюю эпоху «сокращения затрат, снижения издержек и увеличения смеха», несомненно, является огромной тратой, если команды разработки и тестирования работают над покрытием кода отдельно или даже включают покрытие кода, потому что очень вероятно, что 80% + 80 %=8x%.

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

4. Покрытие разработчиков

Будь то так называемое постепенное по определенному признаку ветки покрытие кода,Или (дополнительное) покрытие кода для всего выпуска.,Если эти Работы предполагают сотрудничество нескольких специалистов,Однако показатели контроля доступа к покрытию в этих сценариях не были достигнуты.,Поэтому иногда в результате получается запутанная информация.,Потому что я не могу разобраться в конкретных данных каждого развитого человека,Невозможно выяснить, кто должен за это нести ответственность. поэтому,Это также выдвигает концепцию охвата персонала.,То есть в текущем (инкрементальном) коде,Есть кто-торазвивать Последнее изменение пользователемкодпокрытие。Автор однажды написал статью《Наконец я разобрался со статистикой личного охвата и получил лучшее из обоих миров.》,Представлено, как объединить git Результат вины используется для достижения этой статистики охвата. Заинтересованные читатели могут обратиться к нему.

5. Покрытие требований

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

6. Покрытие интерфейса

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

7. Охват ссылок

Помимо покрытия линий и покрытия методов, также широко используется концепция покрытия ветвей. Также рекомендуется в модуле тестразвивать фокус людей — Кодируйте области с густыми разветвлениями, поскольку эти места имеют высокую сложность круга и высокую бизнес-сложность, а также являются местами с интенсивным риском. При анализе связей между микросервисами также была предложена аналогичная концепция под названием Покрытие. ссылок。Тщательно отобранные одноклассники NetEase здесь《Тщательно выбранные и точные методы тестирования (продвинутый уровень)》Эта концепция была предложена в статье,В сочетании с ситуацией онлайн-вызова по ссылке,Оцените, соответствуют ли результаты покрытия системы ожидаемым.

Как насчет этого, вы выучили эти показатели покрытия?

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose