Files
frontend-docs/docs/testing/01-testing.md

64 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
sidebar_position: 1
---
# Тестирование
Тестирование фронтенд-приложений — это важный этап разработки, который помогает убедиться, что приложение работает корректно, соответствует требованиям и предоставляет пользователям качественный опыт. Вот основные аспекты и виды тестирования фронтенд-приложений:
## Виды тестирования фронтенд-приложений
1. Функциональное тестирование
- Проверка, что все функции приложения работают так, как ожидается. Примеры:
- Проверка корректности работы форм, кнопок, ссылок.
- Тестирование взаимодействия с API (например, отправка и получение данных).
- Проверка валидации данных (например, ввод некорректных данных в поля формы).
2. Юзабилити-тестирование
- Оценка удобства использования интерфейса:
- Насколько интуитивно понятен интерфейс.
- Удобство навигации.
- Соответствие ожиданиям пользователей.
3. Кросс-браузерное тестирование
- Проверка корректности отображения и работы приложения в разных браузерах (Chrome, Firefox, Safari, Edge и т.д.) и их версиях.
4. Кросс-платформенное тестирование
- Тестирование на разных устройствах и операционных системах (десктопы, мобильные устройства, планшеты).
5. Тестирование производительности
- Проверка скорости загрузки страниц, отзывчивости интерфейса и работы приложения под нагрузкой.
6. Тестирование доступности (Accessibility)
- Проверка, что приложение доступно для людей с ограниченными возможностями (например, поддержка screen readers, контрастность, управление с клавиатуры).
7. Визуальное тестирование
- Проверка соответствия интерфейса макетам (например, с использованием инструментов вроде Percy или Applitools).
8. Регрессионное тестирование
- Проверка, что новые изменения не сломали существующий функционал.
Инструменты для тестирования фронтенд-приложений
1. Фреймворки для модульного и интеграционного тестирования
- Jest: популярный фреймворк для unit- и интеграционных тестов.
- Mocha: гибкий фреймворк для тестирования.
- Cypress: инструмент для end-to-end тестирования.
- Puppeteer: библиотека для автоматизации браузера (Chrome/Chromium).
2. Инструменты для кросс-браузерного тестирования
- BrowserStack: облачный сервис для тестирования на разных устройствах и браузерах.
- Sauce Labs: аналогичный сервис для кросс-браузерного тестирования.
3. Инструменты для тестирования производительности
- Lighthouse: встроен в Chrome DevTools, анализирует производительность, доступность и SEO.
- WebPageTest: онлайн-инструмент для анализа скорости загрузки страниц.
4. Инструменты для тестирования доступности
- axe: библиотека для автоматического тестирования доступности.
- WAVE: онлайн-инструмент для проверки доступности веб-страниц.
5. Инструменты для визуального тестирования
- Percy: сервис для визуального тестирования.
- Applitools: инструмент для автоматического сравнения скриншотов.
## Подходы к тестированию
1. Ручное тестирование
- Тестирование вручную, когда тестировщик проверяет функционал и интерфейс вручную. Полезно для юзабилити-тестирования и exploratory testing.
2. Автоматизированное тестирование
- Написание скриптов для автоматического выполнения тестов. Подходит для регрессионного, функционального и кросс-браузерного тестирования.
3. End-to-End (E2E) тестирование
- Тестирование всего потока приложения от начала до конца (например, от входа пользователя до завершения заказа).
4. Unit-тестирование
- Тестирование отдельных компонентов или функций приложения (например, тестирование отдельной функции JavaScript).
5. Интеграционное тестирование
- Проверка взаимодействия между различными модулями или компонентами приложения.
🚀 **_Источник: DeepSeek_**