Overview
What this challenge is about.
Property-Based Testing to Harden a SEPA Payments Parser. Advanced challenge in code. Writing production code that solves real engineering problems, earn a bl...
The Brief
What you'll do, and what you'll demonstrate.
Augment a Go SEPA parser's example-based test suite with property-based tests that surface at least three latent bugs hiding behind 84 percent line coverage.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Translate a payments schema and real incident history into precise, business-meaningful parser invariants.
- Build correct and adversarial input generators in Go using gopter and interpret shrunk counterexamples.
- Operate property-based tests inside continuous integration with a stable time and resource budget.
- Diagnose and document latent defects, mapping each to the invariant and input class that exposes it.
- Argue persuasively for a testing strategy using evidence rather than preference.
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Property Based Testing
Apply property based testing to solve real industry problems and demonstrate production-level capability.
- Fuzz Testing
Apply fuzz testing to solve real industry problems and demonstrate production-level capability.
- Go
Apply go to solve real industry problems and demonstrate production-level capability.
- Test Strategy
Apply test strategy to solve real industry problems and demonstrate production-level capability.
- Code Coverage
Apply code coverage to solve real industry problems and demonstrate production-level capability.
- Defect Analysis
Apply defect analysis to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Backend Engineer, Payments
Engineers on payments platforms must guarantee parsers never mishandle money under unexpected input. This challenge mirrors that responsibility, building generator-driven tests and tracing defects in a real SEPA parser so correctness holds across the full space of valid files.
This challenge sharpens
- property-based-testing
- go
- defect-analysis
Software Engineer in Test
Test engineers design strategies that find what example tests miss. Here you weigh property-based against example-based testing, set coverage-aware goals, and embed reliable test automation into continuous integration, the core craft of the role.
This challenge sharpens
- test-strategy
- code-coverage
- fuzz-testing
Reliability-Focused Backend Engineer
Reliability work means turning recurring production incidents into systemic safeguards. This challenge takes a documented pattern of quarterly failures and converts it into enforceable invariants and repeatable defect analysis that stop the pattern recurring.
This challenge sharpens
- defect-analysis
- property-based-testing
- test-strategy