<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Hoa Nguyen — Blog</title>
    <link>https://hoanguyen-qa.vercel.app/en/blog</link>
    <description>Notes on Playwright, test automation architecture, and quality engineering.</description>
    <language>en</language>
    <atom:link href="https://hoanguyen-qa.vercel.app/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Reducing Flaky Tests: A Practical Checklist</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/reducing-flaky-tests</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/reducing-flaky-tests</guid>
      <pubDate>Thu, 30 Jul 2026 03:28:07 GMT</pubDate>
      <description>What actually causes flaky end-to-end tests, and the concrete changes that fix them instead of hiding them behind retries.</description>
    </item>
    <item>
      <title>Building a Playwright Framework From Scratch</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/building-a-playwright-framework</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/building-a-playwright-framework</guid>
      <pubDate>Thu, 30 Jul 2026 03:23:30 GMT</pubDate>
      <description>Walking through the folder structure, page object design and configuration decisions behind a maintainable Playwright framework.</description>
    </item>
    <item>
      <title>Smart Waiting: Why waitForTimeout Is a Trap</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/smart-waiting</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/smart-waiting</guid>
      <pubDate>Thu, 30 Jul 2026 03:16:29 GMT</pubDate>
      <description>The difference between waiting for time and waiting for state, and why only one of them scales.</description>
    </item>
    <item>
      <title>Playwright Best Practices I Actually Follow</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/playwright-best-practices</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/playwright-best-practices</guid>
      <pubDate>Thu, 30 Jul 2026 03:08:52 GMT</pubDate>
      <description>A working list of Playwright conventions — locators, assertions, config — that keep a suite fast and readable as it grows.</description>
    </item>
    <item>
      <title>Automation Architecture: Structuring for Scale</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/automation-architecture</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/automation-architecture</guid>
      <pubDate>Thu, 30 Jul 2026 03:04:17 GMT</pubDate>
      <description>Folder structure, layering, and boundaries that keep a test suite maintainable past the first hundred tests.</description>
    </item>
    <item>
      <title>Page Object Model Design, Beyond the Basics</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/pom-design</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/pom-design</guid>
      <pubDate>Thu, 30 Jul 2026 03:03:03 GMT</pubDate>
      <description>Moving from &apos;one class per page&apos; to composable, reusable page components.</description>
    </item>
    <item>
      <title>Quality Engineering: Testing Earlier, Not Just Harder</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/quality-engineering-mindset</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/quality-engineering-mindset</guid>
      <pubDate>Thu, 30 Jul 2026 03:01:53 GMT</pubDate>
      <description>What changes when a team treats quality as something designed in from the start, instead of a gate at the end.</description>
    </item>
    <item>
      <title>A Locator Strategy That Survives Redesigns</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/locator-strategy</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/locator-strategy</guid>
      <pubDate>Wed, 29 Jul 2026 22:52:08 GMT</pubDate>
      <description>How choosing role- and text-based locators over CSS/XPath chains keeps tests alive through UI changes.</description>
    </item>
    <item>
      <title>Wiring Test Automation Into CI/CD</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/cicd-for-test-automation</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/cicd-for-test-automation</guid>
      <pubDate>Wed, 29 Jul 2026 15:20:33 GMT</pubDate>
      <description>Running Playwright suites in Jenkins, publishing HTML reports and traces, and treating pipeline failures as first-class bugs.</description>
    </item>
    <item>
      <title>API Testing Fundamentals for E2E Testers</title>
      <link>https://hoanguyen-qa.vercel.app/en/blog/api-testing-fundamentals</link>
      <guid isPermaLink="true">https://hoanguyen-qa.vercel.app/en/blog/api-testing-fundamentals</guid>
      <pubDate>Wed, 29 Jul 2026 15:08:18 GMT</pubDate>
      <description>Why API-level tests are the fastest layer of your pyramid, and how to start writing them alongside UI tests.</description>
    </item>
  </channel>
</rss>