Securing the Future: Testing Like a Developer with Filip Hric
Categories: Podcasts , BrowserStack Talks
Testing in software development should prioritize high-risk areas over coverage, with a shift toward component testing to address flaky tests and improve system understanding. AI enhances coding efficiency but introduces challenges like testing probabilistic outputs and security risks, requiring deeper system knowledge and a shift-left approach.
BrowserStack Talks
BrowserStack interview based podcast. Released as audio and video
- https://www.browserstack.com/community/podcast
- https://youtube.com/playlist?list=PL1vH6dHT3H7o6pnechxr17kUX---Bjj5K&feature=shared
Episode Details
- Show Notes: N/A
- Published: 2026-07-15T13:20:59Z
- Duration: 00:51:23
- Author: BrowserStack
Overview
The podcast discusses the evolving role of testing in software development, emphasizing the importance of focusing on high-risk areas rather than high test coverage. It highlights the challenges of flaky tests, often caused by a lack of understanding of system behavior, asynchronous operations, or incorrect element targeting in automation. The conversation advocates for moving away from excessive end-to-end testing toward component testing, which allows better isolation and system understanding. It also stresses that no testing framework alone can solve flakiness - closing knowledge gaps about the application is more effective than switching tools.
AI’s growing impact on testing and quality engineering is a central theme, with discussions on how AI tools enhance coding efficiency but introduce new challenges. These include managing the velocity of AI-generated code, testing probabilistic outputs in AI-enabled applications, and ensuring quality through smarter verification rather than increased headcount. Security concerns like prompt injection and the limitations of current AI security solutions are examined, along with the idea of using AI as a learning aid and collaborative partner in testing. The importance of deep system knowledge, domain expertise, and a shift-left mentality are consistently emphasized to improve both test effectiveness and software quality.
What If
-
What if you focused only on high-impact test cases in your next project?
- Move: Identify the top 3 riskiest user flows in your application (e.g. login, checkout, data export), then author one reliable, non-flaky test per flow using component or API-level testing - skip end-to-end unless strictly necessary.
- Why Now?: AI-powered development is increasing code velocity (3 - 5x), making extensive test suites unmanageable; prioritizing critical paths ensures maintainability and real quality signals.
- Expected Upside: Faster feedback loops, reduced flakiness, and higher team confidence in test results - shifting focus from coverage % to failure relevance.
-
What if you used AI not to write tests, but to diagnose why your existing tests fail?
- Move: When a test fails unexpectedly, feed the failure log, test code, and relevant app code into an AI tool (e.g. Cursor or Copilot), prompting: “Explain like I’m five what could cause this failure based on async behavior or DOM selection.” Then validate the top suggestion manually.
- Why Now?: Flaky tests often stem from misunderstood system interactions (e.g., wrong element selection, async gaps); AI can rapidly surface likely technical causes faster than manual debugging.
- Expected Upside: Faster root cause identification, improved test precision (e.g., targeting actual buttons vs. child spans), and closure of knowledge gaps without rewrites.
-
What if you treated yourself as a technical quality consultant - not just a test writer?
- Move: For your next PR review, don’t just check functionality - evaluate architecture risks (e.g., missing error handling in AI-generated code, lack of default cases) and document one “omission risk” with a suggested fix. Use code coverage tools to find fog-of-war zones, then investigate them.
- Why Now?: AI generates code fast but introduces blind spots (e.g., security, edge logic); solo developers must shift from verifying behavior to ensuring structural soundness.
- Expected Upside: Catch high-severity bugs early (especially omissions), increase system resilience, and position yourself as a quality leader even with minimal team support.
Takeaway
- Prioritize writing tests for high-risk areas instead of chasing broad coverage; focus on strategic, impactful test cases that protect critical functionality.
- Learn and apply API testing to build a deeper understanding of system architecture, enabling more effective testing and better bug identification.
- Treat AI tools like ChatGPT or Copilot as interactive learning aids - use them to explain concepts, generate starting points for tests, and explore system behavior, but always validate and extend the output independently.
- Fix the root causes of flaky tests by investigating application behavior (e.g., async operations, DOM element selection) rather than relying on framework switches or retries.
- Shift left by testing components in isolation using real-browser tools (e.g., Cypress, Playwright), improving stability, debuggability, and development speed.
For a PDF of longer Software Testing Podcast Episode Summaries with Briefing Notes and more detailed summary notes, visit EvilTester Patreon Podcast Summaries.