Что включает в себя классический цикл тестирования ПО?

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

Ответ

Это итеративный процесс, обеспечивающий систематическую проверку качества ПО. Основные этапы:

  1. Анализ требований: Изучение спецификаций для понимания, что тестировать и каково ожидаемое поведение.
  2. Планирование тестирования: Определение стратегии, объемов работ, необходимых ресурсов, сроков и критериев входа/выхода.
  3. Проектирование тестов: Создание артефактов — тест-кейсов, чек-листов, сценариев для автоматизации.
  4. Подготовка окружения и данных: Настройка тестовых стендов, развертывание приложения, генерация тестовых данных.
  5. Выполнение тестов: Запуск тестов (ручных или автоматических), фиксация фактических результатов.
  6. Анализ результатов и отчетность: Сравнение результатов с ожидаемыми. Логирование дефектов, их приоритизация и передача на исправление.
  7. Завершение тестирования: Оценка выполнения плана, анализ покрытия и метрик качества, формирование итогового отчета.

Пример этапа проектирования (автоматизация на Python):

# test_calculator.py
import pytest

def test_addition():
    """Проверяет базовую функцию сложения."""
    result = add(2, 3)
    assert result == 5, f"Ожидалось 5, получено {result}"

def test_division_by_zero():
    """Проверяет обработку ошибки деления на ноль."""
    with pytest.raises(ZeroDivisionError):
        divide(10, 0)

Цикл нелинеен: после исправления багов выполняются регрессионные и подтверждающие тесты, начиная с этапа 5.