Non-functional scenarios in Commodities Trading systems
Feature: Performance & Scalability
The system must handle high trading volumes with low latency.
Scenario: Process trades under latency threshold (nominal)
Given the system receives 10,000 trades in one minute
When trades are captured and positions updated
Then each trade should be processed in under 200 milliseconds
And no trades should be dropped
Scenario: Graceful degradation at peak load (edge)
Given the system receives 100,000 trades in one minute
When load exceeds normal thresholds
Then the system should queue excess trades
And alert operations with "High load"
And continue processing without crashing
Availability
Feature: Availability & Reliability
The system must be continuously available with disaster recovery.
Scenario: High availability uptime (nominal)
Given the system is running
When I monitor uptime over one month
Then availability should be at least 99.9%
Scenario: Failover to disaster recovery site (edge)
Given the primary data center is unavailable
When a disaster is declared
Then the system should failover to the backup site
And recovery time objective should be under 1 hour
Security
Feature: Security
The system must enforce authentication, authorization, and encryption.
Scenario: Role-based access control (nominal)
Given I am logged in as a risk manager
When I attempt to view trade details
Then I should be allowed
But when I attempt to approve a settlement
Then I should be denied
Scenario: Encryption enforcement (edge)
Given I send data between client and server
When I inspect the connection
Then traffic should be encrypted with TLS 1.2 or higher
Data Integrity
Feature: Data Integrity & Consistency
The system must ensure accurate trade records.
Scenario: Prevent duplicate trade IDs (nominal)
Given a trade with ID "TR123" is recorded
When I try to enter another trade with ID "TR123"
Then the system should reject it
And display "Duplicate trade ID not allowed"
Scenario: Ensure reconciliation with external systems (edge)
Given I reconcile trades with exchange reports
When discrepancies are found
Then the system should flag mismatches
And generate an exception report
Compliance
Feature: Compliance & Auditability
The system must meet regulatory requirements.
Scenario: Regulatory report generation (nominal)
Given I have captured a derivatives trade
When I generate the EMIR daily report
Then the trade should appear with counterparty LEI and UTI
Scenario: Complete audit trail (edge)
Given a trader edits a trade after capture
When I view the audit log
Then the system should show who made the change
And when it was made
And what was changed
Maintainability
Feature: Maintainability & Extensibility
The system should support upgrades and modular expansion.
Scenario: Zero-downtime upgrade (nominal)
Given the system is in production
When a patch release is applied
Then users should remain logged in
And trades should continue to be processed
Scenario: Add new commodity type without redeployment (edge)
Given the system currently supports crude oil and copper
When I configure "wheat" as a new commodity
Then I should be able to capture wheat trades
Without restarting the system