Notes from the testing trenches
Welcome to the Bug Hunters Club
Join our community of QA enthusiasts sharing bug stories, testing tips, tool experiences, and practical tutorials. Whether you're a seasoned SDET or new to the world of QA, there's a place for everyone here.
Recent notes
A practical guide to testing lazy-loaded content, placeholder swaps, and viewport-triggered renders with browser automation, including what to assert before scroll, after scroll, and after network idle.
A practical guide to debugging browser tests that fail only after CSS container queries, viewport changes, sidebar collapses, or delayed reflow.
A practical debugging guide for browser automation flakiness caused by service worker updates, cache refreshes, and app version mismatch during tests.
A practical guide to test timezone and locale bugs in browser automation with reproducible setup, stable assertions, and failure-mode debugging for dates, currencies, and numbers.
A practical guide to debugging browser test failures caused by Content Security Policy, including console signals, blocked script and frame patterns, inline handler issues, and a workflow to separate app bugs from policy misconfigurations.
A practical QA guide to validating accessibility fixes with manual checks, automated axe scans, keyboard navigation, contrast checks, and screen reader smoke tests.
A practical guide to test multi-window workflows, handle pop-up flows, and stabilize browser automation when session state moves across tabs and windows.
An investigative look at why Playwright suites generated by Claude can create hidden ownership cost, review burden, and test architecture drift, plus when lower-maintenance alternatives make sense.
A practical guide to test LLM structured outputs with schema checks, tolerant assertions, golden files, and failure-mode analysis without assuming the model is deterministic.
A practical guide to testing React Server Actions and optimistic UI by separating true defects from expected intermediate states, with concrete assertions for success, rollback, and partial failure paths.
A practical tutorial for browser tests for upload and download flows, covering file validation, blob URLs, download assertions, CI artifacts, and the hidden failure modes that cause flaky tests.
Learn how to debug browser tests that pass locally but fail in CI after asset hash changes, using logs, traces, cache checks, and environment comparisons.
A practical tutorial for test multi-step checkout flows, with focus on discount code validation, shipping rule testing, back-button behavior, and recovery path testing across fragile checkout states.
A practical debugging guide for frontend tests that fail after feature flag changes, with steps to separate flag logic, selectors, data, runtime config drift, and environment issues.
A practical guide to testing cross-origin iframe messaging with postMessage, origin checks, sandbox behavior, and browser automation examples in Playwright and Selenium.
A practical tutorial for QA engineers and SDETs on how to test skeleton screens, loading shimmer states, and progressive rendering without brittle waits or false positives.
A practical tutorial on how to test responsive tables, covering horizontal scroll QA, column collapse behavior, sticky header reflows, breakpoints, and repeatable browser checks.
A practical debugging playbook for QA teams when browser tests fail only after analytics tags, chat widgets, consent tools, or embedded scripts load. Learn what to log, how to isolate the fault, and how to separate app bugs from third-party breakage.
A practical review of Endtest for file download testing, including blob URL validation, PDF exports, report downloads, file integrity checks, and tradeoffs versus code-heavy browser frameworks.
A practical analysis of the Claude generated Playwright framework maintenance cost, including review burden, architecture drift, token usage, flaky tests, CI overhead, and long-term ownership tradeoffs.
A practical guide to testing React hydration mismatches in SSR and streaming UI, separating real defects from harmless re-renders, timing noise, and client-server render drift.
A practical tutorial on how to test infinite scroll in feeds, search results, and dashboards, covering duplicate API loads, scroll position bugs, lazy loading QA, and item loss.
Learn how to test browser autofill in QA, saved passwords testing, and pre-populated form state without flaky browser-dependent failures in Playwright, Selenium, and CI.
Learn why canary deploy QA signals, release confidence, rollout validation, and production checks still need human observation, not just green metrics and traffic percentages.
Learn how to design a CI gate for preview deployments that catches meaningful frontend regressions, improves merge confidence, and avoids turning release gating into a bottleneck.
Learn how to build a practical QA signal for AI-assisted pull requests using CI signals, review heuristics, risk scoring, and targeted tests to improve release confidence.
Learn how to build a CI check for AI-assisted frontend changes with static checks, visual tests, smoke tests, and merge-risk controls that reduce UI regressions without adding manual QA overhead.
Learn how to test browser back button behavior for state restoration, duplicate form submission, cached pages, and navigation edge cases with practical QA and automation examples.
A practical tutorial for testing drag-and-drop reordering in real apps, covering pointer events testing, ghost element bugs, auto-scroll, locator stability, and E2E flakiness.
Learn why visual regression misses bugs in component libraries with portals, hover cards, and dynamic slots, and what QA should test instead.
A practical workflow for test non-deterministic AI outputs by validating structure, behavior, guardrails, and tolerance thresholds instead of exact text matches.
Learn how to diagnose flaky browser tests caused by toasts, animations, and auto-dismissing UI, with practical debugging steps, locator strategies, and wait patterns.
Learn how to debug browser tests that fail after CDN invalidation, cache-control header changes, or asset hash updates, with practical checks for stale static assets and browser automation failures.
A practical guide to test WebSockets in browser automation, verify live update UI testing, and reduce websocket UI regression in dashboards and collaborative apps.
Build a practical QA smoke checklist for preview deployments that catches bad builds early without turning every release candidate into a full regression cycle.
Learn how to diagnose browser test failures caused by stale cache, local storage, and IndexedDB state, with practical debugging steps and cleanup strategies.
Learn how to test AI features that call external APIs, tools, or agents by validating tool invocation, state handling, retries, and recovery, not just prompt output.
A practical checklist for environment drift causes behind browser tests that pass locally but fail in CI, including fonts, timezone, viewport, caching, and browser versions.
A practical guide to testing multi-window workflows, cross-tab testing, pop-up flows, and browser automation without flaky session-state failures.
Learn how to test dark mode and theme switching, verify saved preferences, and catch visual regressions with practical QA strategies and automation examples.
A practical analysis of why passing CI can still produce broken releases, and which release quality signals QA, DevOps, and engineering leaders should watch before production users feel the pain.
A practical guide to test browser notification permissions across Chrome, Firefox, Safari, and Edge, covering allow, deny, blocked states, automation patterns, and edge cases.
A practical guide to test cookie consent banners across UX, analytics tracking verification, consent mode testing, and accessibility, with browser checks, automation ideas, and edge cases.
A practical workflow for testing AI coding assistant changes, catching AI-generated UI changes, preventing frontend regression testing gaps, and spotting markup drift before merge.
Learn how to reduce flaky test triage time, lower CI failure triage overhead, and keep releases moving with practical maintenance, debugging, and governance tactics.
A debugging guide to browser tests failing in preview deployments, covering ephemeral deployment testing, environment drift, flaky selectors, auth issues, and practical fixes.
A practical guide to test print styles in web apps, catch print CSS testing issues, and prevent browser print preview bugs in invoices, reports, and admin pages.
A practical guide to test keyboard navigation in web apps, with focus order testing, keyboard accessibility pitfalls, modal traps, menu behavior, and accessibility regression checks.
Learn how to reduce CI noise from flaky tests, improve flaky test triage, and keep pipeline signal strong enough to protect release confidence.
Debug why browser tests fail on pull requests in GitHub Actions but pass on main, including cache differences, permissions, env vars, parallelism, and CI drift.
A practical workflow for QA engineers and frontend teams to test AI-generated UI changes, catch regressions early, and keep frontend regression testing stable.
Learn what exploratory testing is, how it differs from scripted testing, how test charters and session-based testing work, and how teams document findings without making QA rigid.
Learn practical Playwright test data cleanup patterns for seeded test data, isolation, and teardown so CI runs stay repeatable and browser tests stop failing from leftover state.
A practical opinion piece on why frontend accessibility regressions slip through code review, and the testing habits that catch them earlier with semantic HTML, keyboard navigation, and visual review.
Learn how to design quality gates in CI/CD with smoke tests, targeted regression, and lightweight approvals so releases stay fast without losing confidence.
A practical guide to test feature flags in production safely, with workflows for audience targeting QA, rollout testing, kill switches, and timing pitfalls.
A practical guide to debug hydration mismatch bugs, separate real frontend defects from test noise, and use logs, screenshots, and rendering clues to find the root cause.
A practical Playwright flaky test debugging checklist for selectors, waits, locators, network mocking, CI variance, and test data isolation before you blame the app.
A practical feature flag testing workflow for validating enabled, disabled, and partial-rollout states with QA, SDET, and release team-friendly tactics.
A practical analysis of test automation maintainability sprint changes, stable locators, test refactoring, and how to keep your regression suite healthy without rewriting everything.
Learn how to decide what to automate, what to keep manual, and how to balance test automation coverage, regression risk, and maintenance cost.
Learn how to avoid brittle automated tests with better locators, waits, test data, isolation, and maintenance habits that reduce flaky tests and CI noise.
A practical guide for QA managers, SDETs, and CTOs on reducing test maintenance costs, lowering QA automation cost, and building less flaky test suites.