测试AI时需要考虑的10件事

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

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

测试AI时需要考虑的10件事

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

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

4)AI算法测试
在AI中,机器分析数据模式并使用这些模式来构建规则,也称为启发式规则。这是人类大脑所做的类似操作,有助于人类做出决定。机器在加载数据并分析模式后,它会了解模式,并在收到模式时自行更新模式。因此,机器的行为及其AI算法不会总是表现得相同,因此我们不能指望输出始终是100%完美的。它取决于机器基于数据模式在一段时间内发展起来的启发式方法。

5)测试数据以测试AI算法
机器学习是人工智能的一部分,机器根据数据的类型和输入的模式来构建自己的知识。测试人员应仔细选择他们的测试数据来测试机器学习,以便他们输送到机器的数据模式应该与AI系统的预期输出相匹配。

6)AI架构和设计
AI系统测试人员应该对AI架构以及系统设计有充分的了解。这是因为在知道输出随着输入数据模式到AI系统的变化而变化的事实之后,它将帮助测试人员设计其测试用例。因此,将AI系统作为黑盒测试应该涉及架构和系统设计方面的知识。

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

8)输入相同但输出与以前不同
这是 AI 系统的理解行为,测试用例不能被声明为失败,因为实际的功能测试应该基于模式、规则和启发式而不是针对同一组输入的行为。在人工智能机器中相应地学习和改变其行为。

9)输出管理至关重要
在AI中,可以通过向其提供数据模式来动态地改进AI算法。测试机制可以作为训练AI系统并立即研究其影响的机会。训练有素的机器即改进的算法可以直接用于生产。但是,我们需要确保机器具有所需的知识。

10)回归测试
该数据集可用于之前测试过机器模式的回归测试。但重复测试用例可能不会一遍又一遍地获得相同的结果。因此,除非它是为一个全新的人工智能机器做的,否则回归测试可能不那么有效。回归测试应该基于AI算法行为,对被馈送到系统的数据集的测试。

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

由 ruink 译自 《10 Things To Consider When Testing Artificial Intelligence》 一文。



留言