The advent of agentic software development has shattered the traditional pace of coding, demanding a parallel evolution in testing methodologies. Static test suites, manually authored and meticulously maintained, are becoming a bottleneck in this high-velocity environment. This deep dive explores Just-in-Time Testing (JiTTesting), particularly 'Catching JiTTests,' as a paradigm shift designed for the AI-powered development lifecycle. For a detailed look at the foundational concepts, you can refer to the source material on Meta's Engineering blog.

AI and LLM generating code and tests Coding Session Visual

How Catching JiTTests Operate: A Process Breakdown

The core innovation lies in using LLMs to infer the intent behind a code change and simulate potential faults. Instead of verifying against pre-defined expectations, it asks: "What could go wrong with this specific change?"

The key steps are:

  1. Intent Inference: Analyze the new code to understand the developer's probable goal.
  2. Mutant Generation: Create mutated versions of the code with deliberately inserted faults to simulate failure scenarios.
  3. Test Generation & Execution: The LLM instantly generates and runs bespoke tests designed to catch those specific mutants.
  4. Signal Assessment: An ensemble of rule-based and LLM-based assessors filters the results, focusing signal on true positive failures and minimizing false positive noise.
  5. Actionable Reporting: Engineers receive clear, relevant feedback about unexpected behavioral changes, without wading through test code.

Server infrastructure with automated deployment Software Concept Art

Traditional vs. JIT Testing: A Feature Comparison

AspectTraditional Testing (Static Suite)JIT Testing (Catching JiTTest)
CreationManually authored post-developmentAuto-generated by LLM on each PR
MaintenanceRequires ongoing updates and reviewZero maintenance (not stored in codebase)
Primary FocusEnsuring general code qualityDetecting regressions from a specific change
False PositivesCan be high, costly to manageMinimized via intent inference & ensemble assessment
Human EffortSignificant time spent writing, reviewing, maintaining testsHuman review only required when a bug is caught
AdaptabilityCan break with intended code changes (brittle)Automatically adapts as code evolves

This comparison highlights the fundamental shift from measuring code quality to assessing the risk of a change.

Data analysis and bug detection dashboard

Outlook and Practical Considerations for Adoption

JIT Testing promises significant value in environments with microservices, rapid CI/CD pipelines, and where AI agents contribute substantial code. The role of QA is poised to evolve from maintaining test suites to curating LLM test generators and designing assessment criteria.

Challenges remain, including validating LLM reasoning reliability, ensuring security for private codebases, and integrating with existing workflows. However, the core premise—shifting the burden of test creation to machines and freeing engineers to focus on actual bugs—offers a compelling blueprint for the future of testing infrastructure. In the agentic era, keeping pace with development velocity may necessitate making testing itself dynamic and intelligent.