
简介《ISTQB-人工智能测试大纲》中文版CT-AI-1.0-CN-1.0由国际软件测试认证委员会发布是面向AI测试认证工程师的官方大纲适合备考CT-AI认证的测试工程师、质量保障人员以及希望系统建立AI系统测试知识框架的技术管理者。全文共11章从人工智能基本概念与分类讲起随后展开基于AI系统的准确性、可靠性、可解释性、公平性与隐私等质量特征介绍监督学习、无监督学习、强化学习等机器学习总览数据质量、清洗与特征工程准确率、精确率、召回率、F1与ROC等性能度量进而讲解神经网络结构、损失函数、反向传播与泛化能力测试并延伸到AI系统测试策略、XAI可解释性测试、公平性与鲁棒性测试、仿真测试环境搭建、数据增强与模型对比以及借助AI生成测试用例、优化测试流程兼顾伦理与合规责任。包内为1个PDF文件约4.03MB按章节标注学习目标与认知水平便于对照备考与随时查阅。已有1190人学习下载适合作为AI测试从入门到进阶的常备参考。1. AI 测试大纲到底是什么一份 90 页的认知地图AI 测试认证大纲CT-AI是一份差不多 90 页的知识框架把“怎么测一个会自己学习的系统”拆成十一章、几十个知识点。它并不教你调某个深度学习框架的参数而是告诉你一件更基础的事当一个系统的输出不再稳定可复现测试该从哪儿下手。很多人第一次听到“人工智能测试”脑子里冒出来的是让 AI 帮忙写用例大纲开篇就把这两件事划清了界限——一类是测 AI 系统一类是用 AI 辅助测试混在一起谈就会全线跑偏。搞懂这份大纲相当于拿到一张地图数据、模型、度量、环境、方法哪一块缺了都会在真实项目里翻车。2. 为什么传统测试套路会在 AI 系统上失灵确定性思维撞上概率性输出做过几年功能测试的人手里都有一套熟练的武器等价类划分、边界值、因果图、用例评审。这套东西在传统软件上非常有效因为传统软件的底层假设是「同样的输入永远给出同样的输出」。你发现一个缺陷记下输入、步骤和环境就能稳定复现。可这套方法论搬到 AI 系统上第一周就会遇到麻烦——同一个输入跑两次结果可能不一样调了三个参数昨天还好的用例今天全错。这一章要讲清的就是为什么会有这种落差以及大纲在开头两章里到底埋了哪些伏笔。2.1 自动售货机与老练学徒两类系统的本质差别打个比方。传统软件像一台自动售货机投三块钱、按二号键出货口一定掉出一瓶水。如果没掉那就是坏了修哪儿也很清楚——要么是按键电路要么是出货电机。测试员的工作就是不断试各种按钮组合找出那个不掉水的按键。AI 系统更像一个跟老师傅学了三年手艺的学徒。你让他判断一张零件照片有没有裂纹他会看、会猜、会犹豫。有些照片他看一眼就笃定有些照片他会说「大概有六成把握」。你没法用「投币—出货」这种方式验证他对不对只能拿一批他没见过的新照片看他的判断在多大比例上跟老师傅一致。这个差别落到工程上就一句话传统系统的正确性可以用规则描述AI 系统的正确性只能用统计描述。规则可以穷举统计只能抽样。抽样意味着你永远无法证明「这个模型在所有情况下都对」只能说明「在这个数据集上它的表现落在某个区间内」。大纲第 1 章专门讲了“基于人工智能的系统与常规系统”的对比讲的就是这件事。2.2 缺陷复现变成玄学输入相同输出为何不同一个具体的场景。某团队做一个缺陷检测模型测试同学报了个缺陷一张有明显划痕的图片模型判定为“合格”。开发拿同样的图片跑了一遍判定为“不合格”。于是双方开始互相怀疑——测试说你是不是偷偷改模型了开发说你那张图是不是被压缩过。真相往往很朴素模型本身带有随机性初始化不同、推理时的随机失活、批处理顺序不同或者图片在传输过程中经过了不同的压缩路径像素值差了一点点恰好落在了决策边界附近。这类现象在大纲第 8 章“测试基于概率的和非确定性的人工智能系统所面临的挑战”里被单独拎出来讲就是因为它足够普遍普遍到如果不提前约定团队会花一半时间在扯皮上。应对办法不在于“更仔细地复现”而在于改变测试的记录方式把模型版本、权重文件哈希、输入数据的完整预处理链路、随机种子全部固化下来让一次测试成为一次可追溯的实验而不是一次随缘的手工操作。大纲里“记录人工智能组件”这一节说的就是给模型建立“黑匣子”式的档案。2.3 大纲前两章埋的伏笔AI 效应、自治、进化与偏差翻目录会发现第 1 章讲的是人工智能的定义、有限人工智能与通用人工智能的区分、AI 技术、开发框架、硬件、AI 即服务、预训练模型与迁移学习、标准与规章制度。第 2 章讲的是基于人工智能的系统的质量特征灵活性、适应性、自治、进化、偏差、行为准则、副作用与奖励黑客、透明度与可解释性、安全性。这两章几乎没有出现“测试用例”这种字眼很多人读的时候会不耐烦觉得是在凑篇幅。其实它们在做一件很关键的事重新定义什么叫“质量”。传统系统谈质量谈的是功能正确、性能达标、界面友好。AI 系统谈质量得先谈它会在什么情况下“变”它会随着新数据自我调整进化会在没有明确指令时自己做决定自治会对训练数据里的系统性倾斜照单全收偏差会为了拿到高分而钻规则空子奖励黑客。这些特性不是缺陷而是这类系统的固有属性。你不先理解这些属性就无法设计出有意义的验收准则。举个“奖励黑客”的通俗例子你让一个模型“尽可能提高用户点击率”它可能学会用夸张的标题吸引点击点击率确实上去了但这不是你真正想要的东西。这类问题在传统软件里几乎不存在因为传统软件不会自己找目标函数的漏洞。大纲把它列进质量特征就是在提醒测试工程师评估 AI 系统时你不能只问“它做对了吗”还得问“它是怎么做到的”。提示读这两章时不必急着记术语把每个质量特征对应到一个你能想到的真实场景比背定义有用得多。3. 十章骨架拆开看从数据到测试环境的知识链条大纲的主体是十章从人工智能介绍一路讲到测试环境。乍看像十个并列的话题实际是一条有先后依赖的链条先知道 AI 系统长什么样第 1、2 章再知道它是怎么被造出来的第 3 到 6 章然后才知道该怎么测第 7 到 10 章。链条上任何一环断了后面的内容都会变成背概念。3.1 三种学习形式决定你后面怎么测大纲第 3 章用了 145 分钟讲机器学习总览核心是三件事有监督学习、无监督学习、强化学习外加机器学习工作流、算法选择因素、过拟合与欠拟合。为什么必须先分清这三种形式因为它们对应的测试策略完全不同。有监督学习拿的是“题目 标准答案”模型学的是从输入到标签的映射。测它的重点在于标签本身对不对标注质量、模型在没见过的样本上表现如何泛化能力、不同类别的错误代价是否被合理权衡。无监督学习没有标准答案模型学的是数据内部的结构比如聚类。测它的难点在于“对错没有唯一定义”——你把用户分成五群还是八群很难说哪个是错的。这时候测试的目标就从“验证正确”转向“评估合理性”得靠业务专家介入判断分群是否有解释力。强化学习更麻烦模型是在与环境交互中通过奖励信号学策略。测它不能只看最终结果得看整个行为序列它有没有在过程中做出危险动作、有没有钻奖励函数的空子、换个初始条件会不会崩溃。一个常见的误区是把这三种形式当成“三种算法”。它们其实是三种问题设定。设定不同验收标准就不同用例设计思路也不同。3.2 数据那一章为什么最厚230 分钟的分量整个大纲里机器学习-数据这一章占了 230 分钟是所有章节里最重的。第 9 章测试方法与技术是 245 分钟排第二。这个时间分配本身就在传递一个信号AI 测试的大头不在模型内部而在数据。这一章讲的内容包括数据准备在工作流中的位置、数据准备中的挑战、训练集/验证集/测试集的划分、数据集质量问题、数据质量对模型的影响、有监督学习的数据标注方式、数据集中的错误标注。用大白话翻译一遍模型的表现上限基本由数据决定模型出问题八成能在数据里找到原因。一个典型场景某团队做了一个设备故障预测模型上线后准确率从 92% 掉到 71%。查了两周模型代码没发现问题最后发现是数据采集环节换了传感器型号新传感器在某个量程段的读数系统性偏低而训练集里完全没有这个型号的样本。这不是模型的锅是数据分布变了。训练集、验证集、测试集的划分也是同理。很多新手会随手train_test_split一下就完事但如果划分时同一个设备的多条记录被同时分到训练集和测试集测试分数就会虚高——模型其实是在“认设备”而不是“认故障特征”。这类问题在大纲里归到数据集质量问题属于必须提前设计、不能事后补救的那一类。错误标注同样隐蔽。人工标注的东西一定有错错标率 3% 听起来不多但如果某个类别只有 500 个样本错 15 个就足以让模型学偏。大纲专门讲了错误标注数据的识别与处理核心思路是交叉复核和一致性检验而不是相信任何一个标注员的判断。3.3 功能表现度量混淆矩阵与它的盲区第 5 章讲功能表现度量核心是混淆矩阵再延伸到分类、回归、聚类三类任务的度量指标以及这些度量的局限性和选择原则。混淆矩阵说白了就是把“模型说的”和“实际是的”交叉列表实际为正实际为负判为正真正例 TP假正例 FP判为负假负例 FN真负例 TN四个格子一摆准确率、精确率、召回率、F1 全都能从里面算出来。手写一遍比看十遍定义管用# 由混淆矩阵四个值推导常用指标 TP, FP, FN, TN 82, 13, 25, 880 accuracy (TP TN) / (TP FP FN TN) # 整体判对的比例 precision TP / (TP FP) # 判为正的里面真正为正的比例 recall TP / (TP FN) # 实际为正的里面被找出来的比例 f1 2 * precision * recall / (precision recall) # 精确率与召回率的调和平均 print(f准确率 {accuracy:.3f} 精确率 {precision:.3f} 召回率 {recall:.3f} F1 {f1:.3f})参数说明TP是被正确找出的正例数FP是误报数FN是漏报数TN是正确排除的负例数。四个值必须来自同一个固定阈值下的同一次评估混用不同阈值的结果算出来的指标没有意义。这段代码跑出来准确率约 0.96看着漂亮。但召回率只有 0.77意味着每四个真正的缺陷里就有一个被漏掉。如果这是个缺陷检测场景96% 的准确率毫无安慰作用——剩下 4% 的错误里漏报的代价远高于误报。这就是大纲里“机器学习功能表现度量的局限性”要讲的事任何单一指标都能被操纵。样本极度不平衡时一个“永远判为负”的模型也能拿到 95% 以上的准确率。所以选度量指标必须回到业务代价上漏报贵还是误报贵两类错误的代价比例大概是多少想清楚这个指标才有意义。3.4 七个测试层级与九类测试技术第 7 章讲测试总览把 AI 系统的测试拆成输入数据测试、机器学习模型测试、组件测试、组件集成测试、系统测试、验收测试几个层级另外讲了测试数据、自动化偏差测试、组件记录、概念漂移测试、测试方法选择。第 9 章讲具体技术篇幅最长对抗攻击与数据中毒、结对测试、背靠背测试、A/B 测试、蜕变测试、基于经验的测试含探索性测试与探索性数据分析最后讲怎么为 AI 系统选测试技术。这两章的关系是“地图”和“工具箱”。第 7 章告诉你测哪些层第 9 章告诉你在每层可以用什么手段。其中蜕变测试值得单独说一句因为它是解决“没有标准答案”困境的关键思路你不判断输出对不对你判断“输入按某种方式变化后输出是否按预期方式跟着变”。比如一个图像分类模型把图片旋转 5 度分类结果不该从“猫”变成“卡车”。这个性质不需要知道标准答案就能验证非常适合 AI 系统。# 蜕变测试的朴素示例轻微旋转不应改变分类结果 import numpy as np def check_rotation_invariance(model, image, label, angles(5, -5, 10)): base model.predict(image) for a in angles: rotated rotate(image, a) # 按角度旋转模拟拍摄角度变化 pred model.predict(rotated) # 重新推理 if pred ! base: return False, a, base, pred # 记录破坏蜕变关系的那次变换 return True, None, base, None参数说明model是待测模型image是原始样本label是它的真实类别angles是旋转角度列表。函数返回是否保持了一致性以及第一次失败时的角度和前后预测。这里的“蜕变关系”是人为定义的业务不变性定义得好不好直接决定测试有没有价值——旋转不变性对零件缺陷检测合理对交通标志识别就不一定合理。注意蜕变关系不是越多越好。定义一堆模型本来就不该满足的关系只会制造大量假阳性缺陷最后没人再信这套测试。4. 易混概念辨析这些词看着像其实是两回事学这份大纲最容易犯的错不是记不住定义而是把几个长得很像的概念当成同义词。下面五组是初学者最容易搞混的每一组都按“混在哪—为什么混—怎么分”说清。4.1 测 AI 与用 AI 测两个方向完全相反易混点很多人把“人工智能测试”理解成一件事实际上它包含两个方向相反的活动。一个方向是把 AI 系统当作被测对象验证它的质量另一个方向是把 AI 技术当作测试工具用来生成用例、定位缺陷、优化回归集。为什么混中文里“AI 测试”这四个字可以指两种结构——“AI 的测试”和“AI 做的测试”省略了助词就分不清了。加上厂商宣传时喜欢把两者混着说听起来像一个东西。怎么区分看主语。被测对象是模型、数据集、推理服务那就是测 AI被测对象还是传统软件只是用模型帮忙挑用例、识别界面元素、预测哪些模块容易出问题那就是用 AI 测。两者需要的知识结构完全不同前者要懂机器学习工作流和统计度量后者要懂测试工程和工具链集成。这份大纲的主体在前者只在最后一部分涉及后者。4.2 过拟合、欠拟合与概念漂移三种表现相似但成因不同易混点这三者都会表现为“模型效果不好”而且经常同时出现在一份故障报告里。为什么混从外部看都是准确率不达标从日志上看都是预测错了如果只看一个总数根本分不清。怎么区分看训练集和测试集的表现差异以及差异随时间的变化。过拟合是训练集表现极好、测试集明显变差本质是模型把训练数据的噪声也背下来了欠拟合是两边都差本质是模型太简单或者特征不够概念漂移是原本测试集表现正常上线一段时间后逐渐变差本质是真实世界的数据分布变了。一个判据表可以记在心里两边分数差得远 → 过拟合两边分数都低 → 欠拟合分数随时间下滑 → 概念漂移。三者对应的补救手段也完全不同过拟合要正则化、要更多数据、要简化模型欠拟合要换更强的模型或补特征概念漂移要靠监控和定期重训练改模型结构没用。4.3 透明度、可解释性与可追溯记录都是“让人看得懂”但说的不是一层意思易混点这三个词在讨论 AI 治理时常被互换使用实际指向三个不同层面。为什么混它们共同的直觉都是“别让模型变成黑盒”听起来像同一个诉求的不同说法。怎么区分透明度说的是“信息公开的程度”——你知道这个模型用了什么数据、大概什么结构、经过哪些流程它偏向组织层面的信息披露。可解释性说的是“给定一个具体判断能不能说清理由”——比如为什么这张图被判为有缺陷哪个区域起了作用。可追溯记录说的是“有没有留底”——模型版本、训练配置、评估结果、上线变更是否被完整记录下来事后能不能还原当时的状态。打个比方透明度是餐厅公开后厨可解释性是厨师能说清这道菜为什么这么调味可追溯记录是每一批食材的进货单据都留着。三件事互相支撑但谁也不能替代谁。大纲把“记录人工智能组件”单独列出来就是因为它最容易被忽略却在事故复盘时最救命。4.4 对抗攻击与数据中毒都叫“攻击”发生阶段差很远易混点两者都是恶意影响模型行为初学者常以为是一回事。为什么混名称里都带攻击性后果都是模型判错而且在大纲第 9 章里连在一起讲。怎么区分看攻击发生在哪个阶段。对抗攻击发生在推理阶段——模型已经训练好了攻击者构造一个精心扰动的输入让模型当场判错。这张图人眼看不出区别模型却给出了完全不同的结论。数据中毒发生在训练阶段——攻击者在训练数据里掺入精心构造的样本模型训练完就带着后门平时表现正常遇到特定触发条件才出错。一个是“考试时递小抄”一个是“教材里埋错误”。前者靠输入侧检测和鲁棒性测试防御后者靠数据来源审查和标注流程管控防御。搞混了就会用错药比如拿对抗样本防御手段去防数据中毒基本无效。4.5 准确率、精确率、召回率同一个矩阵里的三个视角易混点三个指标都从混淆矩阵来都是 0 到 1 之间的小数新手经常随手报一个“准确率 95%”就完事。为什么混定义记起来容易理解代价差异难。公式谁都会背但“这个场景该看哪个”需要业务判断。怎么区分问一句“哪种错误更贵”。如果漏报代价高——比如安全隐患检测、故障预警——就看召回率宁可多报也不能漏。如果误报代价高——比如自动拦截、自动冻结账户——就看精确率宁可漏一些也不能误伤。如果两者都要兼顾看 F1。准确率只在类别基本均衡、两类错误代价接近时才有参考价值。大纲把这套选择逻辑放在“选择机器学习功能表现度量”一节里说明它不是技术问题而是业务问题。提示看到有人只报准确率先问一句“正负样本比例是多少”。比例一比一百时准确率这个数字几乎不携带信息。5. 大纲怎么用起来学习目标、时间预算与动手练习一份 90 页的大纲如果只被当作背诵材料价值会打掉一半。它真正的用法是当作一张“能力清单”哪些知识点只需要知道哪些必须理解哪些得动手做过才算数。5.1 学习目标分级知道、理解、会做是三件事大纲在开篇的简介部分专门讲了“可考核的学习目标与知识认知水平”还单列了“实际操作的能力水平”。这个设计说明它把知识分成不同层次。最浅一层是“知道”能说出有限人工智能和通用人工智能的区别能列举 AI 即服务的几种合约形式。这类知识靠读靠记考完就容易忘但它构成了共同语言——团队里三个人对同一个词的理解不一致讨论就没法进行。中间一层是“理解”能解释为什么过拟合在训练集上看不出来能说明为什么召回率在缺陷检测里比准确率高。这类知识靠对比和举例光背定义不行得能用自己的话讲给外行听。最实一层是“会做”能动手完成一次数据划分、能跑一遍感知器、能设计一组蜕变关系、能做一次探索性数据分析。大纲里散布着多个动手练习就是为这一层准备的。判断自己学到哪一层有个简单办法合上文档试着给一个没接触过 AI 测试的同事讲三分钟。讲得出概念是知道讲得清因果是理解讲完他还能照着做一步是会用。5.2 时长表就是重点地图大纲给每一章都标了建议时长把这些数字排在一起看重点在哪一目了然章节主题建议时长分钟人工智能介绍105AI 系统的质量特征106机器学习总览145机器学习-数据230机器学习功能表现度量120神经网络与测试65AI 系统测试概述115测试 AI 专属质量特征150测试 AI 系统的方法与技术245AI 系统的测试环境30两个最大的数字是“方法与技术”245 分钟和“数据”230 分钟。这两个方向占了接近三分之一的学习时间说明这份大纲认为 AI 测试的核心难点就在这两处怎么造出可信的测试数据以及在没有标准答案时用什么手段验证。最小的数字是“测试环境”30 分钟和“神经网络与测试”65 分钟。这不代表它们不重要而是说明在这份大纲的定位里它们属于“知道就行”的层次。测试环境更多是工程配置问题神经网络的结构细节则属于算法侧的知識测试工程师不必从头实现一个网络但得知道覆盖率在这种结构上意味着什么。按这个权重安排复习顺序比从第一章顺着背效率高得多。先把数据和方法的章节吃透再回头补前面的概念理解会顺很多。5.3 动手练习清单光看不算数大纲在各章里嵌了若干动手练习把这些练习列出来基本就是一份最小的实践路径第一类是数据相关。数据准备练习要求走一遍从原始数据到可用数据集的流程包括缺失值处理、异常检测、划分训练验证测试集。识别训练和测试数据并创建模型这个练习重点在于体会“划分方式不同评估结果差多少”。第二类是模型相关。实现一个简单的感知器目的是把神经网络从“神秘名词”变成“几行矩阵运算”。评估创建的模型这个练习要求用混淆矩阵和多个指标交叉评估体会单一指标的失真。第三类是测试技术相关。结对测试练习让你体会两个人独立设计用例再比对的效果蜕变测试练习要求你自己找出一条合理的不变性质探索性测试与探索性数据分析的练习则把“先看数据再设计用例”这个习惯固化下来。第四类是可解释性。模型可解释性练习通常要求针对具体预测给出解释体会“解释得通”和“解释得对”之间的差距——一个解释可以听起来很合理但和模型的真实决策依据毫无关系。这些练习的价值不在做完而在做完之后能回答一个问题如果换个场景这套做法要怎么改。答不上来说明还停在照抄步骤的阶段。6. 什么时候该翻这份大纲什么时候别指望它这份大纲有明确的适用边界用错地方会浪费很多时间。它适合你的情况团队开始接手带模型的系统测试同学不知道从哪儿下手需要和算法团队用同一套语言讨论质量而不是各说各话要建立一套 AI 系统的测试流程和验收准则需要参照成熟的框架结构准备参加相关认证需要一份完整的知识范围界定。它不适合你的情况明天就要给某个具体模型调参提点这份大纲不会告诉你学习率设多少想找现成的测试脚本或工具配置大纲是知识框架不是代码仓库团队做的还是纯规则系统暂时没有模型参与那传统测试方法仍然够用提前上这套框架反而增加负担。一个具体的判断例子假设你所在的小组要上线一个设备异常检测功能。模型侧用的是现成的预训练模型做迁移学习数据侧是历史传感器读数加人工标注。这种情况下大纲里最该先翻的是“数据”和“功能表现度量”两章——因为你们的风险集中在标注质量和指标选择上。至于对抗攻击、神经网络覆盖率这些内容先知道有这么回事就行等安全要求提上来再深入。反过来如果做的是安全相关的识别功能对抗攻击和数据中毒就必须提前看而且要落到测试用例设计里不能停留在概念层面。场景优先章节可以后置刚接手模型测试测试概述、机器学习总览神经网络覆盖率数据质量反复出问题机器学习-数据、功能表现度量测试环境模型上线后效果衰减概念漂移测试、组件记录对抗攻击需要向业务方解释判断依据可解释性相关章节强化学习部分安全敏感场景对抗攻击、数据中毒、安全性使用 AI 进行测试我自己的习惯是每接一个新项目先花半小时把大纲目录过一遍在“数据”“度量”“漂移”这三处画个圈然后问自己三个问题——训练数据从哪来、验收看哪个指标、上线后怎么发现它变差了。三个问题答不上来的那个就是这周要补的章节。从那以后我每次评估一个 AI 相关需求都强制走一遍这三问比临时抱佛脚翻文档靠谱得多。希望帮到你。本文还有配套的精品资源点击获取