人工智能(AI)测试方法

一、了解人工智能

1.1、对人工智能的理解:

人工智能(AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学(定义)。**人工智能利用机器学习技术**,通过对现有的经过处理(筛选、消噪、过滤等)的数据,不断进行矫正(设置阀值等方法)机器模型的输出,此过程称为训练,期望通过训练可以得到在未来新数据上有良好表现的模型,从而投入生产。

1.2、人工智能目前应用的一些领域:

语音识别:人工智能在语音识别方面的应用相对较好,如siri、多邻国读音识别等

图像识别:如高速车牌识别、人脸识别等

个性化推荐:如亚马逊、今日头条根据用户阅读历史做的推荐系统,利用人工智能进行调参数等

二、AI相关测试

2.1、测试分析

1) 人工智能归根结底也是利用对历史数据的处理训练出可以在将来数据上有良好输出的模型。

2) 对于测试而言,应该关心数据模型在对待正常数据、边界数据、异常数据作为输入时,模型的输出是否能够符合期望。

2.2、测试方法

1) 改变测试集:如输入与训练时一样的数据、与训练时完全不同的数据、训练时的边界值等,看是否达到期望输出

2) 如在安卓平台运行的代码:通过不断点击运行、以及快速退出和快速进入、处理大量数据、空数据、等观察性能指标的上升等

3) 模型是否有良好的用户交互

4) 人工智能发展目前有一定的技术限制,但是无论如何都不能造成应用crash、卡死、内存溢出等现象

5) 具体使用时,应有良好的告知用户的提示,不能一直loading等

6) 模型是否能够根据处理数据的量从少到多而自动不断优化、调整输出

7) 观察模型输出是否是一直不变化的

8) 经过多次改变输入(百次计算),再进行回归测试,观察输出是否有一定程度调优(或者更差了)

9) 模型在处理数据时的效率(学习过程,cpu占用率、内存消耗等)

10) 模型有没有人性化的参数调整入口,供运营人员以及测试人员对上线后、上线前进行调整

11) 模型上线后应具有一定的参数调整能力(例如某些权重的调整等。业界今日头条的某些推荐方案一旦效果好,据说会立刻将所有的模型进行模拟升级(切换到相同的模式))。

12) 风险控制,当发现严重问题时如何良好的控制线上的模型,对其进行开关以及升级操作,如上线后若发现难以控制的风险,如需要紧急下线(政策等影响)等问题时,需要有立刻关闭的功能以及关闭前对用户的良好的提示功能。

13) 若此模型并不是单独使用,有没有良好的兼容性(兼容其他模型),遇到错误的使用时如何变现(以及提示方式)

14) 如模型需要与其他模型进行合作才能工作,那应当分开单独进行测试,此模型应该具有良好的接口,和期望输出。测试方法参照上面。然后再测试与其他模型共同工作时的效果

三、AI测试举例:    

3.1、语音识别部分

1) 输入正常的语音

2) 输入有杂音的语音

3) 输入空白语音

4) 输入不同语言的语音

5) 输入长时间语音

6) 输入重复语音

结论:训练好的模型应在使用上满足一定程度的场景,不能答非所问的太离谱

3.2、自优化测试:

1) 将测试集分成2部分(或多部分),第一次输入第一部分然后观察结果,然后再输入第二部分,然后再次输入第一部分,观察输出是否有优化的体现

3.3、性能部分:

1) [在进行语音识别时,观察cpu、内存等占用情况

2) 在语音识别结束观察cup、内存有没有释放等情况

3) 观察识别的时间长短

3.4、友好度测试:

1) 观察在使用时弱网络情况下的提示

2) 观察识别出错时的提示

3) 观察正常时的提示

3.5、风险测试:

1) 功能入口测试(展示和关闭),是否能通过远程直接关闭或开启语音识别功能,升级等

猜你喜欢

转载自blog.csdn.net/weixin_34067980/article/details/87582092