您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 其他相关 > 正文

测试人工智能时应考虑的10件事

发表于:2019-12-19 作者:vsky 来源:高阶软件测试

人工智能是一种已经进入人类日常生活的新技术时代,例如Siri,Alexa语音接口等。通过大数据和数据科学促进数据存储的发展,使用户能够进行快速分析和数据处理,恢复。机器学习是机器使软件不断学习将新数据捕获到系统中的新领域。它是一个连续的数据馈送系统,可以帮助机器根据数据模式和启发式学习和运行。当涉及到人工智能系统的测试时,测试团队需要考虑以下十件事:

1)作为一名测试人员,人工智能测试与传统软件测试有何不同?

毫无疑问,具有人工智能的系统无非就是一种软件,但这种软件具有学习和相应改变其行为的能力。传统的软件功能测试涉及针对给定输入集测试预期输出与实际接收到的输出。对于人工智能,预期输出可能会随着一段时间内机器学习的进展而变化。因此,人工智能系统测试不同于传统的软件测试,测试人员应准备好接受此类针对AI的测试程序。

2)什么是AI系统的测试输出?

如前所述,对于同一组输入,人工智能中的输出并不总是相同的。因此,了解系统的基础机器学习模型并相应地更新测试用例非常重要。当数据输入到系统中时,测试人员应该了解机器将如何学习和表现。测试人员应该能够在正面和负面场景中测试AI系统的行为。

3)考虑测试AI系统的法律和道德要求

人工智能系统可能导致开发致命的机器人系统,这可能会对人类造成危害。在设计测试用例和场景之前,应在此全面审查法律,道德和社会要求。测试人员有责任通过进行负面测试来测试AI系统的那些方面,这可能会导致法律,道德和社会问题。因此,人工智能系统测试非常关键,应该非常仔细地进行,以确保我们正在制造对人类有用的机器。

4)AI算法测试

在人工智能中,机器分析数据模式并使用这些模式建立规则(也称为启发式)。这是人脑执行并帮助人做出决定的类似操作。机器在加载数据并分析了模式之后,便会意识到该模式,并在接收到时不断更新其模式。因此,机器的行为及其AI算法不会总是表现出相同的行为,因此我们不能期望输出始终都是100%完美的。这取决于机器根据数据模式在一段时间内开发的启发式方法。

5)测试数据以测试AI算法

机器学习是人工智能的一部分,在机器中,机器根据数据的类型和馈送给它的模式来构建其知识。测试人员应仔细选择他们的测试数据以测试机器学习,从而使它们馈送到机器的数据模式应与馈给AI系统的模式相匹配。

6)AI架构与设计

AI系统测试人员应该对AI体系结构以及系统设计有足够的了解。这是因为它在知道输出将随着AI系统的输入数据模式的变化而变化的事实之后,帮助测试人员设计其测试用例。因此,将AI系统作为黑匣子进行测试应该与体系结构和系统设计的知识有关

7)需要严格测试 人工智能 系统

AI系统的行为不像传统软件,因为它们具有在喂入数据时进行学习的能力。因此,为了对AI系统进行深入分析,重要的是在以不同的模式批量提供数据之后执行严格的测试。更有意义的数据被馈送到机器,它将发展启发法,机器可以执行决策,这是测试人员可以准确测试机器行为的地方。

8)输入相同但输出不同

可以理解,这是AI系统的行为,不能将测试用例声明为失败,因为实际的功能测试应基于模式,规则和试探法,而不是针对同一组输入的行为。在人工智能机器中学习并相应地改变其行为。

9)产出管理至关重要

在AI中,可以通过向其馈送数据模式来动态地改进AI算法。测试机制可以作为训练AI系统并立即研究其影响的机会。训练有素的机器,即改进的算法可以直接用于生产。但是,我们需要确保机器具有针对其用途的必要知识。

10)回归测试

该数据集可用于之前测试过机器模式的回归测试。但是重复测试用例可能不会一次又一次地获得相同的结果。因此,除非对一台全新的AI机器进行回归测试,否则它的生产力可能不那么高。回归测试应基于针对输入到系统的数据集对AI算法行为的测试。

结论

AI测试不同于传统的软件测试,测试人员在测试任何AI系统之前应考虑以上几点。