Ответ
QA (Quality Assurance) и QC (Quality Control) по-разному подходят к верификации.
-
QA (обеспечение качества) — проактивный процесс. Верификация направлена на процесс: соответствие разработки стандартам, планам и best practices. Цель — предотвратить дефекты.
- Пример верификации в QA: Проверка, что дизайн-макеты соответствуют гайдлайнам iOS Human Interface Guidelines перед началом разработки.
-
QC (контроль качества) — реактивный процесс. Верификация направлена на продукт: проверка, что готовый артефакт (код, сборка) соответствует заданным требованиям. Цель — выявить дефекты.
- Пример верификации в QC: Написание и выполнение модульных тестов для проверки корректности реализации метода.
Практический пример (верификация в QA-процессе):
# Верификация наличия обязательных элементов на странице ДО тестирования логики
def verify_login_page_structure(page):
"""Проверяет, что страница входа содержит все обязательные элементы."""
required_elements = ["username_input", "password_input", "submit_button"]
for element in required_elements:
assert page.is_element_present(element), f"Отсутствует обязательный элемент: {element}"
# Это проверка процесса (все ли требования к UI учтены), а не функциональности кнопки.
Итог: QA верифицирует «мы строим продукт правильно?» (процесс), а QC верифицирует «мы построили правильный продукт?» (продукт).