Модуль знакомит с понятием качества программного обеспечения и управления качеством. Рассматриваются ключевые определения, подходы, процессы и роль тестировщика в обеспечении качества продукта.
Качество – понятие многогранное и субъективное. Для разных людей оно может означать пользу, соответствие ожиданиям, свойства продукта или степень его совершенства. В сфере разработки ПО качество обычно определяется как соответствие требованиям аналитика и ожиданиям конечного пользователя.
Для качественного продукта важно сочетать оба подхода.
Управление качеством – это комплекс действий, направленных на организацию процессов, обеспечивающих качественный конечный продукт. Оно включает четыре основные функции менеджмента:
Тестировщик участвует в обеспечении качества, но не отвечает за него единолично. Вся команда, включая аналитиков, разработчиков, менеджеров, вовлечена в управление качеством. Тестировщик сосредоточен на процессе тестирования и предоставляет обратную связь о качестве продукта.
Стейкхолдеры – все заинтересованные стороны, которые влияют на качество продукта или заинтересованы в нем. К ним относятся: заказчики, конечные пользователи, команда разработки, тестировщики, менеджмент, а также внешние организации (аудиторы, сертификационные органы).
Все стейкхолдеры так или иначе влияют на качество реализации или конечное качество продукта.
Для измерения качества применяются различные метрики: покрытие тестами, стабильность сборок, количество дефектов, скорость исправления и т. д. Используются инструменты для анализа кода, управления тестами, проведения аудитов.
Управление качеством охватывает все этапы жизненного цикла разработки ПО. Качество формируется с первых шагов сбора требований и поддерживается на протяжении всего процесса. Тестировщик играет важную роль в выявлении проблем, но ответственность за качество распределяется между всей командой.