QA_Bible
  • Введение
  • FAQ для новичков
    • Ответы на самые популярные вопросы новичков в чатах
    • Качества и навыки, которыми нужно обладать тестировщику?
    • Что должен знать и уметь Junior? Что спросят на собеседовании?
    • С чего начать обучение и куда развиваться?
    • Как составить резюме?
    • Где искать работу?
    • Как происходит процесс найма?
    • Как проходить собеседование?
    • Начало работы Junior-тестировщика
    • Ошибки в работе у начинающих тестировщиков
    • Как взаимодействовать с коллегами?
    • Перспективы профессии
  • Полезные ссылки
    • Список полезных ресурсов на разных платформах
    • Список ресурсов по инструментам тестировщика
  • Общее
    • QA/QC/Testing
    • Почему требуется тестирование ПО?
    • Качество ПО (Software Quality)
    • Принципы тестирования
    • Верификация и валидация (Verification and Validation)
    • Дефекты и ошибки
    • Серьезность и приоритет Дефекта (Severity & Priority)
    • Альфа- и бета- тестирование (Alpha Testing and Beta Testing)
    • Процесс тестирования (test process) (draft)
    • Техники оценки тестов/оценка трудозатрат на тестирование (Test Estimation)
    • Экономика тестирования/стоимость качества (Cost of quality)
    • Подход к тестированию (Test Approach)
    • Импакт анализ (анализ влияния, Impact Analysis)
    • Анализ первопричин (RCA - Root Cause Analysis)
    • Тестирование со сдвигом влево (Shift left testing)
    • Модель зрелости возможностей (CMM - Capability Maturity Model)
    • Тестовая среда и тестовый стенд (Test Environment/Test Bed)
    • Бизнес-логика (Business logic)
    • Политика отсутствия багов (ZBP - Zero Bug Policy)
    • Независимое тестирование (Independent testing)
    • Роли/должности в команде
    • Эвристики и мнемоники
  • Виды-методы-уровни тестирования
    • Методы тестирования (White/Black/Grey Box)
    • Тестирование методом черного ящика (Black Box Testing)
    • Тестирование методом белого ящика (White Box Testing)
    • Тестирование методом серого ящика (Grey Box Testing)
    • Статическое и динамическое тестирование (Static Testing, Dynamic Testing)
    • Пирамида / уровни тестирования (Test Pyramid / Testing Levels)
    • Модульное/юнит/компонентное тестирование (Module/Unit/Component testing)
    • Интеграционное тестирование (Integration testing)
    • Системное тестирование (System Testing)
    • Приемочное тестирование (AT - Acceptance testing)
    • Основные виды тестирования ПО
    • Функциональное тестирование (Functional/Behavioral testing)
    • Нефункциональное тестирование (Non-Functional testing)
    • Тестирование производительности (Performance testing)
    • Тестирование емкости (Capacity testing)
    • Нагрузочное тестирование (Load testing)
    • Стрессовое тестирование (Stress testing)
    • Тестирование масштабируемости (Scalability testing)
    • Объемное тестирование (Volume testing)
    • Тестирование выносливости/стабильности (Endurance/Soak/Stability testing)
    • Тестирование устойчивости (Resilience testing)
    • Тестирование надежности (Reliability Testing)
    • Тестирование на отказ и восстановление (Failover and Recovery testing)
    • Эталонное и базовое тестирование (Benchmark and Baseline Testing)
    • Тестирование хранилища (Storage testing)
    • Одновременное / многопользовательское тестирование (Concurrency/Multi-user testing)
    • Тестирование сервиса (Service Testing)
    • Тестирование безопасности (Security and Access Control testing)
    • Оценка уязвимости/защищенности (Vulnerability Assessment)
    • Фаззинг-тестирование (Fuzz testing)
    • Можно ли отнести тестирование безопасности или нагрузочное тестирование к функциональным видам тести
    • Тестирование совместимости/взаимодействия (Compatibility/Interoperability testing)
    • Конфигурационное тестирование (Configuration testing)
    • Инсталляционное тестирование (Installation Testing)
    • Тестирование на соответствие (Conformance/Compliance testing)
    • Тестирование удобства пользования (Usability testing)
    • Тестирование доступности (Accessibility testing)
    • Тестирование локализации, глобализации и интернационализации (Localization/ globalization/internatio
    • Исследовательское тестирование (Exploratory testing)
    • Свободное / Интуитивное тестирование (Adhoc, Ad-hoc Testing)
    • Тестирование поддержки (Maintenance testing)
    • Регрессионные виды тестирования (Regression testing)
    • Тестирование клиентской части и серверной (Frontend testing Vs. Backend testing)
    • Тестирование графического интерфейса/визуальное тестирование (GUI - Graphical User Interface testing
    • Тестирование API (API - Application Programming Interface)
    • A/B тестирование (A/B Testing)
    • Деструктивное и недеструктивное тестирование (DT - Destructive testing and NDT - Non Destructive tes
    • Выборочное/хаотическое тестирование (Random/monkey testing)
    • Тестирование рабочего процесса/воркфлоу (Workflow testing)
    • Тестирование документации (Documentation testing)
    • Как протестировать продукт без требований?
    • Кроссбраузерное тестирование (Cross-browser testing)
    • Тестирование, основанное на рисках (Risk-Based Testing)
    • Разница тестирования ПО и железа (Software Vs. Hardware testing)
    • Тестирование качества данных (Data Quality Testing)
  • Тест дизайн
    • Тест-дизайн и техники тест-дизайна (Test Design and Software Testing Techniques)
    • Static - Reviews
    • Static - Static Analysis
    • Dynamic - White box
    • Dynamic - Black box
    • Dynamic - Experience based
  • Тестовая документация и артефакты (Test Deliverables/test artifacts)
    • Виды тестовой документации
    • Политика качества и политика тестирования (Quality policy and Test policy)
    • Стратегия тестирования (Test strategy)
    • План тестирования (Test plan)
    • Тестовый сценарий (Test scenario)
    • Тест-кейс (Test case)
    • Чек-лист (Check List)
    • Баг-репорт (Defect/bug report)
    • Требования (Requirements)
    • Пользовательские истории (User stories)
    • Критерии приемки (Acceptance Criteria)
    • Виды отчетов (Reports)
    • Базис тестирования (Test basis)
    • Матрица трассируемости (RTM - Requirement Traceability Matrix)
    • Метрики тестирования (Software Test Metrics)
    • Тестовый оракул (Test oracle)
  • Мобильное тестирование
    • Android
      • Архитектура Android OS
      • Архитектура Android Application
      • Тестирование покупок в Android-приложениях
      • Android Developer Settings
      • Android Debug Bridge (ADB)
      • Android Studio для QA
    • iOS
      • Архитектура iOS
      • Архитектура iOS Application
      • Тестирование покупок в iOS-приложениях
      • iOS Developer Settings
    • Особенности в тестировании мобильных приложений
    • Покрытие девайсов
    • Типы мобильных приложений
    • Симуляторы и эмуляторы
    • Основные различия Android/iOS
    • Последнее обновление Android/iOS, что нового?
    • Основные проверки при тестировании мобильного приложения
    • Каким образом тестировщик получает приложение на тест?
    • Как успешно зарелизить продукт в App Store и Google Play
    • Тестирование требований к мобильным приложениям
    • Тестирование push-уведомлений
    • Тестирование дип линков (mobile deep links)
    • Тестирование сохраненных поисков
    • Тестирование рекламы
    • Тестирование просмотренных товаров
    • Middleware
    • Как проверить использование ресурсов на Android
    • Как протестировать приложение для другой страны?
  • Тестирование в разных сферах-областях (testing different domains)
    • Тестирование веб-сайта или веб-приложения (Web application)
    • Тестирование интернет-магазина (eCommerce)
    • Тестирование платежного шлюза (Payment Gateway)
    • Тестирование игр (Game testing)
    • Тестирование VR программного обеспечения
    • Тестирование мессенджера (Messenger)
    • Тестирование чат-бота (Chatbot)
    • Тестирование электронных писем (E-mail)
    • Тестирование интернета вещей (IoT - Internet of Things)
    • Тестирование облачных решений (Cloud testing)
    • Тестирование сервис-ориентированной архитектуры (SOA - Service Oriented Architecture)
    • Тестирование микросервисной архитектуры (MSA/Microservices)
    • Тестирование платформы электронного обучения (E-learning platform)
    • Тестирование систем розничной торговли (POS - Point Of Sale)
    • Тестирование банковского ПО (Banking domain applications/BFSI)
    • Тестирование страхового ПО (Insurance)
    • Тестирование в сфере телекоммуникаций (Telecom)
    • Тестирование планирования ресурсов предприятия (ERP - Enterprise Resource Planning)
    • Тестирование миграции данных (ETL)
    • Тестирование баз данных (Database)
    • Другое
  • SDLC и STLC
    • Жизненный цикл разработки ПО (SDLC - Software Development Lifecycle)
    • Жизненный цикл тестирования ПО (STLC - Software Testing Lifecycle)
    • Модели разработки ПО
    • Agile
    • Scrum
    • Подходы к разработке/тестированию (... - driven development/testing)
  • Сети и около них
    • База по сетям
    • Клиент - серверная архитектура (Client-Server Architecture)
    • Микросервисная архитектура (Microservice Architecture)
    • Эталонные модели OSI и TCP/IP
    • HTTP
    • Идентификация ресурсов в сети (Identifying resources on the Web)
    • Веб-сервис (WS - Web service)
    • REST/SOAP/gRPC
    • Socket / WebSocket
      • Сокет/веб-сокет (socket/websocket)
      • Тестирование WebSocket на клиентах
    • Хранилище на стороне клиента (Client-side storage)
    • Кэш (Cache)
    • Аутентификация и авторизация (Authentication and authorization)
    • Рендеринг в интернете (Rendering on the Web)
  • Практическая часть
    • Логические задачи
    • Тестирование полей и форм
    • Примеры задач на собеседованиях и тестовых заданий
    • Платформы для тренировок и квизы
  • Автоматизация (beta)
    • Общее
    • Полезные ссылки
    • Как стать автоматизатором и вопросы с собеседований
    • Что нужно автоматизировать?
    • Виды и инструменты автоматизации
    • Инфраструктура и пайплайн (CI/CD)
    • Процессы и автоматизация проекта с нуля
    • Лучшие практики автоматизации
    • Что такое flaky tests?
    • Мутационное тестирование (Mutation testing)
    • Параллельное тестирование (Parallel testing)
    • Подкожный тест (Subcutaneous test)
    • Разница между coupling и cohesion
    • Другое (ссылки)
  • Контакты
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Общее

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

Интегрированная модель зрелости процессов программного обеспечения (CMMI) (Capability Maturity Model Integration (CMMI)): Система, описывающая ключевые элементы эффективного процесса разработки и поддержки продукта. CMMI включает в себя передовой опыт планирования, проектирования и управления разработкой и поддержкой продукта. (CMMI)

Интегрированная модель зрелости тестирования (Test Maturity Model Integration): Пятиступенчатая структура совершенствования процесса тестирования, связанная с интегрированной моделью зрелости процессов программного обеспечения (CMMI) и описывающая ключевые элементы эффективного процесса тестирования. (ISTQB)

Модель зрелости (maturity model): Структурированный набор элементов, которые описывают некоторые аспекты зрелости в организации, и помогают в определении и понимании процессов организации. Модель зрелости часто предоставляет общий язык, общее видение и основы для определения приоритетности действий по совершенствованию. (ISTQB)

Для любого процесса, будь то процесс контроля качества, процесс разработки или любой другой нетехнический процесс, существуют уровни зрелости. Под уровнями зрелости мы понимаем уровень формализации и совершенствования процессов, начиная от 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 прошло нормально и, наконец, нам удалось наладить процесс выполнения регрессионного тестирования с помощью тестовых сценариев автоматизации. Это сэкономило много сил и времени и способствовало улучшению процесса в целом.

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

Источники:

Доп. материал:

PreviousТестирование со сдвигом влево (Shift left testing)NextТестовая среда и тестовый стенд (Test Environment/Test Bed)

Last updated 3 years ago

Was this helpful?

Как достичь Уровня 5 по модели CMM в области QA и тестирования
TMMi Model
The Quality Maturity Model
Модель зрелости тестирования TPI Next: преимущества, недостатки и варианты внедрения
Test Maturity Model: как тестировщику оценить проект и спланировать процессы
Как достичь Уровня 5 по модели CMM в области QA и тестирования
7 подходов к тестированию
Software testing process improvement models - TMMi, TPI Next, CTP, STEP