Анализ покрытия кода стал почти стандартной возможностью платформ DevOps, а также базовой возможностью таких сервисов, как так называемое точное тестирование. Так что же еще можно сделать, кроме обеспечения покрытия версий? Сейчас конец года, поэтому я разобрался с этим, чтобы все могли использовать его при написании плана работы на следующий год.
1. Постепенное покрытие кода
После того, как команда сформировала базовые возможности покрытия кода, первое, что обычно рассматривают, — это постепенное покрытие кода. Это возможность работы с самыми обширными сценариями применения. Например, когда разработчики объединяют код, они могут использовать постепенное покрытие кода в качестве посредника при интеграции кода в качестве предварительного контроля качества. Некоторые команды также будут использовать постепенное покрытие кода в качестве требования для выпуска и запуска версии и использовать его в процессе выпуска.
2. Тестовый набор/охват людей
Кромеразвиватькомандасосредоточиться Помимо покрытия кода, в настоящее время все больше и больше тестовых команд занимаются доказательством собственного тестового эффекта. на покрытие кода и инвестировал в создание так называемой платформы тестового покрытия, помимо обеспечения базового полномасштабного, постепенного покрытие код снаружи,Мы также изучаем такие вопросы, как объединение покрытия нескольких версий.,Чтобы справиться с изменением версии во время процесса ручного тестирования, иначе полная регрессия будет слишком медленной, чтобы ее можно было выполнить за один раз. После решения этих проблем,Обычно мы стремимся к «точному тесту».,Создание так называемой платформы прецизионных испытаний,Обеспечьте охват отдельных вариантов использования тестов.,А затем реализовать так называемую прямую прослеживаемость(вариант использования->код)、Обратная трассировка(код->вариант использования),Затем можно выбрать оптимизированный набор вариантов использования из полного количества вариантов использования на основе изменений кода, который имеет приростной угол охвата, который почти соответствует выполнению полного количества вариантов использования.,Для достижения цели повышения эффективности.
На этом основании менеджеры по тестированию обычно предлагают покрытие тестировщиков, то есть они надеются узнать эффект выполнения теста каждым тестировщиком и тестовое покрытие тестовых случаев, выполняемых этим человеком.
3. Общее покрытие кода (разработка + тестирование)
Вместо того, чтобы сосредотачиваться на покрытии тест-кейсов/персонала, автор рекомендует сосредоточиться на общем покрытии кода разработки + тестирования. На самом деле за этим стоит упор на сотрудничество между разработкой и тестированием. В нынешнюю эпоху «сокращения затрат, снижения издержек и увеличения смеха», несомненно, является огромной тратой, если команды разработки и тестирования работают над покрытием кода отдельно или даже включают покрытие кода, потому что очень вероятно, что 80% + 80 %=8x%.
Таким образом, если сформулировано общее покрытие кода, цели обеих сторон могут быть общими, и отчет о покрытии кода действительно может стать отправной точкой для выявления и заполнения пробелов. При разработке и тестировании также будет учитываться цель достижения общего покрытия. наименьшие затраты Это, в свою очередь, способствует так называемому сдвигу тестов влево, погружению вариантов использования и другим видам работы, которые действительно могут обеспечить встроенное качество.
4. Покрытие разработчиков
Будь то так называемое постепенное по определенному признаку ветки покрытие кода,Или (дополнительное) покрытие кода для всего выпуска.,Если эти Работы предполагают сотрудничество нескольких специалистов,Однако показатели контроля доступа к покрытию в этих сценариях не были достигнуты.,Поэтому иногда в результате получается запутанная информация.,Потому что я не могу разобраться в конкретных данных каждого развитого человека,Невозможно выяснить, кто должен за это нести ответственность. поэтому,Это также выдвигает концепцию охвата персонала.,То есть в текущем (инкрементальном) коде,Есть кто-торазвивать Последнее изменение пользователемкодпокрытие。Автор однажды написал статью《Наконец я разобрался со статистикой личного охвата и получил лучшее из обоих миров.》,Представлено, как объединить git Результат вины используется для достижения этой статистики охвата. Заинтересованные читатели могут обратиться к нему.
5. Покрытие требований
Покрытие кода требований относится к покрытию нового кода при реализации определенного требования. Учитывая исходное общее инкрементное покрытие, детализация до инкрементного покрытия кода каждого требования поможет понять ситуацию тестирования каждого требования. Этот индикатор обычно может использоваться разработчиками на этапе тестирования, чтобы обеспечить базовую гарантию для тестируемой версии путем согласования порога покрытия требований. С точки зрения реализации, если команда пробует использовать методы управления ветвями, такие как требования и привязка ветвей функций, то эта проблема преобразуется в постепенное покрытие кода в ветке функций.
6. Покрытие интерфейса
Предыдущий доклад был полностью посвящен коду. На работе некоторые студенты также предложили концепцию покрытия интерфейсов, которая представляет собой покрытие интерфейсов, предоставляемых определенным микросервисом. Эта концепция и концепция «покрытия метода» в общем охвате предназначены только для подмножества методов интерфейса. Как правило, эти данные также можно использовать для измерения эффективности тестирования системы.
7. Охват ссылок
Помимо покрытия линий и покрытия методов, также широко используется концепция покрытия ветвей. Также рекомендуется в модуле тестразвивать фокус людей — Кодируйте области с густыми разветвлениями, поскольку эти места имеют высокую сложность круга и высокую бизнес-сложность, а также являются местами с интенсивным риском. При анализе связей между микросервисами также была предложена аналогичная концепция под названием Покрытие. ссылок。Тщательно отобранные одноклассники NetEase здесь《Тщательно выбранные и точные методы тестирования (продвинутый уровень)》Эта концепция была предложена в статье,В сочетании с ситуацией онлайн-вызова по ссылке,Оцените, соответствуют ли результаты покрытия системы ожидаемым.
Как насчет этого, вы выучили эти показатели покрытия?