Что такое серьёзность (Severity) дефекта в тестировании?

Ответ

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

Ключевой принцип: Серьёзность определяется фактическим воздействием на систему, а не важностью для бизнеса (это Приоритет/Priority).

Уровни серьёзности (общепринятая градация):

Уровень Описание Пример
S1: Critical (Блокирующий) Система полностью неработоспособна. Невозможно продолжить тестирование основной функциональности. Падение приложения при запуске; невозможность авторизации для всех пользователей.
S2: High (Высокий) Ключевая функция не работает, но есть обходной путь, или система частично функционирует. Нельзя добавить товар в корзину; критичные данные не сохраняются.
S3: Medium (Средний) Функция работает с ограничениями или некорректно в неосновных сценариях. Неправильное округление суммы в отчёте; некорректное сообщение об ошибке.
S4: Low (Низкий) Косметическая проблема, не влияющая на функциональность. Опечатка в тексте; незначительное смещение элемента UI.

Пример в коде:

def process_payment(amount):
    if amount <= 0:
        # High/Medium Severity: Функция не обрабатывает неположительные суммы,
        # но система не падает.
        return "Error: Amount must be positive"
    # ... логика оплаты ...

def calculate_total(items):
    total = 0
    for item in items:
        total += item.price
    return total / 0  # Critical Severity: Деление на ноль → падение программы.

Важно: Серьёзность (Severity) и Приоритет (Priority) — разные метрики. Баг с низкой серьёзностью (опечатка на главной странице) может иметь высокий приоритет для исправления из-за репутационных рисков.

Ответ 18+ 🔞

Давай разберем эту вашу серьёзность, а то народ путается, как последние идиоты, блядь.

Серьёзность дефекта — это, грубо говоря, ответ на вопрос: «Насколько этот баг, сука, разъебывает систему?» Объективно, по факту. Не «ой, как некрасиво», а «ёпта, ничего не работает, пиздец». Это чисто техническая оценка урона, а не важность для какого-нибудь менеджера (это уже приоритет, про него потом).

Уровни, значит, такие, блядь:

Уровень Суть Пример, чтобы понятно было
S1: Critical (Блокирующий) Всё, капец, система легла. Дальше тестить нехуй. Приложение при запуске — хрясь! — и вылетело. Или никто, блядь, залогиниться не может. Полный пиздец.
S2: High (Высокий) Основная функция не пашет, но можно как-то костылем обойти или остальное хоть шевелится. В корзину товар не добавить, хоть тресни. Или критичные данные, сука, не сохраняются — всё пропало.
S3: Medium (Средний) Функция вроде работает, но где-то в угловом сценарии глючит или криво. В отчёте сумму неправильно округляет. Или сообщение об ошибке такое идиотское, что волосы дыбом.
S4: Low (Низкий) Ерунда, мелочь, косметика. На работу не влияет, но глаз режет. Опечатка в тексте кнопки. Или пиксель съехал, блядь.

Смотри сюда, на код, чтобы въехать:

def process_payment(amount):
    if amount <= 0:
        # Это Severity High/Medium: Функция не понимает, что за хуйню ей передали,
        # но система в целом не падает. Просто ошибку выдает.
        return "Error: Amount must be positive"
    # ... дальше логика оплаты ...

def calculate_total(items):
    total = 0
    for item in items:
        total += item.price
    return total / 0  # А вот это, мать вашу, Critical Severity!
                      # Деление на ноль — программа рухнет, как чёрт из табакерки.

И запомни, ёпта, главное: Серьёзность (Severity) и Приоритет (Priority) — это две большие разницы, как говорят в Одессе. Может быть баг с низкой серьёзностью (та самая опечатка), но с высоченным приоритетом, потому что завтра релиз, и клиент охуеет от безграмотности. А может быть критичный баг в никому не нужном модуле, который пофиксят через полгода. Вот такие пироги, блядь.