Что такое качество программного обеспечения (Software Quality)?

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

Ответ

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

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

Атрибут Описание Пример метрики/проверки
Функциональная пригодность Соответствие заявленным функциям. Прохождение acceptance-тестов.
Производительность Скорость, время отклика, использование ресурсов. Время загрузки страницы < 2 сек.
Совместимость Способность работать в разных средах и с другими системами. Кросс-браузерное тестирование.
Удобство использования Лёгкость освоения и эффективность использования. Успешное выполнение задачи пользователем.
Надёжность Способность работать без сбоев в заданных условиях. Время наработки на отказ (MTBF).
Безопасность Защита от несанкционированного доступа и вредоносных атак. Отсутствие уязвимостей OWASP Top 10.
Сопровождаемость Лёгкость анализа, изменения и исправления. Цикломатическая сложность кода.
Переносимость Лёгкость переноса в другую среду. Зависимость от конкретной ОС или библиотеки.

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

Через процессы на протяжении всего жизненного цикла:

  • Тестирование (unit, integration, system, acceptance).
  • Статический анализ кода (code review, линтеры).
  • Следование best practices и стандартам кодирования.
  • Непрерывная интеграция и доставка (CI/CD).
  • Сбор и анализ отзывов пользователей.