☰
CT-AI人工智能测试大纲:数据、度量与概念漂移实战地图
2026/10/29 3:00:15 网站建设 项目流程

简介:《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 时长表就是重点地图

大纲给每一章都标了建议时长,把这些数字排在一起看,重点在哪一目了然:

章节主题建议时长(分钟)
人工智能介绍105
AI 系统的质量特征106
机器学习总览145
机器学习-数据230
机器学习功能表现度量120
神经网络与测试65
AI 系统测试概述115
测试 AI 专属质量特征150
测试 AI 系统的方法与技术245
AI 系统的测试环境30

两个最大的数字是“方法与技术”245 分钟和“数据”230 分钟。这两个方向占了接近三分之一的学习时间,说明这份大纲认为 AI 测试的核心难点就在这两处:怎么造出可信的测试数据,以及在没有标准答案时用什么手段验证。

最小的数字是“测试环境”30 分钟和“神经网络与测试”65 分钟。这不代表它们不重要,而是说明在这份大纲的定位里,它们属于“知道就行”的层次。测试环境更多是工程配置问题,神经网络的结构细节则属于算法侧的知識,测试工程师不必从头实现一个网络,但得知道覆盖率在这种结构上意味着什么。

按这个权重安排复习顺序,比从第一章顺着背效率高得多。先把数据和方法的章节吃透,再回头补前面的概念,理解会顺很多。

5.3 动手练习清单:光看不算数

大纲在各章里嵌了若干动手练习,把这些练习列出来,基本就是一份最小的实践路径:

第一类是数据相关。数据准备练习要求走一遍从原始数据到可用数据集的流程,包括缺失值处理、异常检测、划分训练验证测试集。识别训练和测试数据并创建模型这个练习,重点在于体会“划分方式不同,评估结果差多少”。

第二类是模型相关。实现一个简单的感知器,目的是把神经网络从“神秘名词”变成“几行矩阵运算”。评估创建的模型这个练习,要求用混淆矩阵和多个指标交叉评估,体会单一指标的失真。

第三类是测试技术相关。结对测试练习让你体会两个人独立设计用例再比对的效果;蜕变测试练习要求你自己找出一条合理的不变性质;探索性测试与探索性数据分析的练习则把“先看数据再设计用例”这个习惯固化下来。

第四类是可解释性。模型可解释性练习通常要求针对具体预测给出解释,体会“解释得通”和“解释得对”之间的差距——一个解释可以听起来很合理,但和模型的真实决策依据毫无关系。

这些练习的价值不在做完,而在做完之后能回答一个问题:如果换个场景,这套做法要怎么改。答不上来,说明还停在照抄步骤的阶段。

6. 什么时候该翻这份大纲,什么时候别指望它

这份大纲有明确的适用边界,用错地方会浪费很多时间。

它适合你的情况:团队开始接手带模型的系统,测试同学不知道从哪儿下手;需要和算法团队用同一套语言讨论质量,而不是各说各话;要建立一套 AI 系统的测试流程和验收准则,需要参照成熟的框架结构;准备参加相关认证,需要一份完整的知识范围界定。

它不适合你的情况:明天就要给某个具体模型调参提点,这份大纲不会告诉你学习率设多少;想找现成的测试脚本或工具配置,大纲是知识框架不是代码仓库;团队做的还是纯规则系统,暂时没有模型参与,那传统测试方法仍然够用,提前上这套框架反而增加负担。

一个具体的判断例子:假设你所在的小组要上线一个设备异常检测功能。模型侧用的是现成的预训练模型做迁移学习,数据侧是历史传感器读数加人工标注。这种情况下,大纲里最该先翻的是“数据”和“功能表现度量”两章——因为你们的风险集中在标注质量和指标选择上。至于对抗攻击、神经网络覆盖率这些内容,先知道有这么回事就行,等安全要求提上来再深入。

反过来,如果做的是安全相关的识别功能,对抗攻击和数据中毒就必须提前看,而且要落到测试用例设计里,不能停留在概念层面。

场景优先章节可以后置
刚接手模型测试测试概述、机器学习总览神经网络覆盖率
数据质量反复出问题机器学习-数据、功能表现度量测试环境
模型上线后效果衰减概念漂移测试、组件记录对抗攻击
需要向业务方解释判断依据可解释性相关章节强化学习部分
安全敏感场景对抗攻击、数据中毒、安全性使用 AI 进行测试

我自己的习惯是:每接一个新项目,先花半小时把大纲目录过一遍,在“数据”“度量”“漂移”这三处画个圈,然后问自己三个问题——训练数据从哪来、验收看哪个指标、上线后怎么发现它变差了。三个问题答不上来的那个,就是这周要补的章节。从那以后我每次评估一个 AI 相关需求,都强制走一遍这三问,比临时抱佛脚翻文档靠谱得多。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询