🧪 How (Not) to Build a QA POC in a Multi-Region Project
Imagine an e-commerce application being rolled out in over a dozen countries — each of them a separate region, with its own configuration, content, and expectations.
In theory: one app, one codebase, global standardization.
In practice? Local exceptions, regional features, and orders that must work in Malaysia, but not in Nigeria.
In such an environment, trying to build a shared automation framework — or even just a POC — can trigger a series of… fascinating collisions between hard reality and the PowerPoint version of QA. And that’s exactly what this post is about.
👨🔬 Three QA Engineers, Three POCs, Three Worlds
✅ POC #1: Works, scales, and understands the context (mine)
- Supports multiple regions with dynamic user and outlet selection
- Supports test tagging (
@country:ZA
,@outlet:full
,@authenticated
) - Separate logic layer for login, language switching, region, etc.
- Based on Playwright + TypeScript, with fixture logic for easier test reuse
- CI/CD ready — even if not fully integrated (yet)
- Extensible: currently works on
TEST
, can addACC
,PROD
via env-switch
Philosophy? Flexibility. Low entry barrier. Real-world scenarios, not theory.
🧩 POC #2: Tutorial-style patchwork (J’s version)
- One region, one test, one type of user
- No dynamic outlet, language, or region switching
- Sample test with hardcoded data
- Zero assertions (they kept failing)
.env
file contains ACC and TEST tokens at the same time — what could possibly go wrong?
Does it work? Yes.
Is it scalable? Not really.
Is it still a POC, or already a proof of conceptually skipping everything difficult? — you decide.
📊 POC #3: The Ideal World on Paper (R’s roadmap)
- Roadmap created in January
- Code planned for “phase 4”
- Components? “GraphQL connector”, “Virto CMS layer”, “PageUtils module”, “Unified test state handler”
- Declared approach: full e2e testing, no Page Object Model (because it’s 2025 now)
There’s no code. No tests.
But there is a linter, a prettier config, a package manager — and a meeting schedule.
Sounds like Waterfall? You’re not alone.
🧱 And Then Comes That Sentence…
“It can’t be that regions just choose their own features — we need to standardize this.”
Except… that’s exactly how it is. And how it will be.
Because regions aren’t our hobby — they’re our clients.
And if Zanzibar wants a pink font and a loyalty banner on Thursdays only, then we build it —
not schedule a global BA alignment meeting.
Otherwise, QA isn’t product support — it’s just another blocker.
🧭 Takeaways
This post isn’t about who’s right.
It’s about how QA without context is like a linter without code — clean, but useless.
When building a POC:
- 🧪 test what’s real (not what you wish was real)
- 🌐 assume differences — don’t ignore them
- 🤝 don’t fight regions — support them
- 🛠️ don’t pick tools before you have a need (do we really need a potato connector?)
And finally:
📝 If your POC has more documentation than tests — stop writing. Start building.
🔗 Repository (Code, Not Product)
You can check out the POC described in this post here:
👉 github.com/karl5252/demo-ecommerce-tests/tree/main
It’s not a framework you can run out of the box.
It’s not integrated with a real application —
but it is full of ideas, structure, and approaches you can bring into your own project.
The code shows:
- how to handle multiple regions without rewriting every test,
- how tagging and environment control work,
- how to write tests that separate logic from implementation.
No roadmap. No theory. Just code.