Перейти к основному содержимому

Тесты

1. Unit-тестирование

Проверка корректности работы отдельных функций, методов или классов.

ИнструментЯзык / ЭкосистемаУстановка / Ссылка
JUnitJavahttps://junit.org; mvn dependency:resolve или добавление в pom.xml
TestNGJavahttps://testng.org; Maven/Gradle
PytestPythonpip install pytest
unittestPython (встроенный)Входит в стандартную библиотеку
JestJavaScript / TypeScriptnpm install --save-dev jest
MochaJavaScriptnpm install --save-dev mocha
NUnitC# / .NETЧерез NuGet: dotnet add package NUnit
xUnit.netC# / .NETdotnet add package xunit
Go testingGoВстроен в go test
Catch2C++https://github.com/catchorg/Catch2; vcpkg install catch2
Rust testRustВстроено в Cargo: cargo test

2. Интеграционное тестирование

Проверка взаимодействия между компонентами системы (например, API и база данных).

ИнструментОписаниеУстановка / Ссылка
PostmanREST-клиент с поддержкой коллекций и тестовhttps://www.postman.com/downloads
InsomniaАльтернатива Postman, с открытым исходным кодомbrew install --cask insomnia (macOS)
CypressИнтеграционные и E2E-тесты для веб-приложенийnpm install cypress --save-dev
TestCafeИнтеграционные тесты без WebDrivernpm install testcafe --save-dev
RestAssuredREST-тестирование в JavaMaven/Gradle зависимость
Karate DSLBDD-ориентированные API-тестыhttps://github.com/karatelabs/karate
SupertestТестирование HTTP-серверов на Node.jsnpm install supertest --save-dev

3. End-to-End (E2E) тестирование

Имитация действий пользователя в полном рабочем окружении.

ИнструментОписаниеУстановка / Ссылка
SeleniumКросс-браузерное автоматизированное тестированиеpip install selenium (Python), npm install selenium-webdriver (JS)
PlaywrightСовременный инструмент от Microsoftnpm install @playwright/test
PuppeteerУправление Chrome/Chromium через DevToolsnpm install puppeteer
WebDriverIOE2E-фреймворк поверх WebDrivernpm install @wdio/cli
Robot FrameworkОбобщённый фреймворк с поддержкой E2Epip install robotframework + библиотеки (SeleniumLibrary и др.)

4. Статический анализ и линтинг

Выявление потенциальных ошибок, проблем со стилем и уязвимостей без запуска кода.

ИнструментЯзыкУстановка / Ссылка
ESLintJavaScriptnpm install eslint --save-dev
JSHintJavaScriptnpm install jshint --save-dev
PylintPythonpip install pylint
Flake8Pythonpip install flake8
BlackPython (форматирование)pip install black
CheckstyleJavaMaven/Gradle плагин
PMDJavahttps://pmd.github.io
SonarQubeМультиязычныйhttps://www.sonarqube.org; Docker: docker run -d --name sonarqube -p 9000:9000 sonarqube
SemgrepМультиязычныйpip install semgrep или brew install semgrep
Clang-TidyC/C++Входит в состав LLVM; apt install clang-tidy (Debian/Ubuntu)
CppcheckC/C++apt install cppcheck или https://cppcheck.sourceforge.io
golangci-lintGogo install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

5. Инструменты нагрузочного и стресс-тестирования

Оценка производительности и устойчивости системы под нагрузкой.

ИнструментОписаниеУстановка / Ссылка
JMeterНагрузочное тестирование (GUI и CLI)https://jmeter.apache.org; brew install jmeter
k6Современный инструмент для нагрузкиhttps://k6.io; brew install k6 или Docker
LocustНаписание сценариев на Pythonpip install locust
GatlingВысокопроизводительное тестирование на Scalahttps://gatling.io
ArtilleryНагрузочное тестирование для Node.jsnpm install -g artillery

6. Фреймворки для моков и заглушек

Имитация внешних зависимостей при тестировании.

ИнструментЯзыкУстановка
MockitoJavaMaven/Gradle
unittest.mockPythonВходит в стандартную библиотеку
Jest mocksJavaScriptВстроено в Jest
MoqC#Через NuGet
WireMockМультиязычный (HTTP-моки)http://wiremock.org

7. Генераторы тестовых данных

Создание реалистичных наборов данных для тестирования.

ИнструментЯзык / ПлатформаУстановка
FakerPythonpip install faker
Faker.jsJavaScriptnpm install @faker-js/faker
Java FakerJavaMaven/Gradle
MockarooВеб-сервис генерации CSV/JSONhttps://mockaroo.com

8. Визуализация и отчётность

Формирование отчётов и дашбордов по результатам тестов.

ИнструментОписаниеСсылка
Allure ReportГенерация интерактивных HTML-отчётовhttps://docs.qameta.io/allure
ReportPortalЦентрализованное хранение и анализ результатовhttps://reportportal.io
JUnit XMLСтандартный формат отчётовПоддерживается большинством CI-систем