Перевод статьи подготовлен специально для студентов курса Python QA Engineer.





В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры.

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

CMM (Capability Maturity Model, Модель зрелости возможностей)


Это модель, основанная на процессах, которая используется для оценки зрелости организации в различных областях. Концепция СММ была введена Институтом Программной Инженерии (SEI) в США.

Несмотря на то, что эта модель применяется к процессу разработки программного обеспечения, в конечном итоге она используется и для других процессов, таких как QA и тестирование.

Существует пять различных уровней зрелости: от 1 до 5. По мере развития от первого до пятого уровня уменьшаются изменчивость и непоследовательность. Ниже приведено детальное описание пяти уровней. Здесь мы будем рассматривать 5 уровней СММ с позиции QA – процессов, а все результаты по выходу с каждого уровня будут применяться к процессу анализа качества и тестирования последовательно, чтобы достичь 5 уровня.



Уровень 1 (Начальный): Ad-Hoc: нераспланированный, бессистемный и непоследовательный


Как предполагает термин «Ad-Hoc»: нераспланированный, неподготовленный, то есть на этом уровне не придается значение планированию, постановке целей на дальнейшие процессы, принципам руководства и стандартам. Не существует стандартизированного и последовательного способа выполнения любой задачи. Единственное, что важно на этом уровне, — это соблюдение сроков, независимо от качества конечного продукта и результатов.

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

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

Таким образом, на этом уровне процесс плохо контролируется, ведет себя реактивно и непредсказуемо.

Пример:

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

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

Уровень 2 (Повторяемый) – Управление: Инициирование определения процессов на высоком уровне


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

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

Таким образом, основное внимание уделяется базовому управлению проектами на этом уровне.

Пример:

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

Нужно не только написать и подготовить, но и поделиться документацией с командой.

Уровень 3 (Определенный) – Основная Компетенция: Придумайте обобщенный процесс, покрывающий большую аудиторию и большее количество областей


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

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

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

Пример:

Проведение вебинаров или тренингов, позволяющих тестировщикам ознакомиться с определенным новым процессом и стандартами QA и мотивировать их пользоваться ими в своей повседневной проектной деятельности.

Уровень 4 (Управляемый) – Предсказуемый: Измерение процессов


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

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

Ключевыми областями на 4 уровне СММ являются количественное управление проектами и эффективность организационных процессов.



Вкратце на этом уровне измеряется и контролируется процесс.

Пример:

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

Если вы занимаетесь автоматизированным тестированием, то периодические review кода тестовых сценариев автоматизации, можно привести и это в качестве примера.

Уровень 5 (Оптимизация) – Инновационный: Непрерывное совершенствование


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

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

Пример:

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

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

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

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

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

Дополнительная информация


Сейчас очень популярной стала модель CMMI, которая пришла на смену СММ. Модель CMMI (модель развития функциональных возможностей интеграции), является ничем иным, как преемником СММ. Это комплексный подход, который рассматривает отдельные модели СММ и преодолевает недостатки традиционной. В ней также 5 уровней, которые схожи с СММ.

Ниже лежит очень полезная ссылка, пройдя по которой, вы сможете узнать разницу между CMMI и CMM и сравнить их:

CMMI против CMM

На рынке в сфере тестирования программного обеспечения есть некоторые компании, которые достигли 5 уровня модели CMMI, и их имена стоит упомянуть: Capgemini India Pvt. Ltd – “FSGBU India – Development and Testing Projects”, Capita – “IT Professional Services – Testing Projects” и Infosys Public Services – “Software Development, Maintenance, and Testing”.

Здесь вы можете посмотреть рейтинг CMMI различных организаций.

Комментарии (0)