AI测试--初识

来自:https://blog.csdn.net/lhh08hasee/article/details/81748680

è¿éåå¾çæè¿°

把人工智能比作水果,我们知道,吃水果的方法有很多。可以把机器学习比作 一种吃水果的方法。如果用刀切这种方法。深度学习又是机器学习的一个分支:

è¿éåå¾çæè¿°

测试什么

一般这些项目都要测试什么,要进行什么类型的测试;

1. 模型评估测试
模型评估主要是测试 模型对未知新数据的预测能力,即泛化能力。
泛化能力越强,模型的预测能力表现越好。而衡量模型泛化能力的评价指标,就是性能度量(performance measure)。性能度量一般有错误率、准确率、精确率、召回率等。

2. 稳定性/鲁棒性测试
稳定性/鲁棒性主要是测试算法多次运行的稳定性;以及算法在输入值发现较小变化时的输出变化。
如果算法在输入值发生微小变化时就产生了巨大的输出变化,就可以说这个算法是不稳定的。

3. 系统测试
将整个基于算法模型的代码作为一个整体,通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。
系统测试主要包括以下三个方面:
1、项目的整体业务流程
2、真实用户的使用场景
3、数据的流动与正确

4. 接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

5. 文档测试
文档测试是检验用户文档的完整性、正确性、一致性、易理解性、易浏览性。
在项目的整个生命周期中,会得到很多文档,在各个阶段中都以文档作为前段工作成果的体现和后阶段工作的依据。为避免在测试的过程中发现的缺陷是由于对文档的理解不准确,理解差异或是文档变更等原因引起的,文档测试也需要有足够的重视。

6. 性能测试

7. 白盒测试–代码静态检查

8. 竞品对比测试
如果有涉及时,可针对做竞品对比测试,清楚优势和劣势。比如AI智能音箱产品。

9. 安全测试

发布上线后,线上模型监控
————————————————

测试用例
人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事。

收集测试数据
思考需要什么要的测试数据,测试数据的标注
跑测试数据
编写测试脚本批量运行
查看数据结果
统计正确和错误的个数,查看错误的数据中是否有共同特征等
而编写测试用例,主要是围绕数据来进行。为更好的设计测试用例,首先需要了解一些项目的情况。这些东西如果在《需求文档》中就有描述是最好的。如果没有需要找算法工程师沟通了解。

测试用例的思考点
- 项目落地实际使用场景,根据场景思考真实的数据情况,倒推进行测试数据收集
- 模型的训练数据有多少,训练数据的分布情况,训练数据的标注是否准确
- 算法的实现方式
- 选择模型评价指标
- 评价指标的上线要求
- 项目的流程,数据流
- 模型的输入和输出
- 算法外的业务逻辑

测试用例的执行
运行测试脚本,跑测试数据。
对于一些机器学习的项目的数据,可以通过测试脚本对算法运行的结果和测试数据的标注结果进行对比。
对于图像识别类项目的数据,有些标注无法通过数值来量化,还是需要人工来对比。
对于推荐系统类项目,如 多样性测试,可能也无法通过测试脚本来对比,需要人工来查看。

测试结果
通常是统计正确的和错误的数据数,使用评价指标的公式计算得出各指标数值。
同时,需要关注错误的数据,查看是否有共同的特征,再找些这样的数据单独来进行验证,是否带有此特征的数据都会识别数据。

测试报告
测试结果最终通过测试报告展现,一份详见的测试报告,可以让别人清晰的了解测试什么,怎么测试的,测试结果是怎么样。图片为自己所写测试报告,可供参考。

————————————————
 

 

你可能感兴趣的:(人工智能)