ZeroVerify's testing strategy encompasses both unit and integration testing to ensure the system meets all functional and non-functional requirements. Testing focuses on cryptographic correctness, privacy guarantees, and system reliability.
Unit tests validate individual components in isolation:
Integration tests validate end-to-end system flows:
Test with multiple IdPs and users. Inspect wallet contents for correct attributes, signatures, and metadata.
End-to-end testing with sample credentials. Verify hidden attributes remain concealed. Measure generation time under normal load.
Test verification with valid, revoked, and tampered proofs. Compare results against expected outcomes.
Conduct penetration tests and security audits. Attempt unauthorized proof requests and tampering. Inspect encryption and key management implementation.
Load testing with multiple concurrent users. Measure proof generation and verification times under various load conditions.
Simulate large-scale usage scenarios. Measure system latency and throughput under high load.
Request → Approve → Proof generated → Verify → Accepted