Ответ
Виды тестирования классифицируются по целям и уровню детализации. В своей работе я регулярно сталкиваюсь со следующими:
1. По уровню (пирамида тестирования):
- Модульное (Unit): Проверка отдельных функций или методов. Пишутся разработчиками или тестировщиками. Пример на Java/JUnit:
@Test public void testCalculateDiscount() { Cart cart = new Cart(); cart.addItem(new Item("Book", 100)); double discount = cart.calculateDiscount(); assertEquals(10.0, discount, 0.01); // Проверка скидки 10% } - Интеграционное: Проверка взаимодействия между модулями, сервисами или БД.
- Системное (End-to-End / E2E): Проверка работы всей системы как единого целого (например, через Selenium).
2. По целям:
- Функциональное: Проверка соответствия требованиям (Smoke, Регрессионное, Приемочное).
- Нефункциональное:
- Нагрузочное/Производительности: Оценка поведения под нагрузкой (использую JMeter, k6).
- Безопасность: Поиск уязвимостей (SQL-инъекции, XSS).
- Юзабилити: Удобство интерфейса для пользователя.
- Совместимость: Работа в разных браузерах, ОС, устройствах.
3. По степени автоматизации: Ручное, автоматизированное (автотесты на Python/pytest, Java/Selenium) и полуавтоматическое.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶