Какие специфические аннотации для формирования отчета о тестировании вы знаете?

«Какие специфические аннотации для формирования отчета о тестировании вы знаете?» — вопрос из категории Логирование и отчётность, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для формирования структурированных и информативных отчетов я активно использую аннотации фреймворков и систем репортинга.

В фреймворках тестирования:

  • JUnit 5:

    • @DisplayName("Проверка логина с валидными данными") — задает человеко-читаемое имя теста в отчетах.
    • @Tag("smoke") или @Tag("api") — для категоризации и фильтрации тестов при запуске.
  • TestNG:

    • @Test(description = "Проверка успешного создания пользователя через API") — добавляет детальное описание.
    • @Test(priority = 1) — задает порядок выполнения (хотя лучше избегать зависимостей между тестами).

В системе репортинга Allure (наиболее мощный инструмент):

  • Структура и классификация:
    @Epic("Панель управления")
    @Feature("Аутентификация")
    @Story("Форма логина")
    public class LoginTest { ... }
  • Критичность дефекта:
    @Severity(SeverityLevel.CRITICAL)
    @Test
    public void testLoginWithInvalidPassword() { ... }
  • Детализация шагов в отчете:

    @Test
    public void testUserCreation() {
        enterCredentials();
        submitForm();
    }
    
    @Step("Ввод логина и пароля в форму")
    private void enterCredentials() { ... }
  • Прикрепление артефактов: @Attachment — для добавления скриншотов, логов или файлов в отчет.

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