Улучшение процесса тестирования (TPI) с использованием модели PDCA

⚡ Умное резюме

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

  • 🔁 Цикл PDCA: Методы планирования, выполнения, проверки и контроля превращают ошибки одного проекта в воспроизводимый стандарт.
  • 🎯 Начнём с проблем: Прежде чем принимать решение о каких-либо мерах по улучшению, составьте список реальных дефектов, задержек и перерасходов.
  • 📊 Измеряйте все: Track — производительность, утечка дефектов и стоимость одного тестового случая до и после каждого изменения.
  • ⚠️ Обратите внимание на побочные эффекты: Автоматизация повысила производительность, однако качество снизилось до тех пор, пока не был скорректирован выбор инструментов.
  • 🪜 Постепенное улучшение: Небольшие последовательные действия оказываются успешными гораздо чаще, чем полная переработка процесса.
  • 🇧🇷 Выберите модель: В стандарте TPI NEXT используются четыре уровня зрелости; в стандартах TMMi и CMMI определены по пять уровней.
  • ???? Стандартизируйте победу: Обновите политику тестирования и шаблоны, чтобы следующий проект унаследовал полученные преимущества.

Улучшение процесса тестирования (TPI) с использованием модели PDCA.

Что такое улучшение процесса тестирования?

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

Представь GuruПроект «99 Банк» только что завершен. Правление высоко оценило вашу работу, и клиент остался доволен. Тем не менее, у вашего начальника все еще остались к вам вопросы.

Улучшение процесса тестирования с использованием модели PDCA

Менеджеры часто описывают тестирование программного обеспечения как проблемный и неконтролируемый процесс. Оглядываясь назад... GuruВ рамках проекта "99 Bank" вы столкнулись с какими-либо из следующих проблем?

Типичные проблемы, которые решает улучшение процесса тестирования.

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

Зачем улучшать процесс тестирования?

Следующий сценарий демонстрирует, почему улучшение процесса тестирования имеет значение. GuruПроект 99 Bank завершен, качество тестирования отличное, и вы получили хорошие отзывы от клиента.

Почему необходимо улучшение процесса тестирования — сравнение с конкурентами.

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

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

Цели улучшения процесса тестирования: качество, стоимость и время.

Как внедрить улучшения в процесс тестирования?

Для внедрения улучшений процесса тестирования в GuruВ рамках проекта 99 Bank менеджер по тестированию может следовать инструкциям. PDCA Модель. PDCA (Планирование-Выполнение-Проверка-Действие) — это четырехэтапный метод управления, используемый в бизнесе для контроля и непрерывного совершенствования процесса. Каждый проход по циклу представляет собой отдельный цикл улучшения, а результат выполнения становится входными данными для следующего этапа планирования.

Модель PDCA используется для внедрения улучшения процесса тестирования.

💡 Совет: Цикл PDCA следует запускать для решения одной узкоспециализированной проблемы за раз. Цикл, направленный на устранение одной измеримой проблемы, например, времени выполнения регрессионного анализа, завершается достаточно быстро, чтобы показать результат в рамках одного релиза.

Шаг 1) Планируйте

Этап планирования — это этап разработки улучшений. Он разделен на три более мелких этапа.

Три этапа планирования в процессе улучшения тестирования

Шаг 1.1) Определите проблему

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

А теперь вернёмся к проекту. GuruНа сайте 99 Bank вы обнаружили какие-либо проблемы или моменты, которые можно улучшить? Выберите один из вариантов ниже.

Ср Нет Проблема Описание Выбрать
1 Компенсация Клиент все еще нашел некоторые дефект после выпуска
2 и сроки сдачи Проект был отложен
3 Команду Некоторые сотрудники не сотрудничали с другими членами команды
4 Навыки и умения Члену команды не хватало желаемых навыков для выполнения своих задач.
5 Управление и менеджмент Менеджер по тестированию плохо следил за ходом выполнения, что привело к задержке некоторых проектов.
6 Коммуникация Отсутствие постоянного контакта с клиентом; непонимание требований клиента
7 Стоимость Стоимость проекта превысила установленный бюджет

У тебя проблема с Компенсация и сроки сдачи Команду ,Навыки ,Управление , Общение ,Расходы

Шаг 1.2) Определите цель

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

Предположим, вы определили, что фаза выполнения теста заняла слишком много времени. много Время и стоимость выполнения. Можно ли ускорить и удешевить тестирование? Этот вопрос становится целью цикла. Полезная цель формулируется в виде числа и крайнего срока, например: «сократить трудозатраты на выполнение регрессионного тестирования на 30 процентов до следующего релиза».

Шаг 1.3) Определите действия по улучшению

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

Например, для ускорения и удешевления тестирования можно предпринять следующие действия.

Определение мер по улучшению процесса тестирования для его ускорения и снижения затрат.

В приведенном выше примере варианты A и B способствуют ускорению и удешевлению тестирования. Вариант C ускорит тестирование, но обойдется дороже, поскольку более опытный тестировщик получает более высокую зарплату. Именно из-за этого компромисса каждое предлагаемое действие должно оцениваться относительно цели, а не на основе интуиции.

Шаг 2) Сделайте

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

  • Какие меры по улучшению необходимо внедрить и в каком порядке?
  • Когда необходимо завершить разработку плана?
  • Какие шаги необходимо предпринять для реализации плана?
  • Кто отвечает за каждый этап и как будет подтверждаться его завершение?

Выполнить действия по улучшению

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

Рассмотрим следующий сценарий. На GuruВ рамках проекта 99 Bank, чтобы ускорить и удешевить тестирование, вы решили использовать автоматизация тестирования Вместо большого блока ручных регрессионных тестов. После применения этого решения производительность значительно возросла.

Шаг 3) Проверьте

На этапе проверки вы выполняете три действия.

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

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

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

Например, до внедрения автоматизации в проект производительность тестирования была... 10 тестовых случаев на человеко-часПосле внедрения автоматизации производительность измерялась на уровне... 20 тестовых случаев на человеко-час.

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

Однако наряду с этим достижением возникла нежелательная проблема.

Побочный эффект мер по улучшению — снижение качества при повышении производительности.

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

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

Рассмотрим тот же сценарий еще раз. GuruСтоимость проекта составила 99. перерасход потому что члены команды тоже приняли участие много времени для выполнения тестовых случаев. Используя инструмент автоматического тестирования, вы сэкономили 30 процентов от стоимости проекта. Это хорошее улучшение, но ваш начальник ожидает большего.

Руководство ожидает дальнейшего снижения затрат после первого цикла улучшений.

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

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

Шаг 4) Действуйте

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

Действия на этапе "Действие" в цикле улучшения процесса тестирования PDCA.

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

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

Сравнение TPI NEXT, TMMi и CMMI

Цикл PDCA — это двигатель улучшений, но эталонная модель показывает, как выглядит «лучшее». Обычно используются три модели, и их часто путают друг с другом.

ТПИ СЕКС Это эталонная модель, разработанная компанией Sogeti и предназначенная для проведения тестирования. Она оценивает 16 ключевых областей, сгруппированных в три категории, по четырем уровням зрелости: начальный, контролируемый, эффективный и оптимизирующий. Поскольку оценка проводится по каждой ключевой области отдельно, команда может быть эффективной в одной области, оставаясь при этом на контролируемом уровне в другой.

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

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

Модель Объем Структура: Уровни зрелости
ТПИ СЕКС Только для процесса тестирования 16 ключевых зон, сгруппированных в 3 подгруппы, с контрольно-пропускными пунктами и кластерами. 4 — Начальный, контролируемый, эффективный, оптимизирующий
TMMi Только для процесса тестирования Поэтапная организация процесса с выделенными зонами для каждого уровня. 5 — Начальный, Управляемый, Определенный, Измеренный, Оптимизация
CMMI Организация, занимающаяся комплексным развитием Поэтапное или непрерывное представление 5 (поэтапно) — Начальный, Управляемый, Определенный, Количественно управляемый, Оптимизирующий

Метрики, доказывающие улучшение процесса тестирования

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

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

Посмотрите на график GuruИсходя из данных банка за 99 год, где в ходе тестирования было обнаружено 180 дефектов, а после выпуска о 20 из них сообщил клиент, расчет довольно прост.

# Defect Detection Percentage and improvement deltas
def ddp(found_in_test, found_after_release):
    return found_in_test / (found_in_test + found_after_release) * 100

def delta(before, after):
    return (after - before) / before * 100

print("Defect Detection Percentage: %.1f%%" % ddp(180, 20))
print("Productivity gain: %.1f%%" % delta(10, 20))
print("Test cost change: %.1f%%" % delta(50000, 35000))

Выход:

Defect Detection Percentage: 90.0%
Productivity gain: 100.0%
Test cost change: -30.0%

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

Распространенные ошибки при улучшении процесса тестирования

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

  • Улучшение без исходного уровня. Если никто не измерял процесс до внесения изменений, никто не сможет доказать, что эти изменения помогли. Исходные данные следует фиксировать на этапе планирования, а не после.
  • Стремление к определенному уровню зрелости, а не к достижению бизнес-целей. Сертификат, который не снижает затраты, количество дефектов или сроки выполнения заказа, является расходом, а не улучшением.
  • Слишком много изменений одновременно. Если в одном релизе происходит пять изменений, то регрессия невозможна. tracк любому из них.
  • Автоматизация неэффективного процесса. Автоматизация многократно увеличивает масштаб любого процесса, к которому она применяется, включая слабые тестовые сценарии и нечеткие критерии входа.
  • Пропускатьping Этап принятия Закона. Улучшение, которое никогда не включается в политику тестирования, и жизненный цикл тестирования программного обеспечения Документ умирает вместе с проектной группой, которая его изобрела.
  • Исключая тестировщиков. Люди, с которыми не консультировались по поводу изменений, неизменно находят способы обойти их.

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

Часто задаваемые вопросы (FAQ)

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

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

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

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

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

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

Подведем итог этой публикации следующим образом: