Отдельные документы о тестировании
This commit is contained in:
43
Report/includes/testing/03-automation.typ
Normal file
43
Report/includes/testing/03-automation.typ
Normal file
@@ -0,0 +1,43 @@
|
||||
== Автоматизированное тестирование (код модулей)
|
||||
|
||||
В проекте реализовано 68 автоматических unit-тестов в пяти модулях (`:domain` — 12, `:domain-vault` — 10, `:usecases` — 25, `:ui` — 15, `:task-runtime` — 6). Тесты выполняются на JVM при сборке (`./gradlew test`). Инструментальные тесты размещены в `src/androidTest` соответствующих модулей.
|
||||
|
||||
=== Листинги исходного кода автотестов
|
||||
|
||||
Ниже — листинги файлов `src/test` и `src/androidTest` (при сборке PDF читаются из дерева проекта Wallenc, по тому же принципу, что приложение А пояснительной записки).
|
||||
|
||||
#include "../../listings/generated-tests/appendix-tests.typ"
|
||||
|
||||
=== Криптография и доменные ошибки
|
||||
|
||||
Класс `EncryptorTest` проверяет сценарии AES: `checkKey`, шифрование строк, байтовых массивов и потоков с верным и неверным ключом. `WallencExceptionMappingTest` покрывает преобразование файловых и сетевых исключений.
|
||||
|
||||
#import "../common.typ": pz-fig
|
||||
|
||||
#pz-fig("fig_27_gradle_domain_test.png", [Отчёт Gradle: модуль :domain, задача test], "fig-27-export")
|
||||
|
||||
=== Синхронизация, 2FA и use cases
|
||||
|
||||
`StorageSyncEngineTest` моделирует группы синхронизации, копирование и удаление файлов, soft-delete, отмену и блокировки; отдельно проверяются слияние журнала и пропуск цели с актуальной ревизией. `TwoFaTotpTest` сверяет TOTP с эталоном Java OTP. `StorageDomainUseCasesTest` проверяет CRUD текстовых секретов и 2FA.
|
||||
|
||||
#pz-fig("fig_28_gradle_usecases_test.png", [Отчёт Gradle: модуль :usecases], "fig-28-export")
|
||||
|
||||
=== Модуль :domain-vault
|
||||
|
||||
`YandexDiskRepositoryTest` использует мок HTTP: разбор `diskInfo`, пустой список при 404, `AuthException` при 401. `VaultThrowableMappingTest` покрывает сетевые и файловые ошибки vault.
|
||||
|
||||
=== Модуль :ui
|
||||
|
||||
Проверены чистые функции навигации, deep link, подписи уведомлений, парсинг OTP URI и постановка задачи в очередь (`TaskPipelineViewModelTest`).
|
||||
|
||||
#pz-fig("fig_29_gradle_ui_test.png", [Отчёт Gradle: модуль :ui], "fig-29-export")
|
||||
|
||||
=== Модуль :task-runtime
|
||||
|
||||
`TaskOrchestratorTest` проверяет enqueue, progress, fail, cancel и cancelAll.
|
||||
|
||||
== Инструментальные тесты (androidTest)
|
||||
|
||||
Запуск: `./gradlew connectedDebugAndroidTest`. Результат — на рис. @fig-31-export.
|
||||
|
||||
#pz-fig("fig_31_gradle_connected_test.png", [Gradle connectedDebugAndroidTest], "fig-31-export")
|
||||
Reference in New Issue
Block a user