ANKIT PANDEY
“I test systems end to end — from the interface and API to the database, queues, state and failure paths.”
Specializing in cross-layer test architecture, asynchronous queue validation, race-condition detection, and deep defect investigation. Focused on making software provably reliable through rigorous evidence.
Full SDET Capability Matrix
Verified testing capabilities demonstrated across full-stack payments infrastructure. Proving architecture understanding, state verification, and forensic root-cause analysis.
UI & E2E Automation
Multi-page stateful flows, page object models, cross-browser chromium/firefox/webkit fixtures, dynamic data teardown.
REST API & Contracts
Complete controller contract audits, DTO schema validation, query parameter validation, status code invariants (200-500).
Unit & Pure Logic
Argon2 crypto verification, triangular currency exchange calculations, Luhn card algorithms, ledger fee rules.
Database State Validation
PostgreSQL transaction rollback checks, pessimistic row-level locking (SELECT FOR UPDATE) for double-spend prevention, cascading foreign keys.
Redis & Idempotency
Distributed locking via SET NX EX, SHA-256 payload hashing, 24h key TTL lifecycle, duplicate request suppression.
BullMQ & Asynchronous Queues
Async transfer worker state machines, 3x exponential backoff retries, queue backlog draining, job failure path testing.
Concurrency & Race Conditions
Parallel transfer submissions against same wallet, idempotency lock race condition analysis, simultaneous payout verification.
Performance & Load Testing
Deterministic VU load profiling, uncontended read baselines, CPU-intensive Argon2 auth spikes, high-concurrency read scenarios.
Accessibility (WCAG 2.1 AA)
Axe-core rule audits across 12 routes, focus trap verification, modal dialog roles, keyboard navigability, contrast compliance.
Responsive & Breakpoints
Automated viewport matrix testing at 375px, 390px, 768px, 1024px, 1440px; horizontal 2D overflow detection.
Error Handling & Resilience
Route interception simulating HTTP 400, 401, 404, 409, 500, and network dropouts; UI error-boundary validation.
Authentication & Session
Token expiration simulation, unauthorized interceptor redirection, timer leak prevention in transfer polling loops.
Root-Cause Investigation
Isolating subtle failure modes, tracing Node.js code to SQL driver and Redis commands, writing reproduction specs.
Regression Engineering
Maintaining green main baseline while asserting known active defects via test.fail() annotations for zero false positives.
AI-Assisted Testing
Autonomous Playwright planners, self-healing selector agents, multi-agent API+UI test strategists, failure diagnosis agents.
WrightPay: Cross-Border Payments QA Architecture
A multi-tier payments platform built specifically to exercise asynchronous settlement queues, distributed locks, database state machines, and high-concurrency race conditions.
How Tests Attach to WrightPay's Distributed System
2. Backend REST API Layer(NestJS / TypeScript / Express)
Route handling, JWT auth guards, DTO validation pipes, controller orchestration.
State Invariants Asserted at this Layer:
- ✓Strict Bearer token validation and user ownership checks
- ✓Deterministic status codes (200, 201, 400, 401, 404, 409)
- ✓UUID path parameter validation via ParseUUIDPipe
Verified Test Execution Breakdown (608 Core Baseline)
Runtime: < 35 secondsJest Unit Suite
Pure business logic, Argon2 hashing, FX currency math, DTO transformation, and fee calculation algorithms.
Key Invariants Verified:
- •Zero floating point rounding error on multi-currency conversions
- •Deterministic Argon2 password salt/hash verification
- •Valid card Luhn algorithm validation
Backend API & Integration
End-to-end HTTP contract testing across all 8 NestJS REST controllers with PostgreSQL transactions.
Key Invariants Verified:
- •Strict bearer token authentication guards on private endpoints
- •Pessimistic row-level lock (SELECT FOR UPDATE) prevents double-spend
- •TypeORM transaction rollback on balance exhaustion
Frontend Functional / E2E
Multi-step user journey workflows across Next.js UI from authentication through transfer execution.
Key Invariants Verified:
- •Recipient creation, validation, and auto-population in transfer form
- •Real-time exchange rate quote recalculation on amount change
- •Wallet multi-currency equivalent tab rendering
Accessibility (WCAG 2.1 AA)
Automated WCAG 2.1 AA accessibility scans across all 12 application routes.
Key Invariants Verified:
- •Input form control label associations (htmlFor/id matching)
- •Focus trapping within active modal dialogs
- •Color contrast minimum ratio >= 4.5:1 for normal text
Responsive Viewport Suite
Cross-breakpoint visual and interaction testing across 375px, 390px, 768px, 1024px, and 1440px.
Key Invariants Verified:
- •Zero unscrollable horizontal 2D viewport overflow
- •Send Money step wizard layout integrity at 375px
- •Card detail rendering without PAN truncation
Error Handling & Edge Cases
Fault injection and HTTP error simulations validating UI resilience and error state rendering.
Key Invariants Verified:
- •Graceful degradation on backend 500 without crashing React tree
- •Clear error messaging instead of misleading empty states
- •Network dropout handling during transfer polling
Session Expiry & 401 Interceptors
Token lifecycle, automatic eviction, 401 response handling, and polling termination audits.
Key Invariants Verified:
- •Immediate localStorage token purge on 401 response
- •React AuthContext synchronization preventing zombie authenticated states
- •Transfer polling timer cancellation on unauthorized responses
Known Defect Regression Suite
9 automated test specifications asserting verified open defects using test.fail() to track fix readiness without breaking CI.
Key Invariants Verified:
- •WP-QA-001: Async transfer failure wallet refund omission
- •WP-QA-003: Non-UUID path parameter 500 error handling (3 tests)
- •WP-QA-004: Decimal exchange rate type discrepancy
Flagship Defect Investigations
Real defects uncovered during automation. Proving deep diagnosis across BullMQ retry handlers, PostgreSQL lock contention, and contract type mismatches.
Missing Automatic Refund on Asynchronous BullMQ Settlement Failure
When an asynchronous transfer reaches a terminal failure state in the BullMQ worker, customer funds remain permanently debited from their EUR balance without automatic restitution.
PostgreSQL Commit Precedes BullMQ Enqueue (Dual-Write Window)
If Redis suffers a transient network outage or queue memory exhaustion immediately following a database transaction commit, transfers become permanently stranded in 'PENDING_EXECUTION' with no worker pickup.
Malformed Non-UUID Path Parameters Trigger Unhandled HTTP 500
Supplying non-UUID values (e.g., 'invalid-uuid-123', 'test', 'NaN') in URL path parameters crashes with HTTP 500 Internal Server Error instead of 400 Bad Request or 404 Not Found.
The 6-Stage Engineering Approach
A systematic methodology for engineering test automation — understanding system boundaries and modeling risks before writing a single test script.
Analyze the system architecture, data flows, and business rules before writing a single test.
Map the application layers — frontend, API, backend, database — and their interaction boundaries.
Determine where failures are most likely and most costly. Prioritize coverage accordingly.
Build reliable, maintainable automation that validates each layer independently and together.
Execute tests across the full stack — from UI interactions to database state verification.
Analyze results, refine coverage, and evolve the testing architecture as the system grows.
Ready to review the full technical investigation?
Explore the complete 18-section WrightPay case study, testing matrix, code samples, and k6 telemetry.