<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Afoxlabs — Writing on quality engineering</title><description>Afoxlabs runs the QA and Quality Engineering function for B2B SaaS teams — manual QA, Playwright and API automation, CI/CD quality gates, and AI-assisted testing — as an ongoing engagement.</description><link>https://afoxlabs.com/</link><language>en</language><item><title>Why your Playwright suite is flaky, and the three causes behind almost all of it</title><link>https://afoxlabs.com/blog/why-your-playwright-suite-is-flaky/</link><guid isPermaLink="true">https://afoxlabs.com/blog/why-your-playwright-suite-is-flaky/</guid><description>Flakiness is not random. In practice it comes from three specific causes — shared state, implicit timing assumptions and unstable locators — and each has a concrete fix.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Test the API first: why UI-first automation is the most expensive mistake in QA</title><link>https://afoxlabs.com/blog/test-the-api-first/</link><guid isPermaLink="true">https://afoxlabs.com/blog/test-the-api-first/</guid><description>Most teams automate the UI first because it looks like testing. It produces the slowest, most fragile and most expensive coverage available. Here is the order that actually works.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>How to test an LLM feature when the output changes every time</title><link>https://afoxlabs.com/blog/testing-llm-features/</link><guid isPermaLink="true">https://afoxlabs.com/blog/testing-llm-features/</guid><description>Conventional automation assumes the same input gives the same output. LLM features break that assumption. Here is the practical shift from assertions to evaluation.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>