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

  点击上方关注,All in AI中国

  学会区分人工智能和机器学习,并了解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