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]
> 1. Перед запуском тестов убедитесь, что СУБД запущена и HTTP API доступен на порту 8080
> 2. Load test может занять несколько минут при больших объёмах данных
> 3. Для параллельного тестирования в нагрузочном тесте рекомендуется использовать lua-lanes или запускать несколько процессов
> 4. Все тесты используют аутентификацию и проверяют как позитивные, так и негативные сценарии
```bash
# Установка LuaSocket и JSON библиотек
luarocks install luasocket
luarocks install lua-cjson
# Установка зависимостей для Lua-тестирования
sudo apt install lua5.3 lua-socket
# Запуск отдельных тестов
lua regression_test.lua
lua smoke_test.lua
lua functional_test.lua
lua integration_test.lua
lua load_test.lua
# Запуск регрессионного теста
lua test_regression.lua
# Или все тесты последовательно
for test in regression smoke functional integration load; do
echo "Running ${test}_test.lua..."
lua ${test}_test.lua
echo "---"
# Запуск smoke-теста
lua test_smoke.lua
# Запуск функционального теста
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
```
<p align="right">(<a href="#readme-top">К началу</a>)</p>