Модель оценки зрелости автоматизированного тестирования
Модель оценки зрелости автоматизированного тестирования

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

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

Ниже приводится объяснение каждого измерения модели.

1 Автоматизация написания тест-кейсов

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

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

2 Время выполнения новых тестовых примеров функций

Этот аспект оценивает синхронность автоматизациитестирования с циклом разработки программного обеспечения.,отражаетавтоматизациятеств быстрой итерацииразвиватьценность и своевременность в。дляавтоматизациятест Большая критика в адресавтоматизациятест Не могу найти дефекты。Автор также написал специальную статью《Почему автоматизированные тесты находят дефекты?》обсудить этот вопрос。Автор считает,автоматизациятест не должна быть задачей,Это должно стать способом работы,И в конечном итоге стать единственным или основным способом реализации варианта использования.

3 Автоматизация тестовой среды

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

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

Быстрый вопрос для определения зрелости: какова отправная точка для выполнения набора автоматизированных тестовых примеров? Автор считает, что чем ближе к динамическому применению/инициализации, использованию и повторному использованию среды, тем выше зрелость.

4 Сбор и анализ результатов испытаний

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

Как и другие тесты, автоматическое тестирование также имеет проблемы «ложных срабатываний» и «пропущенных отрицательных результатов».

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

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

5 результатов теста

Эффект тестирования измеряет роль и объем автоматизированного тестирования во всей деятельности по обеспечению качества, показывая вклад автоматизированного тестирования в улучшение качества продукции. Это все знают, поэтому я не буду на этом останавливаться. Однако я хочу напомнить вам одну вещь: в условиях интеграции НИОКР и эксплуатации тестирование может превратиться из должности в обязанность всей команды разработчиков. Это первоначальное намерение автора создать такую ​​проверку. точка. Однако, учитывая закон Конвея, команде/организации тестирования сложно внедрить варианты использования в базу кода и стать сетью защиты от регрессии, которая может активироваться при каждом коммите. Это вопрос, который необходимо учитывать руководителям организаций.

6Постоянное улучшение и оценка

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

все уровни

Ниже приводится объяснение 5 уровней каждого аспекта.

1. Автоматизация разработки тест-кейсов

Уровень 1: Базовая автоматизация — внедрите инструменты автоматического тестирования и начните выполнять простые специальные тестовые сценарии.

Уровень 2: Платформа автоматизации. Используйте среду или платформу автоматизированного тестирования для ручного написания тестовых примеров, которые можно выполнять повторно.

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

Уровень 4: Интеллектуальная автоматизация – применение передовых технологий, таких как MBT, запись и воспроизведение трафика, а также воспроизведение журналов.

Уровень 5: Управление искусственным интеллектом — использование автоматического создания и исправления тестовых примеров на основе LLM.

2. Автоматизация тестовой среды

Уровень 1: Подготовка вручную. Тестовая среда полностью готовится вручную, автоматизированный процесс отсутствует.

Уровень 2: Предварительная подготовка конвейера. Подготовьте тестовую среду в среде предварительного применения через конвейер.

Уровень 3: Приложение самообслуживания и автоматизация. Среда может обслуживаться самостоятельно и автоматически подготавливаться на сборочной линии.

Уровень 4: Быстрое развертывание среды — от применения до уничтожения среды, весь процесс выполняется за считанные минуты.

3. Время выполнения новых функциональных тестовых случаев

Уровень 1: Запаздывающее выполнение. Автоматизированные тестовые сценарии отстают от ручных тестов как минимум на одну итерацию.

Уровень 2: Завершено в пределах итерации. Автоматизированные тестовые примеры могут быть завершены в течение итерации или цикла поставки.

Уровень 3: Синхронное выполнение — автоматизированные и ручные сценарии использования пишутся и выполняются синхронно.

Уровень 4: Проектирование завершается во время тестирования — автоматизированные сценарии использования разрабатываются и выполняются одновременно во время разработки и тестирования.

Уровень 5: TDD/ATDD — реализация разработки через тестирование, при которой автоматизированные варианты использования разрабатываются на ранних этапах процесса разработки.

4. Сбор и анализ результатов испытаний.

Уровень 1: Сбор вручную. Собирайте, просматривайте и анализируйте результаты тестов вручную.

Уровень 2: Автоматический сбор. Результаты тестов автоматически суммируются, но требуют анализа вручную.

Уровень 3: Анализ ложных срабатываний. Имеет возможность анализировать ложные срабатывания и быстро обнаруживать «ложные сбои».

Уровень 4: Интеллектуальный анализ — интеллектуально анализируйте результаты испытаний и автоматически сообщайте о дефектах.

Уровень 5: Высокоавтоматизированный анализ — обеспечивает высокоавтоматизированный анализ результатов испытаний и отчетность о дефектах.

5. Тестовый эффект

Уровень 1: Дополнительное ручное тестирование. Автоматизированное тестирование служит только дополнением к ручному тестированию.

Уровень 2: Сеть защиты от регрессии — автоматическое тестирование используется для дымового тестирования, регрессионного тестирования и т. д.

Уровень 3: Непрерывная интеграция. Автоматизированное тестирование используется для непрерывной интеграции и слияния кода.

Уровень 4: Многотипное тестирование — реализует автоматизацию нескольких типов тестов, таких как производительность, безопасность, совместимость и т. д.

Уровень 5: Полная автоматизация. Почти вся деятельность по обеспечению качества автоматизирована.

6. Постоянное улучшение и оценка.

Уровень 1: Первоначальная оценка. Регулярно проводите первоначальную оценку зрелости автоматизированного тестирования.

Уровень 2: Непрерывный мониторинг. Внедрите механизм непрерывного мониторинга для отслеживания эффективности автоматического тестирования.

Уровень 3: Периодический обзор. Регулярно анализируйте стратегию и процесс автоматического тестирования.

Уровень 4: План улучшения. Разработайте и внедрите планы улучшений для повышения эффективности и результативности автоматизированного тестирования.

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

Список моделей

Вот список

уровень

Используйте автоматизацию написания кейсов

Автоматизация тестовой среды

Когда новый вариант использования выполняется впервые

Автоматизация анализа результатов

Тестовый эффект

Постоянное улучшение

1

Ручное тестирование

Подготовлено вручную

отстает в исполнении

ручной сбор

Дополнительное ручное тестирование

предварительная оценка

2

Базовая автоматизация

Подготовка трубопровода

Завершено в пределах итерации

автоматический сбор

Сетка защиты возврата

Непрерывный мониторинг

3

Система автоматизации

Приложение самообслуживания и автоматизация

Синхронное выполнение

Ложноположительный анализ

непрерывная интеграция

регулярный обзор

4

Эффективное обслуживание

Быстрое развертывание среды

Проектирование завершено во время подачи теста

Интеллектуальный анализ (ложноположительные результаты + пропущенные тесты)

Несколько типов тестирования

план улучшения

5

Интеллектуальная автоматизация

Полностью автоматизированный

Интеграция TDD

Высокоавтоматизированный анализ

Полностью автоматизированный

Непрерывная оптимизация

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