Что включает в себя тестирование веб-приложения (WEB)?

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

Ответ

Тестирование веб-приложения — это комплексная проверка клиентской и серверной частей приложения, доступного через браузер. Основные направления:

  1. Функциональное тестирование:

    • Проверка бизнес-логики, форм, навигации, валидации.
    • Работа с API (через DevTools > Network или Postman).
  2. Кросс-браузерное и кроссплатформенное тестирование:

    • Проверка корректности работы в разных браузерах (Chrome, Firefox, Safari, Edge) и их версиях.
    • Проверка на разных ОС (Windows, macOS, Linux).
  3. Адаптивный дизайн (Responsive):

    • Проверка корректного отображения и usability на различных разрешениях экрана и устройствах (десктоп, планшет, мобильный).
  4. Тестирование производительности (Performance):

    • Нагрузочное тестирование (например, с помощью k6 или JMeter).
    • Анализ скорости загрузки и оптимизация (используя Lighthouse, WebPageTest).
  5. Тестирование безопасности (Security):

    • Проверка на базовые уязвимости: XSS, SQL-инъекции, безопасность cookies и сессий.

Пример автоматизированного UI-теста на Playwright (Python):

import pytest
from playwright.sync_api import Page, expect

def test_successful_login(page: Page):
    """Проверка успешного входа в систему."""
    # 1. Переход на страницу логина
    page.goto("https://demo.app.com/login")

    # 2. Заполнение полей
    page.locator("input[name='email']").fill("user@example.com")
    page.locator("input[name='password']").fill("secure_pass_123")

    # 3. Клик по кнопке входа
    page.locator("button[type='submit']").click()

    # 4. Проверка успешного редиректа и отображения элемента дашборда
    expect(page).to_have_url("https://demo.app.com/dashboard")
    expect(page.locator(".user-greeting")).to_contain_text("Welcome, User")