学会区分人工智能和机器学习,并了解QA测试方法

尽管科幻小说的繁荣源于我们对机器人恶意接管的恐惧,但智能设备绝不是反乌托邦的——它们的存在实际上是为了让我们的生活更轻松,这样我们才能把更多的时间花在重要的事情上,而不是单调乏味的忙碌工作。

智能手机、智能音箱、智能汽车、智能咖啡机……这样的例子不胜枚举。似乎我们周围的一切都变得鲜活起来,聪明起来。尽管科幻小说的繁荣源于我们对机器人恶意接管的恐惧,但智能设备绝不是反乌托邦的——它们的存在实际上是为了让我们的生活更轻松,这样我们才能把更多的时间花在重要的事情上,而不是单调乏味的忙碌工作。
学会区分人工智能和机器学习,并了解QA测试方法

科技公司知道,提高自动化水平是未来的发展方向,就像当年福特率先推出装配线一样。像人工智能(AI)和机器学习(ML)这样的先进技术正在推动近代史上最令人兴奋的创新——思考自动驾驶汽车、虚拟现实和增强现实、自动化投资、改进医学成像等等。这项技术的好处越来越明显,各个公司都在争先恐后地采用这项技术,并将其应用到自己的产品中。

随着这项技术开始在敏感、高风险的领域(如汽车、医疗和金融行业)变得越来越普遍,DevOps团队采取强有力的方法来进行QA测试是至关重要的。当公共安全、客户生计或病人数据存在风险时,即使是最聪明的算法也必须由人类工程师反复检查。

在深入研究智能产品测试方法之前,让我们先区分一下人工智能和机器学习。虽然这些术语经常互换使用,但它们之间存在一些关键差异。
学会区分人工智能和机器学习,并了解QA测试方法

简单地说,人工智能指的是一个系统,它以我们人类认为聪明或高效的方式执行任务,而机器学习是自动化的,利用已有数据的系统,持续执行自我训练。

测试人工智能系统

挑战和潜在的并发症

  • 大量收集的数据带来了存储和分析方面的挑战——清除这些数据非常耗时。
  • 数据可能是在意外事件或情况下收集的,因此很难收集用于培训。
  • 人类的偏见可能出现在训练和测试数据集中。
  • 在AI系统中,缺陷会迅速恶化并变得更加复杂。

测试的主要方面

  • 数据验证

成功AI的关键是良好的数据。在将数据提供给AI系统之前,应该对数据进行清洗、清理和验证。您的QA团队应该警惕可能使系统对数据的解释复杂化的人为偏见和多样性——例如汽车导航系统或智能手机助手试图解释一种罕见的口音。

  • 算法原理

AI的核心是算法,它处理数据并生成见解。一些常见算法涉及学习性(Netflix或Amazon学习客户偏好并提供新推荐的能力)、语音识别(智能扬声器)和现实世界的传感器检测(自动驾驶汽车)。

这些需要通模型验证进行全面的测试,测试可学习性是否成功,算法是否有效,核心理解是否正确。如果算法存在问题,将来肯定会带来更严重的后果。

  • 性能和安全性测试

与任何其他软件平台一样,AI系统需要密集的性能和安全性测试,以及法规遵从性测试。如果没有适当的测试,利基安全漏洞(使用录音来欺骗语音识别软件或聊天机器人进行操作)将变得更加普遍。

  • 系统集成测试

AI系统可以连接到其他系统并在更大的环境中解决问题。为了使所有这些集成正常工作,有必要对AI系统及其各种连接点进行全面评估。随着越来越多的系统吸收AI特性,对它们进行仔细测试至关重要。

测试机器学习系统

学会区分人工智能和机器学习,并了解QA测试方法

ML系统的目标是在不进行显式编程的情况下独立获取知识。这需要将一致的数据流反馈到系统中——这是比传统测试基于(固定输入=固定输出)更加动态的方法。因此,质量保证(QA)专家需要从不同的角度为ML系统实施测试战略。

训练数据是用于训练系统模型的数据集。在这个数据集中,输入数据与预期输出一起提供。这通常是通过半自动的方式收集的数据。

测试数据是训练数据的子集, 逻辑构建用于测试所有可能的组合并确定模型的训练程度。根据测试数据集的结果,对模型进行微调。

应该创建测试套件来验证系统的模型。主算法分析所有提供的数据,寻找特定的模式,并使用结果来开发最优参数来创建模型。在此基础上,随着迭代次数的增加和数据的丰富性增加,它将得到细化。

QA工程师习惯于用质量来表达测试结果,例如缺陷泄漏或缺陷严重性。但是基于机器算法的模型验证将产生近似结果,而不是精确结果。工程师和涉众需要确定可接受的保证级别。

来源How to QA Test Software That Uses AI and Machine Learning – DZone AI

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(2)
上一篇 2019-09-27 09:05
下一篇 2019-10-08 09:45

相关文章

关注我们
关注我们
分享本页
返回顶部