Что понимают под качеством программного продукта?

«Что понимают под качеством программного продукта?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Качество программного продукта — это степень, в которой совокупность его характеристик удовлетворяет установленным и предполагаемым потребностям пользователей и других заинтересованных сторон (стейкхолдеров).

Ключевые характеристики качества (на основе стандарта ISO 25010):

Характеристика Что проверяет Пример метрики/проверки
Функциональная пригодность Соответствие заявленным функциям. assert calculate_sum(2, 2) == 4
Производительность Время отклика, использование ресурсов. Время загрузки страницы < 3 сек.
Совместимость Работа в разных средах. Совместимость с браузерами Chrome, Firefox, Safari.
Удобство использования Простота освоения и использования. Пользователь выполняет задачу за 3 клика.
Надёжность Безотказность, восстановление после сбоев. Доступность системы 99.9% (uptime).
Безопасность Защита от несанкционированного доступа. Отсутствие уязвимостей типа SQLi, XSS.
Сопровождаемость Лёгкость анализа и модификации кода. Наличие документации, покрытие кода тестами.
Переносимость Лёгкость переноса в другую среду. Возможность развертывания в Docker-контейнере.

Как обеспечивается и измеряется качество?

  1. Процессы: Внедрение практик (code review, CI/CD, тест-дизайн).
  2. Тестирование: Все виды тестирования для проверки характеристик.
  3. Метрики:
    • Плотность дефектов (например, багов на 1000 строк кода).
    • Процент успешных тест-кейсов.
    • Среднее время на устранение дефекта (MTTR).
  4. Обратная связь: Отзывы пользователей, мониторинг ошибок в production.

Вывод: Качество — это не только отсутствие багов, но и комплексное соответствие продукта ожиданиям пользователя по всем ключевым атрибутам.