42 lines
2.8 KiB
Markdown
42 lines
2.8 KiB
Markdown
# Длительный soak-тест Exchanger
|
||
|
||
## Автоматическая модель 24 часов
|
||
|
||
Обычный NUnit-набор содержит ускоренный сценарий `OperationalSoakTests`: он моделирует 1440 минут,
|
||
480 подтверждённых выдач и 10 000 циклов создания/освобождения `SessionFlow`. Тест проверяет
|
||
детерминированное состояние Home, отсутствие повторной выдачи и отсутствие накопления подписок.
|
||
Это проверка логики, а не замена длительному процессному прогону.
|
||
|
||
## Процессный прогон
|
||
|
||
`tools/soak/run-runtime-soak.ps1` запускает указанный exe, проверяет его живучесть и рабочий набор
|
||
памяти, пишет CSV-сэмплы и итог в `artifacts/soak`. По умолчанию длительность равна 24 часам.
|
||
|
||
Пример для экспортированной debug/mock-сборки:
|
||
|
||
```powershell
|
||
.\tools\soak\run-runtime-soak.ps1 `
|
||
-ExecutablePath 'C:\ExchangerSoak\Exchanger.exe' `
|
||
-ApplicationArguments @('--mock-hardware=true', '--no-theme-dlc') `
|
||
-DurationHours 24 `
|
||
-SampleIntervalSeconds 60 `
|
||
-MaximumWorkingSetMb 2048
|
||
```
|
||
|
||
Для короткой проверки самого runner допускается `-DurationHours 0.0167` (около минуты), но такой
|
||
результат не является 24-часовой приёмкой. Перед production прогон выполняется на целевом ПК с
|
||
подключённым дисплеем; физическую выдачу и реальную оплату в soak-профиль не включают.
|
||
|
||
Контрольный прогон runner 2026-08-24 прошёл 12/12 пятисекундных сэмплов с пиком working set
|
||
217.73 МБ. CSV использует invariant-формат десятичных чисел и проверен через `Import-Csv` под
|
||
русской локалью. Отчёты создаются в локальном игнорируемом каталоге `artifacts/soak/`.
|
||
|
||
Критерии:
|
||
|
||
- процесс не завершился и не завис;
|
||
- working set не превысил согласованный предел;
|
||
- журналы не вышли за лимит конфигурации;
|
||
- интерфейс остался на Home и принимает касания;
|
||
- COM-reconnect не создаёт повторной выдачи;
|
||
- после штатного завершения отсутствуют незакрытые операции, кроме явно смоделированных аварий.
|