【中级】第9章 人工智能模型开发测试(9.2人工智能模型测试)V1.0

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第18页
测试方法——聚类算法测试
除了轮廓系数以外的评价方法,在不考虑业务场景的情况下都是得分越高,其效果越好, 最高分值均为1。
而轮廓系数则需要判断不同类别数目的情况下其轮廓系数的走势,寻找最优的聚类数目。
第19页
测试计划
测试计划是描述要进行的测试活动的范围、方法、资源和进度的文档,它确定了测试项、 被测特性、测试任务、任务执行者以及各种可能风险等内容。
方法名称 平均绝对误差 均方误差 中值绝对误差 可解释方差值 R方值
最优值 0.0 0.0 0.0 1.0 1.0
对应Python sklearn库中的函数 metrics.mean_absolute_error metrics.mean_squared_error metrics.median_absolute_error metrics.explained_variance_score metrics.r2_score
在常用分类算法模型的评价指标表中,前4种分类模型评价方法都是分值越高越好,其使用方法基 本相同。
第13页
测试方法——分类算法测试
ROC曲线是通过绘制图形的方式来评估分类模 型。
ROC曲线横纵坐标范围在区间[0,1]内,通常情 况下,ROC曲线与X轴形成的面积越大,表示模 型性能越好。
但是当ROC曲线如图中的虚线时,表明了模型 的计算结果大部分是随机得来的,在此种情况 下模型起到的作用几乎为零。
第23页
测试计划
测试计划主要内容
• 分配测试资源: 测试资源包括测试人力资源和测试环境资源。 测试人力资源包括参与测试的测试负责人和团队成员。 测试环境资源包括测试中用到的服务器、终端设备、网络环境,通常还包括缺陷 管理工具的使用,缺陷等级的定义等。
• 安排测试进度: 根据产品业务的复杂度、需要用到的测试类型、测试人员的数量及能力,评估不 同阶段不同类型的测试工作量。 例如,冒烟测试的工作量,新功能测试的工作量,计划几轮回归测试,是否引入 自动化测试,是否需要性能测试等,最终预估出测试开始和结束的时间点。在整 个测试过程中,需要明确说明测试输出文档的时间,如测试计划、测试用例及测
第17页
测试方法——聚类算法测试
常用聚类算法模型的评价指标如下表。
方法名称
ARI评价法(兰德系数) AMI评价法(互信息) V-measure评分 FMI评价法 轮廓系数评价法 Calinski-Harabasz指数评价法
真实值
需要 需要 需要 需要 不需要 不需要
最佳值
1.0 1.0 1.0 1.0 畸变程度最大 相较最大
测试方法——分类算法测试
常用分类算法模型的评价指标表。
方法名称 Precision Recall F1值 Cohen’s Kappa系数 ROC曲线
最佳值 1.0 1.0 1.0 1.0 最靠近y轴
对应Python sklearn库中的函数 metrics.precision_score metrics.recall_score metrics.f1_score metrics.cohen_kappa_score metrics.roc_curve
测试人员,可能包含用户
第9页
测试用例——测试用例的分类
Fra Baidu bibliotek
测试和开发的对应关系表。
开发阶段 需求分析结束后 概要设计阶段结束后 详细设计阶段
依据文档 需求文档 概要设计、体系设计 详细设计文档
编写的用例 系统测试对应的用例 集成测试对应的用例 单元测试对应的用例
第10页
测试方法
针对不同类型的算法需要采取对应的测试方法才能准确地评价模型的性能,如分类算法 需要评估其分类结果的正确与否,回归算法需要评估其预测值与真实值的接近程度,而 聚类算法则较为复杂,需要评估其聚类结果中同类成员间的相似性等。
第20页
测试计划
制定测试计划的目的
• 为测试的各项活动制定一个可行的、综合的计划,包括每项测试活动的对象、范围、 方法、进度和预期结果。
• 为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容。 • 开发有效的测试模型,能正确的验证正在开发的软件系统。 • 确定测试所需要的时间和资源,以保证其可获得性、有效性。 • 确立每个测试阶段测试完成、测试成功的标准和需要实现的目标。 • 识别出测试活动中各种风险,并消除可能存在的风险,降低由不可能消除的风险所
平均绝对误差、均方误差和中值绝对误差的值越靠近零,模型性能越好;可解释方差值 和R方值越靠近1,模型性能越好。
第16页
测试方法——聚类算法测试
聚类算法模型评价的标准是组内的对象相互之间是相似的(相关的),而不同组中的对 象是不同的(不相关的),即组内的相似性越大,组间差别越大,聚类效果就越好。
第22页
测试计划
测试计划主要内容
• 制定测试方法。 对于功能测试,需要根据测试用例,针对产品的各个功能,验证其逻辑的正确性。 对于兼容性测试,需要根据不同平台(如PC、Android、iPhone等)、不同OS(如 iOS 8、iOS 9、Android 7、Android 8、Android 9等)、不同浏览器(如IE、Chrome、 Firefox等)、不同分辨率(如800×400、1280×760、1920×1080等)分别进行测试。 对于性能测试,根据各个模块所需要达到的性能指标,实施专项性能测试。
第2页
测试用例
测试用例是设计和制定测试过程的基础,一个好的测试用例会使测试工作的效果事半功 倍,并且能尽早发现一些隐藏的软件缺陷。
第3页
测试用例——测试用例的概念
测试用例是测试时执行的最小实体,是为特定目的而设计的一组测试输入、执行条件和 预期的结果。
简而言之,测试用例是一个文档,描述输入、动作或者时间和一个期望的结果,其目的 是确定应用程序的某个特性是否正常工作,并且达到程序所设计的结果。
第14页
ROC曲线
测试方法——回归算法测试
回归算法模型的性能评估不同于分类模型,虽然都是对照真实值进行评估,但由于回归 算法模型的预测结果和真实值都是连续的,所以不能求取Precision、Recall、F1值等评价 指标。
第15页
测试方法——回归算法测试
回归算法模型拥有一套独立的评价指标,常用的评价指标如下表。
• 测试用例是测试人员测试过程的重要参考依据,也可以作为检验测试进度、 测试工作量和测试人员工作效率的因素,可方便对测试工作进行有效的管
可管理性 理。
第6页
测试用例——测试用例的分类
为了便于在实际测试工作中提高效率,同时方便测试用例的编写和执行,在编写测试用 例时,可以把测试用例进行分类,这样的操作不容易遗漏应选择的测试用例。
测试环境不稳定可能会造成测试人员对系统缺陷的误判,浪费研发在此类问题上 的定位时间,同时也极有可能阻碍测试执行的进度,降低测试效率。
第5页
测试用例——测试用例的作用
• 功能模块的通用化和复用化使软件易于开发,而良好的测试用例具有重复 使用的性能,使得测试过程事半功倍,并随着测试用例的不断精化,测试
可复用性 效率也会不断提高。
• 测试用例的通过率是检验程序代码质量的保证,即程序代码质量的量化标
可评估性 准应该用测试用例的通过率和测试出软件缺陷的数目来进行评估。
第7页
测试用例——测试用例的分类
测试用例的5大类
• 白盒测试用例。白盒测试用例主要有逻辑覆盖法和基本路径测试法设计的测试用例,设计的基本思路是使用 程序设计的控制结构导出测试用例。
• 软件各项功能的测试用例。例如,文字编辑器中的新建文档功能、打开文档功能、保存文档功能、打印功能、 编辑功能等。功能测试用例一般采用等价类划分法、边界值分析法、错误推测法、因果图法等进行设计,这 些都属于黑盒测试用例的设计技术。
如果执行测试用例,软件在这种情况下不能正常运行,而且问题会重复发生,那么表示 已经测试出的软件有缺陷,这时必须将软件缺陷标记出来,并且输入到问题跟踪系统内, 通知软件开发人员。
软件开发人员接到通知后,修正问题,再次返回给测试人员进行确认,以确保该问题已 修改完成。
第4页
测试用例——测试用例的作用
• 确认软件缺陷修正的测试用例。所采用的测试用例不同,在特定的阶段编写不同的测试用例并执行相应的测 试才可以提高效率。测试工作和开发通常一同进行,所以在完成开发计划编写后,即可开始进行用例的编写
第8页 工作。
测试用例——测试用例的分类
测试类型、测试阶段和测试用例的具体关系表。
测试阶段
单元测试 集成测试 系统测试 验收测试
测试类型
执行人员
模块功能测试,包含部分接口测试、覆盖单元 开发人员、开发人员与测试人
测试
员结合
接口测试、路径测试,包含部分功能测试
开发人员与测试人员结合、测 试人员
功能测试、兼容性测试、性能测试、用户界面 测试、安全性测试、强度测试、可靠性测试、 测试人员 安装/反安装测试
对于实际项目基本同系统测试,并包含文档测 试,对于软件产品主要测试相关技术文档
• 用户界面测试用例。例如,用户界面窗口里的所有菜单、每个命令按钮、每个输人框、列表框、每个工具栏、 状态栏的测试用例等。
• 软件的各项非功能测试用例。此测试用例又可以分成许多类型,包括性能测试用例、强度测试用例、接口测 试用例、兼容性测试用例、可靠性测试用例、安全测试用例、安装/反安装测试用例、容量测试用例、故障修 复测试用例等。
带来的损失。
第21页
测试计划
测试计划主要内容
• 明确测试范围。 测试范围主要来自于产品需求文档、开发技术文档,以及用户反馈的问题。 产品需求文档包含产品本身的迭代、优化或是新功能的开发,通常根据产品提供 的需求清单确定测试 的范围。 开发技术文档包含技术上的实现方式或结构上的优化调整,通常可以根据代码改 动范围来确定需要测试的范围。 用户反馈的问题,一般都是用户在使用产品过程中遇到的问题,可以根据问题的 不同类型,确定需要测试的范围。
第11页
测试方法——分类算法测试
分类算法模型的测试是对测试集进行预测,得出其准确率,但是光靠准确率并不能很好 的反映模型的性能,为了有效判断一个预测模型的性能表现,需要结合真实值,计算出 Precision(精确率)、Recall(召回率)、F1值、Cohen’s Kappa系数等指标来衡量。
第12页
对应Python sklearn库中的函数
adjusted_rand_score adjusted_mutual_info_score completeness_score fowlkes_mallows_score silhouette_score calinski_harabaz_score
前4种方法均需要真实值的配合才能够评价聚类算法模型的优劣,后2种则不需要真实值 的配合。但是前4种方法评价的效果更具有说服力,并且在实际运行的过程中在有真实值 做参考的情况下,聚类方法的评价可以等同于分类算法的评价。
第9章 人工智能模型开发测试
第0页
目录
1. 人工智能模型开发 2. 人工智能模型测试
第1页
人工智能模型测试
测试是一个找错的过程,测试只能找出程序中的错误,而不能证明程序无错。测试要求 以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。
简而言之,测试是为了发现错误而执行程序的过程。 人工智能模型的测试主要包含测试用例、测试方法与技术、测试计划以及测试报告。
有效性
• 在测试时,不可能进行穷举测试,从数量极大的可用测试数据中精心挑选 出具有代表性或特殊性的测试数据来进行测试,可有效地节省时间和资源, 提高测试效率。
• 在开始实施测试之前设计好测试用例,可以避免测试的盲目性,使得软件
避免测试的盲 测试的实施重点突出、目的明确。
目性
可维护性
• 在软件版本更新后,只需修正少部分的测试用例即可开展测试工作,降低 工作强度,缩短项目周期。
第24页
测试计划
测试计划主要内容
• 评估测试风险。
评估测试风险主要有产品需求变更、研发提测延迟、测试环境不稳定和缺陷修复 进度落后。
产品需求变更,测试过程中需求变更不仅给研发带来的额外工作量,而且测试也 要重新进行测试需求分析,测试用例的调整、评审会给整个产品质量带来一定的 风险。
研发提测延迟会缩短整个测试时间,使需要测试的模块没有得到充分的测试,打 乱整体测试计划。
相关文档
最新文档