Отдельные документы о тестировании

This commit is contained in:
2026-05-28 18:07:46 +03:00
parent 32c579e0c0
commit f7023380b3
23 changed files with 141922 additions and 71 deletions

View File

@@ -0,0 +1,59 @@
== Наборы тестов и покрытие требований
Наборы тестов сформированы по функциональным требованиям к Wallenc (ФР-1…ФР-6). Матрица сценариев T-1…T-12 связывает испытания с ожидаемым поведением; реестр unit-тестов фиксирует автоматизированные проверки по модулям Gradle.
=== Функциональные требования
#include "tbl-functional-req.typ"
=== Матрица тестовых сценариев
#import "../common.typ": pz-table
#pz-table(
[Матрица тестовых сценариев],
5,
table.header([ID], [Сценарий], [Тип], [Авто], [Ожидаемый результат]),
[T-1], [Проверка ключа шифрования], [Unit], [Да], [`Encryptor.checkKey` true/false],
[T-2], [Шифрование/дешифрование строки и байтов], [Unit], [Да], [Симметрия данных],
[T-3], [Потоковое шифрование файла], [Unit], [Да], [Данные после decrypt равны исходным],
[T-4], [Синхронизация группы хранилищ], [Unit], [Да], [Копирование, удаление, trash, блокировки],
[T-5], [2FA TOTP генерация], [Unit], [Да], [Совпадение с эталоном Java OTP],
[T-6], [Маппинг ошибок сети/диска], [Unit], [Да], [Типизированные `WallencException`],
[T-7], [CRUD storage в LocalVault], [Ручной], [Нет], [Список обновлён],
[T-8], [Включение шифрования storage], [Ручной], [Нет], [Статус encrypted],
[T-9], [Открытие/закрытие storage], [Ручной], [Нет], [Доступ только с ключом],
[T-10], [OAuth Яндекс], [Ручной / IT], [Частично], [Токен в `DbYandexAccount`],
[T-11], [Экран задач и уведомления], [Ручной], [Частично], [Прогресс и завершение],
[T-12], [Compose: секреты и 2FA], [IT], [Да], [Отображение без падений],
) <tbl-testplan-export>
=== Трассировка требований → тесты
#pz-table(
[Трассировка требований тесты],
3,
table.header([ФР], [Тесты], [Комментарий]),
[ФР-1], [T-7, StorageDomainUseCasesTest], [Storage в LocalVault и CRUD секретов],
[ФР-2], [EncryptorTest, T-8, T-9], [Покрытие AES],
[ФР-3], [TextSecretsScreenContentTest], [UI + domain],
[ФР-4], [YandexDiskRepositoryTest, T-10], [HTTP-мок и ручной OAuth],
[ФР-5], [StorageSyncEngineTest], [Синхронизация групп],
[ФР-6], [TaskOrchestratorTest, T-11], [Очередь и экран задач],
) <tbl-trace-export>
=== Реестр модульных unit-тестов
#include "../ch05-tests-generated.typ"
=== Инструментальные тесты (androidTest)
#pz-table(
[Инструментальные тесты androidTest],
4,
table.header([Модуль], [Класс], [Назначение], [Методов]),
[:ui], [TwoFaTokensScreenContentTest], [Compose: экран 2FA токенов], [2],
[:ui], [TextSecretsScreenContentTest], [Compose: текстовые секреты], [2],
[:infra], [YandexAccountRepositoryTest], [Room in-memory: аккаунт Яндекс], [3],
[:app], [YandexDiskLiveIntegrationTest], [Живой API (при наличии токена)], [3],
) <tbl-androidtest-export>