Update README.md
This commit is contained in:
42
README.md
42
README.md
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user