OQ-001: Operational Qualification
| Property |
Value |
| ID |
OQ-001 |
| Version |
1.0 |
| Verifies Against |
All FS documents |
| Status |
Draft |
| Author |
|
| Approved By |
|
| Date |
|
Purpose
Verify that every functional requirement works correctly under normal operating conditions. The OQ leverages the existing automated test suite (1,551+ tests) as qualification evidence.
OQ Execution
Full OQ Run
# Run all tests (complete OQ)
dotnet test
# Run with detailed output
dotnet test --verbosity normal
Per-Context OQ Runs
| OQ Section |
FS Reference |
Test Command |
Expected Tests |
| OQ-MFG |
FS-MFG-001 |
dotnet test --filter "Manufacturing" |
~100 |
| OQ-PRD |
FS-PRD-001 |
dotnet test --filter "Product" |
~125 |
| OQ-QUA |
FS-QUA-001 |
dotnet test --filter "Statistics" |
~113 |
| OQ-ROB |
FS-ROB-001 |
dotnet test --filter "Robot" |
~70 |
| OQ-WPC |
FS-WPC-001 |
dotnet test --filter "WorkPieceCarrier" |
~75 |
| OQ-PAR |
FS-PAR-001 |
dotnet test --filter "Parameter" |
~290 |
| OQ-SYS |
FS-SYS-001 |
dotnet test --filter "System" |
~70 |
| OQ-INT |
FS-INT-001 |
dotnet test Essert.MF.API.OpcUa.Tests |
~59 |
| OQ-DAT |
FS-DAT-001 |
dotnet test --filter "Persistence.Operations" |
~65 |
OQ Test Layers
Layer 1: Domain Unit Tests (OQ-DOM)
| Property |
Value |
| Test Project |
Essert.MF.Domain.Tests |
| Command |
dotnet test Essert.MF.Domain.Tests |
| Dependencies |
None (pure unit tests) |
| Verifies |
Domain entity behavior, value objects, state transitions, domain events |
| FS Coverage |
FS-MFG-001.2 (state transitions), FS-DAT-001.1 (entity structure) |
Layer 2: Application Handler Tests (OQ-APP)
| Property |
Value |
| Test Project |
Essert.MF.Application.Tests |
| Command |
dotnet test Essert.MF.Application.Tests |
| Dependencies |
Moq, AutoFixture (mocked repositories) |
| Verifies |
CQRS handler logic, input validation, orchestration |
| FS Coverage |
All FS items (handler-level verification) |
Layer 3: Infrastructure Integration Tests (OQ-INFRA)
| Property |
Value |
| Test Project |
Essert.MF.Infrastructure.Tests |
| Command |
dotnet test Essert.MF.Infrastructure.Tests |
| Dependencies |
Real MySQL/MariaDB database |
| Verifies |
Repository operations, CRC calculation, database queries |
| FS Coverage |
FS-DAT-001.2 (CRC), FS-PAR-001.1-3 (parameter CRUD) |
Filtered runs:
dotnet test --filter "FullyQualifiedName~Infrastructure.Tests.Unit"
dotnet test --filter "FullyQualifiedName~Infrastructure.Tests.Integration"
dotnet test --filter "FullyQualifiedName~Persistence.DbContext"
dotnet test --filter "FullyQualifiedName~Persistence.Operations"
dotnet test --filter "FullyQualifiedName~Persistence.Repositories"
Layer 4: REST API Integration Tests (OQ-REST)
| Property |
Value |
| Test Project |
Essert.MF.API.Rest.Tests |
| Command |
dotnet test Essert.MF.API.Rest.Tests |
| Dependencies |
WebApplicationFactory, real database |
| Verifies |
HTTP endpoints, request/response format, error handling |
| FS Coverage |
FS-INT-001.1 (REST API), all context-specific FS items |
Layer 5: OPC UA Integration Tests (OQ-OPCUA)
| Property |
Value |
| Test Project |
Essert.MF.API.OpcUa.Tests |
| Command |
dotnet test Essert.MF.API.OpcUa.Tests |
| Dependencies |
OPC UA server |
| Verifies |
OPC UA server, node managers, method calls |
| FS Coverage |
FS-INT-001.2 (OPC UA) |
OQ Pass Criteria
| Criterion |
Threshold |
| All tests pass |
100% pass rate |
| No skipped critical/high risk tests |
0 skipped |
| Test execution completes |
No timeouts or hangs |
OQ Results Template
| OQ Section |
Tests Run |
Passed |
Failed |
Skipped |
Result |
| OQ-DOM |
|
|
|
|
|
| OQ-APP |
|
|
|
|
|
| OQ-INFRA |
|
|
|
|
|
| OQ-REST |
|
|
|
|
|
| OQ-OPCUA |
|
|
|
|
|
| Total |
|
|
|
|
|
Executed By: __ Date: __
Reviewed By: __ Date: __
Supporting Evidence (Archived)