mirror of
https://github.com/azaion/ai-training.git
synced 2026-04-22 23:36:36 +00:00
142c6c4de8
- Replaced module-level path variables in constants.py with a structured Pydantic Config class. - Updated all relevant modules (train.py, augmentation.py, exports.py, dataset-visualiser.py, manual_run.py) to access paths through the new config structure. - Fixed bugs related to image processing and model saving. - Enhanced test infrastructure to accommodate the new configuration approach. This refactor improves code maintainability and clarity by centralizing configuration management.
38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# Resilience Test Scenarios
|
|
|
|
## RT-AUG-01: Augmentation handles corrupted image gracefully
|
|
- **Input**: 1 valid image + 1 corrupted image file (truncated JPEG) in data/ dir
|
|
- **Action**: Run `augment_annotations()`
|
|
- **Expected**: Valid image produces 8 outputs; corrupted image skipped without crashing pipeline; total output: 8 files
|
|
- **Traces**: Restriction: Augmentation exception handling per-image
|
|
|
|
## RT-AUG-02: Augmentation handles missing label file
|
|
- **Input**: 1 image with no matching label file
|
|
- **Action**: Run `augment_annotation()` on the image
|
|
- **Expected**: Exception caught per-thread; does not crash pipeline
|
|
- **Traces**: Restriction: Augmentation exception handling
|
|
|
|
## RT-AUG-03: Augmentation transform failure produces fewer variants
|
|
- **Input**: 1 image + label that causes some transforms to fail (extremely narrow bbox)
|
|
- **Action**: Run `augment_inner()`
|
|
- **Expected**: Returns 1-8 ImageLabel objects (original always present; failed variants skipped); no crash
|
|
- **Traces**: Restriction: Transform failure handling
|
|
|
|
## RT-DSF-01: Dataset formation with empty processed directory
|
|
- **Input**: Empty processed images dir
|
|
- **Action**: Run `form_dataset()`
|
|
- **Expected**: Creates empty train/valid/test directories; no crash
|
|
- **Traces**: Restriction: Edge case handling
|
|
|
|
## RT-ENC-01: Decrypt with corrupted ciphertext
|
|
- **Input**: Randomly modified ciphertext bytes
|
|
- **Action**: `Security.decrypt_to(corrupted_bytes, key)`
|
|
- **Expected**: Either raises exception or returns garbage bytes (not original)
|
|
- **Traces**: AC: Encryption integrity
|
|
|
|
## RT-AQM-01: Malformed msgpack message
|
|
- **Input**: Random bytes that aren't valid msgpack
|
|
- **Action**: Pass to message handler
|
|
- **Expected**: Exception caught; handler doesn't crash
|
|
- **Traces**: AC: Error handling for malformed messages
|