各位好,我是
非常感谢大家的关注,你们的支持是对我最大的动力。
希望这篇文章对想提高软件测试水平的你有所帮助。
前面的文章里我们已经整体介绍过了人工智能测试的生命周期,它需要经历测试需求的分析、测试环境的准备、数据的准备与验证、测试的执行预分析以及上线后的监控这样一个过程。本文我们就针对第一个环节"需求分析"进行一个详细的介绍。
首先从测试需求分析阶段,这个可以借鉴我们测试需求分析的一些方法,我们需要明确测试的对象、测试的范围、测试的方法和工具等。对于人工智能系统的测试来说,有两点是需要特别注意的:
1、AI系统测试通过的准则,不再仅仅是测试团队的任务,而需要算法开发人员、测试人员、系统运营人员共同参与讨论测试通过准则。
我们刚才也说过,针对人工智能的测试我们很难去确定它的测试到底怎么样才算是通过,怎么样才算是不通过,也就是所谓的"test oracle"的问题。还涉及到一个问题,测试的充分性的问题。在后面的测试技术板块我们会专门讲这两个问题。
我们如何确定测试通过的准则,需要我们的测试团队结合人工智能系统的一些应用场景,进行一些共同参与、讨论,不同的应用场景,测试通过的准则是不一样的。比如一些关乎性命攸关的系统,它测试的准则往往要求会非常的严格,而对于无关性命的系统,它的测试准则就会相应地放宽一些。
2、AI系统的行为或结果无法完全确定或预测,因此还需要开发、测试和系统运营人员共同定义可允许的风险,风险可根据技术的限制和社会共识来确定。
这个跟我们上面讲到的也是相关联的,比如说一个医疗诊断系统,允许的风险就必须要降到非常低,比如说系统的准确率必须要达到99%以上,即使有1%的差错,也有可能导致医疗事故。
但是对于一个一般的人工智能系统,与生命没有什么关系的人工智能系统,比如说识别一个人的年龄、识别花花草草,这种应用即使出错危险也不会特别大。所以一定要根据具体的业务去分析人工智能测试可能带来的风险可能会有哪些,根据这个风险我们再去设计测试通过的准则有哪些。
以上就是需求分析阶段所需要注意的问题,第二个阶段我们需要进行一个测试环境的准备。下面的文章将继续为大家介绍。