Update README.md

This commit is contained in:
2026-05-20 18:37:29 +00:00
parent d08995583a
commit f7500283d9

View File

@@ -173,31 +173,39 @@ $ ./futriis
### Тестирование ### Тестирование
На данный момент для субд реализовано пять тестов (регрессионный, smoke-тест, функциональный, интеграционный, нагрузочный) на языке lua, покрывающий функционал acl, индексов, constraint'ов, RestFull HTTP API, ACL Разработанный набор из пяти тестов (регрессионный, smoke-тест, функциональный, интеграционный и нагрузочный) на языке Lua обеспечивает комплексную проверку всех ключевых компонентов СУБД: CRUD-операций, индексов, транзакций, ограничений целостности, ACL, триггеров, MVCC-версионирования, а также взаимодействия API с хранилищем и кластерной координации. Регрессионный тест гарантирует, что изменения кода не нарушили существующую функциональность, smoke-тест выполняет быструю проверку доступности и базовой работоспособности системы. Функциональный и интеграционный тесты проверяют корректность реализации бизнес-требований и взаимодействие между компонентами, а нагрузочный тест оценивает производительность (латентность, пропускную способность) под различными сценариями использования.
Команды для запуска тестов приведены ниже:
> [!IMPORTANT] > [!IMPORTANT]
> 1. Перед запуском тестов убедитесь, что СУБД запущена и HTTP API доступен на порту 8080 > 1. Перед запуском тестов убедитесь, что СУБД запущена и HTTP API доступен на порту 8080
> 2. Load test может занять несколько минут при больших объёмах данных > 2. Load test может занять несколько минут при больших объёмах данных
> 3. Для параллельного тестирования в нагрузочном тесте рекомендуется использовать lua-lanes или запускать несколько процессов
> 4. Все тесты используют аутентификацию и проверяют как позитивные, так и негативные сценарии
```bash ```bash
# Установка LuaSocket и JSON библиотек # Установка зависимостей для Lua-тестирования
luarocks install luasocket sudo apt install lua5.3 lua-socket
luarocks install lua-cjson
# Запуск отдельных тестов # Запуск регрессионного теста
lua regression_test.lua lua test_regression.lua
lua smoke_test.lua
lua functional_test.lua
lua integration_test.lua
lua load_test.lua
# Или все тесты последовательно # Запуск smoke-теста
for test in regression smoke functional integration load; do lua test_smoke.lua
echo "Running ${test}_test.lua..."
lua ${test}_test.lua # Запуск функционального теста
echo "---" lua test_functional.lua
# Запуск интеграционного теста
lua test_integration.lua
# Запуск нагрузочного теста
lua test_performance.lua
# Запуск всех тестов последовательно
for test in test_regression.lua test_smoke.lua test_functional.lua test_integration.lua test_performance.lua; do
echo "=== Running $test ==="
lua "$test"
echo ""
done done
``` ```
<p align="right">(<a href="#readme-top">К началу</a>)</p> <p align="right">(<a href="#readme-top">К началу</a>)</p>