update team, test
This commit is contained in:
62
docs/testing/01-testing.md
Normal file
62
docs/testing/01-testing.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
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. Интеграционное тестирование
|
||||
- Проверка взаимодействия между различными модулями или компонентами приложения.
|
||||
Reference in New Issue
Block a user