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

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

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Открыть схему в полном размере

Качество программного обеспечения

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

Для оценки качества программного обеспечения применяют два важных подхода.

  1. Подход на основе управления дефектами
  2. Подход на основе характеристик качества
Всё, что не соответствует требованиям клиента, можно считать дефектом. Неверно понятые требования могут привести к ошибкам проектирования. Дефекты также возникают из-за нарушений функциональной логики, ошибок в коде и неправильной обработки данных. При управлении дефектами их регистрируют, распределяют по степени серьёзности и подсчитывают. Затем команда принимает меры в соответствии с присвоенной степенью серьёзности. Контрольные карты помогают оценить возможности процесса разработки.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Открыть схему в полном размере

Подход на основе управления дефектами


Более ранняя модель качества программного продукта ISO/IEC 9126-1 объединяет свойства качества в шесть характеристик.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Открыть схему в полном размере

Подход на основе характеристик качества

1. Функциональность Совокупность важных функций, которые предоставляет программа.

  • Пригодность. Подходят ли функции программы для поставленных задач?
  • Точность. Правильно ли реализованы функции?
  • Интероперабельность. Как программа взаимодействует с другими компонентами системы?
  • Соответствие. Соблюдает ли программа применимые законы и руководящие принципы?
  • Защищённость. Может ли программа безопасно обрабатывать операции с данными?
2. Надёжность Способность программы работать в заданных условиях в течение определённого времени, в том числе выдерживать отказы отдельных компонентов.
  • Зрелость. Как часто происходят отказы?
  • Восстанавливаемость. Насколько хорошо система возвращается к полноценной работе после отказа?
3. Удобство использования Насколько просто пользоваться функцией.
  • Понятность. Насколько легко пользователи понимают функции?
  • Обучаемость. Сколько усилий нужно пользователям с разным уровнем опыта, чтобы разобраться в функциях?
4. Эффективность Обычно зависит от архитектуры и приёмов программирования, использованных при разработке.

5. Сопровождаемость Также называется пригодностью к сопровождению. Сильно зависит от читаемости и сложности кода и определяет, насколько легко находить и устранять дефекты.
  • Анализируемость. Насколько легко установить основную причину отказа?
  • Изменяемость. Сколько усилий нужно, чтобы изменить код и устранить дефект?
  • Стабильность. Насколько устойчиво поведение системы после изменений?
  • Тестируемость. Сколько усилий требует тестирование системы?
6. Переносимость Способность системы приспосабливаться к изменениям своей среды.
  • Адаптируемость. Насколько легко система адаптируется к изменениям спецификаций?
  • Устанавливаемость. Насколько легко установить систему?
  • Соответствие. Аналогично соответствию в категории функциональности.
  • Заменяемость. Насколько легко заменить компонент системы в заданной среде?

Стоимость качества программного обеспечения Тестирование требует времени, денег и труда. Анализ затрат на качество программного обеспечения помогает понять отдачу от этих вложений (ROI).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Открыть схему в полном размере

Стоимость качества программного обеспечения

Стоимость качества складывается из затрат на соответствие и несоответствие. Затраты на соответствие включают следующие категории.
  1. Затраты на предупреждение. Стоимость правильного применения практик обеспечения качества, включая обучение команды, проверку кода и другие мероприятия по обеспечению качества.
  2. Затраты на оценку. Стоимость планирования и проведения тестирования, в том числе разработки и выполнения тестовых сценариев.
Затраты на несоответствие возникают в следующих случаях.
  1. Внутренние отказы. Затраты возникают, когда первоначальные внутренние тесты не проходят. Сюда входит работа разработчиков по исправлению дефектов, обнаруженных при модульном или компонентном тестировании.
  2. Внешние отказы. Затраты возникают, когда дефекты находят клиенты, а не тестировщики. Они значительно выше затрат на внутренние отказы, особенно если клиенты недовольны или обращаются на более высокий уровень поддержки из-за отказа программы.
Стоимость отказов программного обеспечения Программные отказы могут быть вызваны несколькими факторами.
  1. Отставание от меняющихся потребностей. По мере старения программы добавление функций без пересмотра существующего кода может увеличить его объём и усложнить сопровождение. Со временем становится трудно понять, какие участки нужно менять.
  2. Производительность может снижаться при изменении программы, нагрузки или данных. Например, из-за утечки памяти программа может потреблять всё больше памяти во время работы. Измерьте масштаб проблемы и выясните её причину, прежде чем решать, исправлять, обновлять или заменять программу.
  3. Исправление может вызвать регрессию, особенно если от изменённого кода зависят другие компоненты. Подтвердите, что исправление устраняет исходную проблему, и проверьте затронутое поведение. Примите решение с учётом результатов, стоимости сопровождения и последствий для бизнеса.
Тестирование программного обеспечения и обеспечение качества В ИТ часто путают обеспечение качества и тестирование программного обеспечения. Тестировщиков иногда называют специалистами по обеспечению качества, потому что обе деятельности направлены на создание качественного программного обеспечения.
Обеспечение качества разрабатывает и внедряет процессы, необходимые для выполнения требований клиента к качеству и соблюдения процедур жизненного цикла разработки. Это упреждающий подход, в центре которого следующие задачи.
  1. Предупреждение дефектов
  2. Процессы
  3. Непрерывное совершенствование этих процессов
Тестирование выявляет дефекты и ошибки с помощью тщательной проверки программы. Оно выявляет отклонения от требований клиента, которые нужно исправить. Тестирование является частью контроля качества, ориентированной на продукт. Оно обнаруживает дефекты. Их исправление относится к отладке.

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

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Открыть схему в полном размере

Обеспечение качества и контроль качества

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

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

Значение аудита и инспекции

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

Инспекция представляет собой формальную проверку рабочего продукта, например требований, проектных решений или кода. Специалисты, которые не являются авторами, ищут дефекты и отклонения от согласованных стандартов. Типовая инспекция включает следующие действия.

  1. Планирование
  2. Обзор и индивидуальная подготовка
  3. Совещание по инспекции
  4. Доработка
  5. Последующая проверка




Мы гарантируем, что с нашим бесплатным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!

  1. 01

    Запишитесь онлайн

    Выберите аккредитованную сертификацию и завершите регистрацию.

  2. 02

    Получите код доступа

    Персональный код доступа к экзамену сразу придёт на электронную почту.

  3. 03

    Подготовьтесь и сдайте экзамен

    Пройдите бесплатное обучение и ответьте онлайн на 50 вопросов с выбором ответа.

  4. 04

    Получите бессрочную сертификацию

    Получите сертификат, действительный во всём мире, и цифровой значок, подлинность которого можно проверить.

Образец сертификата Accredited Software Test Manager Certification™
Записаться на сертификацию

ВАШЕ БЕСПЛАТНОЕ ПРЕМИАЛЬНОЕ ОБУЧЕНИЕ ОНЛАЙН

Второе издание Software Testing Revealed уже доступно.

Мы разработали курс вместе с группой известных руководителей компаний и команд, тренеров по тестированию ПО, наставников, экспертов и признанных специалистов из всех основных отраслей. Он доступен всем посетителям International Software Test Institute™. Материалы находятся в разделах Ваша бесплатная книга по тестированию ПО и Ваше бесплатное обучение по тестированию ПО премиум-уровня в главном меню.

Эти материалы являются интеллектуальной собственностью International Software Test Institute™ и защищены авторским правом. Мы бесплатно делимся ими со всеми, потому что наш опыт помогает специалистам по тестированию ПО и способствует развитию профессии.

Сертификационный экзамен состоит из вопросов с вариантами ответа. Пройдите онлайн-курс, чтобы получить знания, необходимые для сдачи экзамена и получения сертификата по тестированию ПО.

Мы гарантируем, что с нашим бесплатным премиальным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!