Every Test Passed. The AI Still Got It Wrong.
Picture a release that looks clean on every dashboard. Unit tests pass. API and UI suites pass, the security scan comes back green, and the deployment finishes without a single alert. Then the support tickets start arriving. The chatbot quoted the wrong refund policy to a customer, cited a document that says something else, and answered the same question two different ways before lunch.
This is not an unusual story. In McKinsey’s latest State of AI survey, 51% of respondents from organizations using AI said they had experienced at least one negative consequence, and nearly one-third reported consequences stemming from AI inaccuracy. Inaccuracy topped the list of risks organizations actually ran into.
At SHIFT ASIA, our position is straightforward. Software testing verifies that the code surrounding an AI system works as specified. AI evaluation measures whether the AI’s outputs are accurate, grounded, safe, and useful for their intended purpose. The two answer different questions; neither can do the other’s job, so the real question for an enterprise is not which one to choose. It is about connecting conventional testing, AI evaluation, security testing, and production monitoring into a single quality system that keeps running after release.
Why is “AI evaluation vs software testing” the wrong question?
Most articles on this topic stop at definitions. That misses the real problem, which shows up in production. A team can have every conventional check passing and still ship an AI application that produces:
- Incorrect answers: responses that sound confident but are factually wrong.
- Hallucinations: content the model invented, including citations that do not exist.
- Irrelevant responses: technically fluent text that does not address what the user asked.
- Inconsistent outputs: different answers to the same question with the same context.
- Unsafe recommendations: advice that breaks policy, regulation, or common sense.
- Broken agent workflows: an agent that picks the wrong tool, loops, or takes an action nobody approved.
None of these failures trip a unit test, because the code is doing exactly what it was written to do. Traditional testing tells you whether the surrounding software works. On its own, it cannot tell you whether an AI system’s outputs are useful, grounded, safe, or appropriate. That gap is why AI evaluation exists, and why treating the two as rivals leads teams in the wrong direction.
What is the difference between AI evaluation and software testing?
Software testing checks whether a system does what the rules say it should. AI evaluation checks whether what the AI produces is good enough for the job it was built to do. That sounds like a small distinction until you try to write the expected result. A function that calculates tax has a single correct answer, so the test either passes or fails. A model summarizing a contract can produce several acceptable answers, which is why AI quality is scored against criteria rather than matched to a single value.
| Software testing | AI evaluation | |
| Core question | Does the system behave according to defined rules? | Is the AI behavior acceptable for its intended purpose? |
| System nature | Usually deterministic | Often probabilistic |
| Output | Can often be defined in advance | Several outputs may be acceptable |
| Result | Pass or fail is usually clear | Quality sits on a spectrum |
| Regression target | Known behavior | Agreed quality criteria |
| Test assets | Test cases | Evaluation datasets and scenarios |
| Check method | Assertions | Metrics, model-based judges, human review |
| Timing | Mostly before release | Before release and continuously after it |
The table makes the two look like opposites, but in practice they cover different ground on the same product. A RAG assistant still needs its API contract tested, its authentication checked, and its UI validated. It also needs someone to measure whether the answers are right. Teams that already run LLM testing as part of a broader test plan tend to find this split natural because the conventional and evaluation suites run side by side in the same pipeline.
Where does traditional software testing stop being enough?
The difference is easiest to see in concrete cases. In each example below, the conventional test result is correct. It just answers the wrong question.
1. A customer service chatbot that returns HTTP 200 with the wrong answer
The API responds in 300 milliseconds with a well-formed JSON payload, so the integration test passes. The response itself tells a customer they can return an item after 60 days when the actual policy is 30. No assertion on status codes or schema will ever catch that. You only find it by comparing the answer against the source policy, which is an evaluation task, not a functional one.
2. A RAG application with working retrieval and unsupported answers
The vector search returns documents, the reranker runs, and every service check is green. But the answer the model writes isn’t actually supported by what was retrieved, or the retrieved chunks weren’t relevant in the first place. The OWASP Top 10 for LLM Applications 2025 points to the “RAG Triad”, context relevance, groundedness, and question-answer relevance, as a way to assess responses. Those are evaluation metrics. A retrieval service health check measures none of them.
3. An AI coding agent that writes code that compiles and opens a security hole
The agent produces a pull request. It compiles, the linter is happy, and the existing unit tests still pass. Buried in the change is a database query built from unsanitized input, or a removed permission check that no test covered. Compilation proves syntax, not safety, which is why AI-generated code needs security review and targeted testing in addition to the usual build checks.
4. A recommendation engine that runs correctly and still gets the business context wrong
Every function in the recommendation pipeline behaves as designed. The system suggests a high-risk investment product to a customer whose profile says they want capital protection, or pushes a discontinued SKU because the catalog feed lagged. Nothing crashed, and nothing threw an exception. Whether a recommendation is appropriate is a judgment about business context, and it takes domain experts and evaluation criteria to make that call at scale.
The pattern is the same across all four cases. The software did what it was told, and the test oracle confirmed it. What was missing was a way to judge the quality of the AI’s output, and that requires a different kind of oracle: reference answers, grading rubrics, model-based judges, and people who know the domain.
What does an enterprise AI quality stack look like?
We find it more useful to treat enterprise AI quality as a stack than as a comparison. Each layer asks its own question: does the code work, are the outputs good, can the AI cause harm, can it run at scale, and is it still working for real users? Most QA teams already handle the first layer well. The other four need evaluation, security testing, performance engineering, and observability, and they are where most AI programs have gaps.
| Layer | Core question | Typical checks |
| Software correctness | Does the application code work? | Unit, integration, API, UI, regression testing |
| AI behavior | Are the outputs good enough? | Accuracy, relevance, faithfulness, hallucination, consistency, instruction following |
| AI-specific risk | Can the AI cause harm or be abused? | Safety, security, bias, prompt injection, harmful output, data leakage |
| System performance | Can it run at scale and at a sane cost? | Latency, throughput, token use, infrastructure cost, scalability |
| Production behavior | Is it still working for real users? | User feedback, traces, model and prompt changes, drift, new failure patterns |
1. Software correctness
This is the layer most QA teams already know well. Unit, integration, API, UI, and regression tests confirm that the application around the model works: authentication, data pipelines, business rules, and screens. It stays essential because a large share of AI application failures are ordinary software bugs. Skipping this layer because “the AI part is what matters” is one of the fastest ways to ship a fragile product.
2. AI behavior
Here the focus shifts from the code to the content it produces. Teams measure accuracy, relevance, faithfulness to source material, hallucination rate, consistency across repeated runs, and how well the model follows instructions. The model does not have to be bad for this to matter. Stanford’s 2026 AI Index report states that, on a new accuracy benchmark, hallucination rates across 26 top models ranged from 22% to 94%, which is widespread for systems many teams treat as interchangeable.
3. AI-specific risk
This layer covers safety, bias, harmful output, prompt injection, and sensitive data leaking through responses. It overlaps with security testing but needs its own techniques, such as adversarial prompts and red teaming. The same Stanford report found that when frontier models were tested against jailbreak attempts, safety performance declined across all tested models. A model that looks safe under normal use can behave very differently under pressure, so you have to test this layer on purpose.
4. System performance
AI workloads add new performance variables to the usual latency and throughput checks. Token consumption drives cost directly, long contexts slow responses, and agent loops can multiply calls in ways a load test designed for a REST API will not predict. Teams need budgets for response time and cost per interaction, and they need to test against them. A feature that is accurate but costs three times the forecast is still a failed release.
5. Production behavior
The last layer is where many AI programs are weakest. Real users ask questions nobody put in the test set, model providers ship updates, prompts get edited, and data shifts over time. Gartner predicts that by 2028, LLM observability investments will reach 50% of GenAI deployments, up from 15% today. That shift reflects a simple fact: an evaluation run before launch describes the system on launch day, and not much longer.
Read the five layers together and one thing stands out. Only the first maps neatly onto a traditional QA plan. The other four each need their own methods, owners, and tooling, which is why “we have good test coverage” is rarely a complete answer when someone asks whether an AI product is ready.
What exactly should you evaluate in an AI application?
Start from how your AI can fail, not from a list of metrics. A generic list of 40 metrics produces dashboards. A list built from “how could this assistant hurt us?” produces decisions. In our experience, most AI failures fall into five groups, and each one calls for different checks.
- Output quality: Is the answer correct, relevant to the question, complete enough to act on, and coherent? This is the baseline for any generative feature.
- Grounding: Is the answer faithful to the retrieved sources, are citations accurate, was the retrieved context relevant, and did the model invent anything? For RAG systems, this is usually the highest-value category.
- Behavior: Does the model follow instructions and formatting rules, give consistent answers across runs, refuse when it should (and only when it should), and hold context across a multi-turn conversation?
- Safety and security: Can users provoke harmful content, inject instructions, extract sensitive data, or jailbreak the system prompt? The OWASP 2025 list ranks prompt injection as LLM01 and notes that it’s unclear whether any foolproof prevention method exists, which makes ongoing testing more important, not less.
- Agent behavior: Does the agent choose the right tool, call it with valid parameters, plan sensible steps, finish the task, and avoid actions outside its scope? OWASP tracks the last of these as LLM06, Excessive Agency.
How you score each category depends on the data. Some checks work with exact references or rules. Others need a model-based judge with a clear rubric, and you need to check the judge against human ratings before you trust it. High-stakes domains such as finance, healthcare, and legal still need expert human review on a sample of outputs.
The practical takeaway is that grounding and agent behavior are where conventional QA experience helps the least and where production incidents tend to be most expensive. If a team only has budget for two new evaluation areas this quarter, those two are usually the right place to start.
How does the AI evaluation loop work?
Running an evaluation once before launch gives you a snapshot, and snapshots age quickly. In practice, AI evaluation works as a loop: agree on what good looks like, test against it, fix what fails, release, watch production, and turn every real failure into a new test case. Here is how that loop runs step by step.
- Define expected behavior with product owners and domain experts, including what a “good enough” answer looks like.
- Build an evaluation dataset of representative, edge, and adversarial scenarios.
- Run the AI evaluation across the metrics that match your failure modes.
- Analyze failures and group them by root cause.
- Fix the cause, whether that is the prompt, the model, the retrieval setup, or the application code.
- Run regression evaluation to confirm the fix and check that nothing else got worse.
- Release once you meet the agreed quality gates.
- Monitor production through traces, user feedback, and quality metrics.
- Capture real failures as they appear.
- Feed those failures back into the evaluation dataset, and start again.
Step 6 deserves more attention than it usually gets. The same thing happens at application level: a prompt tweak that fixes tone can quietly hurt accuracy. Regression evaluation against the full dataset is the only reliable way to catch that.
Gartner’s guidance points the same way. It advises teams to integrate LLM evaluation metrics, including factual-accuracy benchmarks and safety checks, into CI/CD pipelines so validation happens continuously before deployment.
This is how we think about it at SHIFT ASIA. AI quality is not a testing phase. It is a continuous engineering loop.
What changes when AI enters the software development lifecycle?
The traditional lifecycle has one main quality checkpoint:
Traditional: Requirements → Development → Testing → Deployment → Monitoring
An AI-native lifecycle has several, and they keep running after launch:
AI-native: Requirements → AI-assisted Development → Software Testing → AI Evaluation → Security Validation → Deployment → AI Observability → Continuous Evaluation
Two new sources of risk drive this change. The first is AI-generated code. The second is AI-generated output inside the product itself, which is where evaluation, security validation, and observability come in. Many teams now face both risks at once: they use AI to build the software, and the software uses AI to serve customers. Our AI-driven Development & Testing Framework is built around that double exposure, with senior engineers and review gates at each stage.
Who owns AI quality in an enterprise?
AI quality cannot sit with one team, because “correct” is partly a technical question and partly a business one. Product decides what acceptable behavior looks like. QA turns that into a testing and evaluation strategy. Engineering, AI/ML, security, domain experts, and operations each own a part of the result.
| Role | Responsibility |
| Product | Define acceptable AI behavior and business risk tolerance |
| Engineering | Build a reliable application and AI architecture |
| QA / Quality Engineering | Design the testing and evaluation strategy and quality gates |
| AI/ML team | Own model selection, prompt quality, and retrieval performance |
| Security | Test AI-specific threats such as prompt injection and data leakage |
| Business and domain experts | Validate that outputs are correct in the real-world context |
| Operations | Monitor production behavior and escalate quality drift |
In traditional projects, QA can often own quality end-to-end because the requirements define correct behavior. With AI, correct behavior is partly a business judgment, so shared ownership is the only model that works. QA’s role becomes more central, not less: it is the function that turns everyone’s input into datasets, metrics, and release criteria.
When should you use software testing, AI evaluation, or both?
Use conventional software testing when
- Behavior is deterministic.
- APIs must return expected responses.
- Business rules must be enforced exactly.
- Integrations with other systems must work.
- UI behavior must be validated.
Use AI evaluation when
- Outputs are generated rather than looked up.
- More than one answer can be valid.
- Quality depends on context.
- Hallucination is a concern.
- Relevance and grounding matter.
- Model or prompt changes can alter behavior.
Use both when
- AI is embedded in a production application.
- AI output affects customer decisions.
- AI works with enterprise data.
- AI agents can take actions in other systems.
- Compliance or security requirements apply.
Look at the third list, and it describes almost every enterprise AI deployment. So “both” is not a hedge here. For production systems, it is simply the accurate answer.
What makes enterprise AI quality hard to get right?
Challenges
The first challenge is that there is often no single right answer, so teams have to agree on what “good” means before they can measure it, and that conversation takes longer than most project plans allow. Building evaluation datasets is the second. They need real domain knowledge, and datasets written only by engineers tend to miss the cases customers actually care about. Third, model-based judges are useful but imperfect and require their own calibration against human ratings. Finally, evaluation incurs running costs in tokens and reviewer time, and these costs increase every time a model provider pushes an update that forces a full rerun.
Governance
Regulation is pushing in the same direction. The EU AI Act’s Article 15 requires high-risk AI systems to reach an appropriate level of accuracy, robustness, and cybersecurity throughout their lifecycle. Under the Digital Omnibus agreement, obligations for stand-alone Annex III high-risk systems now apply from 2 December 2027, and from 2 August 2028 for AI embedded in regulated products. The delay moves the deadline, not the work. Frameworks such as the NIST AI Risk Management Framework, ISO/IEC 42001 for AI management systems, and ISO/IEC TS 42119-2 for testing AI systems give teams a structure to build on, alongside established testing standards such as ISO/IEC/IEEE 29119 and ISTQB practices. Incidents are also rising: the AI Incident Database recorded 362 incidents in 2025, up from 233 in 2024. Good governance means documented quality baselines, named owners, and release gates that can actually block a failed evaluation.
SHIFT ASIA perspective: build an AI quality system, not just an AI test suite
Enterprise AI does not need more testing in isolation. It needs a quality system that connects software testing, AI evaluation, security, automation, and production feedback, with clear owners and release gates that mean something.
That is how we approach AI projects at SHIFT ASIA. Our teams in Vietnam follow the Japan-standard methodology of the SHIFT Group, built on the SHIFT Quality Framework (SQF), which aligns with ISTQB, draws on more than 4,000 projects a year, and maintains over 900 test criteria updated daily. We apply that same discipline to AI systems:
Engineered by humans, accelerated by AI. That is the balance we think enterprise AI quality needs.
Talk to SHIFT ASIA About Your AI Quality Strategy
Frequently Asked Questions (FAQ)
What is the difference between AI evaluation and software testing?
Software testing checks whether an application behaves according to defined rules, usually with clear pass or fail results. AI evaluation measures whether AI-generated outputs are accurate, relevant, grounded, and safe for their purpose, often on a scale, because several answers can be acceptable. Enterprise AI applications need both.
Can AI evaluation replace software testing?
No. AI evaluation measures output quality but does not verify APIs, integrations, business rules, authentication, or UI behavior. Many AI application failures are ordinary software defects, so conventional testing remains the foundation of the quality stack.
What metrics are used in LLM evaluation?
Common LLM evaluation metrics include correctness, relevance, completeness, faithfulness to sources, citation accuracy, hallucination rate, consistency, and instruction following. For agents, teams also measure tool selection, task completion, and unintended actions. The right set depends on how your specific application can fail.
How often should AI applications be evaluated?
Continuously. Run evaluations before every release, after any model, prompt, or retrieval change, and on a schedule against production data. Gartner recommends building LLM evaluation metrics and safety checks into CI/CD pipelines so validation happens with every change.
Who is responsible for AI quality in an enterprise?
AI quality is a shared responsibility. Product defines acceptable behavior, QA or quality engineering designs the testing and evaluation strategy, AI/ML teams own model and prompt quality, security covers AI-specific threats, domain experts validate real-world correctness, and operations monitors production behavior.
Is prompt injection testing part of AI evaluation or security testing?
It belongs to both. Prompt injection is ranked LLM01 in the OWASP Top 10 for LLM Applications 2025, so it needs dedicated security testing. Its effects, such as unsafe or off-policy outputs, should also be tracked in your AI evaluation datasets so regressions are caught over time.
ContactContact
Stay in touch with Us

