Junior
93
questionbank
Знаешь ли ты какие-либо типы тестирования?
Ответ от нейросети
sobes.tech AI
Да, знаю.
Основные типы тестирования:
-
Функциональное тестирование:
- Тестирование дымом (Smoke Testing)
- Тестирование критического пути (Sanity Testing)
- Тестирование интеграции (Integration Testing)
- Системное тестирование (System Testing)
- Регрессионное тестирование (Regression Testing)
- Приемочное тестирование (Acceptance Testing) - включая альфа- и бета-тестирование.
-
Нефункциональное тестирование:
- Тестирование производительности (Performance Testing) - включает нагрузочное, стрессовое, объемное тестирование.
- Тестирование безопасности (Security Testing)
- Тестирование удобства использования (Usability Testing)
- Тестирование совместимости (Compatibility Testing)
- Тестирование надежности (Reliability Testing)
- Тестирование доступности (Accessibility Testing)
- Тестирование локализации (Localization Testing)
- Тестирование интернационализации (Internationalization Testing)
-
Связанное с изменениями тестирование:
- Дымовое тестирование (Smoke Testing)
- Регрессионное тестирование (Regression Testing)
-
Структурное тестирование (на основе кода):
- Модульное тестирование (Unit Testing)
- Тестирование белого ящика (White Box Testing)
-
Тестирование на основе опыта:
- Исследовательское тестирование (Exploratory Testing)
- Тестирование на основе чек-листа (Checklist-based Testing)
- Тестирование на основе сценариев (Scenario-based Testing)
Примеры применения некоторых типов:
| Тип тестирования | Краткое описание | Когда применяется |
|---|---|---|
| Дымовое тестирование | Проверка основных функций после сборки или развертывания. | Каждая новая сборка. |
| Регрессионное тестирование | Проверка того, что изменения не внесли новые дефекты в существующую функциональность. | После каждого внесения изменений или исправления дефектов. |
| Нагрузочное тестирование | Проверка поведения системы под ожидаемой нагрузкой. | Перед запуском в эксплуатацию, при изменениях архитектуры. |
| Модульное тестирование | Тестирование отдельных компонентов или модулей кода. | На этапе разработки, разработчиками. |
В автоматизации тестирования мы чаще всего автоматизируем регрессионные тесты, тесты интеграции и, иногда, тесты производительности и безопасности.
// Пример Unit тестов (JUnit)
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CalculatorTest {
@Test
void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3), "Adding 2 and 3 should be 5");
}
}
# Пример Selenium Webdriver теста (Python)
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()