Тестирование
November 16, 2023

1.5 Что такое тестирование, QA, QC? Верификация и валидация

Тестирование (testing) - процесс, содержащий все активности жизненного цикла, как динамические, так и статистические, касающиеся планирования, подготовки и оценки компонента или системы и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они пригодны для заявленных целей и для определения дефектов. [ISTQB].

Динамические - с запуском кода. Статистические - без запуска кода.

Тестирование программного обеспечения - процесс анализа программного средства и сопутствующей документации с целью выявления дефектов и повышения качества продукта. [по С. Куликову]

Тестирование ПО - способность оценить качество ПО и снизить риск отказа ПО. [Где-то из Интернета]

Тестирование ПО - проверка соответствия результатов работы программного продукта на соответствие заданным критериям. [Где-то из Интернета 2]

Жизненный цикл тестирования:

Цели тестирования

  1. Оценка рабочих продуктов (требования, пользовательские истории, проектирование и код)
  2. Все ли указанные требования выполнены
  3. Завершен ли объект и работает, как ожидают пользователи и заинтересованные лица
  4. Создание уверенности в уровне качества объектов тестирования
  5. Предотвращение и обнаружение отказов и дефектов
  6. Предоставление заинтересованным лицам достаточной информации, позволяющей им принять обоснованные решения
  7. Снижение уровня риска ненадлежащего качества ПО
  8. Соблюдение договорных, правовых или нормативных требований, или стандартов и/или проверка соответствия объекта тестирования им
    [ISTQB CTFL Syllabus 2018]

Отладка (debugging) - деятельность разработки для нахождения, анализа и исправления таких дефектов. Последующее подтверждающее тестирование проверяет, устранены ли дефекты. [ISTQB CTFL Syllabus 2018]

Контроль качества (Quality control, QC) - набор действий, предназначенных для оценивания качества компонента или системы. [ISTQB]

Тестеровщик работает контрено с продуктом, контролирует качество конкретного продукта. Тестировщик не работает с процессами. Для процессов существует другой процесс. Тестирование конкретно работает с продуктом, а не с процессами.

Обеспечение качества (Auality assurance, QA) - активности, направленные на обеспечение уверенности в том, что требования к качеству будут выполнены. [ISTQB]

QA направлен на процессы в компании.

Различия QA и QC:

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

QA (Обеспечение качества) - сосредоточено на соблюдении соответствующих процессов для обеспечения уверенности, что будут достигнуты соответствующие уровни качества. [ISTQB]


Управление качеством (Quality management, QM) - скоординированные действия по руководству и контролю организации в отношении качества, которые включают в себя установление политики качества и целей качества, планирование качества, контроль качества, обеспечение качества и повышение качества. [ISTQB]

Валидация и Верификация

Верификация (Verification) - доказанное объективными результатами исследования подтверждение того, что определенные требования были выполнены. [ISTQB]

Валидация (Validation) - доказанное объективными результатами исследования подтверждение того, что требования для ожидаемого конкретного использования приложения были выполнены.

Различия верификации и валидации:

  1. Верификация: 1) Нужды заказчика; 2) Делаем ли мы продукт правильно?
  2. Валидация: 1) Нужды пользователя; 2) Делаем ли мы правильный продукт?

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

Процесс Валидации - делаем ли мы тот продукт, который нужен и понравиться пользователю?

Пример:

Поступило ТЗ, нужно сделать велосипед. Мы сделали велосипед, он соответствует требованиям заказчика (нужный цвет, размер, детали, материалы и тд.). Большой, двухколесный, с рамой (типа школьник). Но незадача: этот велосипед разрабатывался для детей, возрастом до 3-х лет. И он не подойдет ребенку 3-х лет. То есть велосипед не пройдет Валидацию!