Portfolio · Dong Nai, Vietnam
Building Reliable Software Through Quality Engineering
Automation Tester passionate about creating scalable Playwright frameworks, improving software quality, and helping teams deliver reliable products faster.
About
Quality isn't a phase. It's a mindset.
A short story about how a junior tester ended up obsessing over automation frameworks — and why that obsession is the point.
Why I enjoy software testing
I like the moment right before a bug is found — the small doubt that says 'what if this breaks here?'. Testing rewards that kind of curiosity: it's investigative, detail-oriented, and the impact is immediate. A well-placed test case can save a user from a broken checkout flow before it ever ships.
How I got into automation
Manual testing taught me what to look for. Automation taught me how to look for it at scale. The first time I watched a script click through a login flow, validate a response, and report a clear pass/fail in seconds — work that used to take me minutes by hand — I was hooked on building tools that make quality repeatable.
Why Playwright
Playwright's auto-waiting, multi-browser support, and built-in tracing removed most of the accidental complexity I used to fight with in other tools. It let me focus on what actually matters: designing a framework that's readable, debuggable, and doesn't rot as the app changes underneath it.
My learning mindset
I'm early in this career, and I treat that as an asset, not a gap — I don't have bad habits to unlearn. I read source docs before tutorials, rebuild examples from scratch instead of copy-pasting them, and I'd rather deeply understand one concept than shallowly collect ten.
“Quality is built into software, not tested only at the end.”
That philosophy shapes every framework I design: tests should catch regressions early, run fast enough to be part of the workflow, and be maintainable enough that the team actually trusts what they report.
Skills
A toolkit built for reliability, not just coverage
Manual rigor, automation engineering, and the CI/CD glue that makes both actually useful to a team.
Manual Testing
Structured, exploratory and risk-based testing before a line of automation is written.
Automation Testing
End-to-end and API automation built for the long run, not just for demos.
Languages & Runtime
Comfortable writing test logic that reads like production code.
Web Fundamentals
Testing is easier when you understand what's under the page.
API Testing
Validating contracts, not just UIs.
Git, CI/CD & Reporting
Automation only creates value once it runs reliably in a pipeline.
Process & Collaboration
Quality is a team sport — process matters as much as tooling.
Specialized Knowledge
Playwright, beyond the getting-started guide
The details that separate a demo script from a framework a team can rely on.
Page Object Model & Reusable Components
Structuring page objects and shared UI components so one selector change updates every test that depends on it.
Locator Strategy & Dynamic Locators
Preferring role- and text-based locators over brittle CSS/XPath, and building dynamic locators for repeated or generated UI elements.
Auto-Waiting & Explicit Waits
Trusting Playwright's built-in actionability checks first, and adding explicit waits only for genuine async conditions — never blind timeouts.
Retry Strategy & Flaky Test Reduction
Using test-level and assertion-level retries deliberately, then treating every retry as a signal to fix the root cause instead of masking it.
Frame & iframe Handling
Navigating nested frames and third-party iframes reliably, including cases where content loads asynchronously inside them.
Canvas Testing
Testing canvas-rendered UI (games, charts) through state assertions, event simulation and visual comparison instead of DOM queries.
Mobile Viewport & Responsive Emulation
Emulating devices and viewports to validate layout and interaction across mobile, tablet and desktop breakpoints.
Screenshot Strategy & Visual Checks
Capturing targeted screenshots on failure and at key steps, with masking for dynamic content to keep visual diffs meaningful.
Trace Viewer & HTML Report
Using Trace Viewer and the built-in HTML report as the first debugging step for any failure — before touching the code.
Parallel Execution & Worker Configuration
Tuning workers and sharding so full suites run fast in CI without introducing cross-test interference.
Fixtures & Hooks
Composing custom fixtures for setup/teardown and shared context, keeping test bodies focused on behaviour, not plumbing.
Data Driven Testing
Separating test data from test logic so new scenarios are added by adding data, not by duplicating test code.
CI/CD Integration
Running suites in Jenkins pipelines with artifacts (HTML report, traces, screenshots) published on every run for fast triage.
Learning Journey
No fake job history. Just a real, visible path.
Instead of inventing work experience, here's the honest trajectory — from testing fundamentals to a full automation framework and CI/CD.
Learning Software Testing Foundations
CompletedStarted with testing theory and the ISTQB Foundation syllabus — test levels, test types, defect lifecycle, and how to write a good test case before automating anything.
ISTQB FoundationTest DesignSDLC/STLCManual Testing
CompletedPracticed exploratory, smoke, sanity and regression testing on real web applications, and learned to write bug reports that developers can act on immediately.
Exploratory TestingRegressionBug ReportingAutomation Testing Fundamentals
CompletedMoved from manual scripts to code — learned JavaScript/TypeScript, the DOM, CSS selectors and XPath, and how a browser actually executes a test step.
TypeScriptDOMXPathCSS SelectorsPlaywright Framework Design
In progressBuilt a Playwright automation framework from scratch: Page Object Model, reusable components, data-driven tests, fixtures, and a retry strategy aimed at reducing flaky tests instead of hiding them.
PlaywrightPOMFixturesData Driven TestingCI/CD for Test Automation
In progressWiring automated suites into CI/CD pipelines (Jenkins) with HTML reports and traces published per run, so failures are triaged in minutes, not hours.
JenkinsCI/CDHTML ReportTrace ViewerQuality Engineering Mindset
Next upShifting focus from 'testing at the end' to 'quality built in' — thinking about testability, risk, and feedback loops earlier in the development process.
Quality EngineeringRisk-Based TestingContinuous Improvement
Featured Projects
Projects built to demonstrate engineering, not just checkbox coverage
Real personal projects — a full framework, a hard-mode UI target, and API-level coverage.
Case Studies
Problem → Approach → Result
Two deeper looks at how I think through automation problems, not just what I built.
GitHub
Live from GitHub
Pulled directly from the public GitHub API — repositories, primary languages, and recent activity.
Primary languages across public repositories
Professional summary
A short summary here — the full history, endorsements and recommendations live on LinkedIn.
Hoa Nguyen is an FE Developer based in Dong Nai, Vietnam, focused on building maintainable Playwright automation and applying strong manual-testing fundamentals to catch issues before they reach production. Currently deepening expertise in framework architecture, API testing and CI/CD integration. Fluent in Vietnamese & English.
Open to
Junior / Fresher Automation Test Engineer roles
HCMC University of Technology and Education
University Student
Sep 2019 – Sep 2024 · 5 yrs 1 mo
TODO — e.g. ISTQB Foundation Level certificate.
Quality Assurance Engineer
CurrentMercury Studio · Full-time
Jun 2026 – Present · 2 mosHo Chi Minh City, Vietnam · On-sitePlaywright Automation TestManual TestOn Job Training Software Test Engineer
FPT Software · Full-time
Sep 2025 – Jan 2026 · 5 mosHo Chi Minh City, Vietnam · On-site- — - Assisted the QA team in testing web interface features, focusing on UI and functional testing.
- — Designed, wrote, and executed manual test cases for core system modules.
- — Identified, reported, and tracked bugs, working closely with developers to verify fixes.
- — Performed manual API testing using Postman (GET, POST, PUT, DELETE).
- — Worked in an Agile/Scrum environment, actively participating in daily stand-ups, sprint planning, and sprint reviews.
JiraManual Testing+3 moreIntern
Smartlog · Full-time
Jul 2022 – Nov 2022 · 5 mosHo Chi Minh City, Vietnam- — STM-SME (Transport Management System)
- — - Assisted the QA team in testing web interface features, focusing on UI and functional testing.
- — - Designed, wrote, and executed manual test cases for core system modules.
- — - Identified, reported, and tracked bugs, working closely with developers to verify fixes.
- — - Performed manual API testing using Postman (GET, POST, PUT, DELETE).
- — - Worked in an Agile/Scrum environment, actively participating in daily stand-ups, sprint planning, and sprint reviews.
Angular CLINgRx+3 more
Writing
Notes on automation & quality
Planned write-ups on Playwright, architecture and testing strategy — full posts published progressively.
Contact
Open to Junior QA / Automation Test opportunities
The fastest way to reach me is email — happy to talk about testing, automation, or a role.
Send a message

