Exhaustive testing remains impossible even with LLMs, as evidenced by LLMs finding bugs in mature, stable software. The core argument is that risk-based testing is still the right approach because verification (does it work as expected) and validation (is it the right solution) require context that lives outside the code, which LLMs cannot yet supply on their own. The author warns that delegating too many testing decisions to LLMs erodes the learning process that fuels good risk judgment.
Questions this post answers
Can LLMs achieve exhaustive software testing that catches all bugs?
No, exhaustive testing remains impossible even with LLM assistance. LLMs are finding bugs in mature, stable software, which actually confirms that exhaustive testing was never achievable rather than solving the problem. Testing still requires selecting a finite set of observations from a much larger space of possible behaviors, inputs, and outputs, so a risk-based approach remains necessary. daily.dev surfaces ongoing discussion on how teams balance AI-assisted testing with risk-based strategies.
Why can't LLMs fully verify and validate whether generated code is correct and solves the right problem?
LLMs cannot yet independently verify that software matches requirements or validate that it solves the actual customer problem, because both tasks require context that lives outside the code itself, such as business goals, market needs, and product risk. Relying too heavily on LLMs for these judgments also erodes the human learning process that normally informs good risk decisions. Developers weighing how much testing judgment to hand off to AI can follow this debate on daily.dev.