现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

我们不断听到有关测试自动化和连续测试的新解决方案的信息。 这样的解决方案旨在随着产品的发展增加测试自动化的创作以及与这些测试相关的维护。

在这种趋势下,许多软件质量工程师,SDET和测试自动化架构师都在问自己,他们的工作是否处于危险之中,他们的未来前景如何?

在回答这些问题并重新描述现代测试人员角色之前,让我们研究一下ML / AI术语,这些工具背后的算法以及当今的工具格局。

人工智能

人工智能 :有时被称为机器智能 ,是由机器证明的智能,与人类和其他动物所显示的自然智能相反。 在计算机科学中,AI研究被定义为“智能代理”的研究:任何感知其环境并采取行动以最大程度地成功实现其目标的设备。 当机器模仿人类与其他人类思维相关联的“认知”功能(例如“学习”和“解决问题”)时,将使用术语“人工智能”。

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

机器学习

机器学习 :是计算机科学领域的人工智能的子集,通常使用统计技术来使计算机能够“学习”(即,逐步提高特定任务的性能)数据,而无需进行明确的编程。 Mabl的最新博客文章中,ML也被定义为“ 机器学习是指不断向机器展示定义明确的数据样本以便可以开发行为的过程

开发ML / AI的常用方法

  • 渐变体面 –是用于查找函数最小值的一阶迭代优化算法。 使用梯度下降找到函数的局部最小值 ,需要采取与该函数在当前点处的梯度负值 (或近似梯度)成正比的步骤。 相反,如果一个采取步骤正比于梯度的 ,一个函数的局部最大值接近; 该过程称为梯度上升

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

  • 卷积神经网络 –在机器学习中,卷积神经网络(CNN或ConvNet)是一类深层的前馈人工神经网络,最常用于分析视觉图像 卷积层是CNN的核心组成部分。 图层的参数由一组可学习的过滤器组成,这些过滤器的接收场较小,但会延伸到输入体积的整个深度。 在前向通过期间,每个过滤器在输入体积的宽度和高度上卷积,计算过滤器的条目和输入之间的点积,并生成该过滤器的二维**图。 结果,网络学习了在输入中的某些空间位置检测到某种特定类型的要素时**的过滤器。

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

  • 前瞻性和Backchaining –是作为机器学习的一部分 进行 决策领先 模型
      反向链接技术是一种用于教授口语技能的技术 ,尤其是多音节或难听单词。

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

  • 前向后退算法 –一种推论算法,在给定观察序列的情况下,计算所有隐藏状态变量的后边际。 该算法利用动态编程的原理来有效地计算两次获得后边际分布所需的值。 第一遍在时间上前进,第二遍在时间上倒退; 因此,名称为前向后向算法。 第一遍中 ,向前-向后算法会计算一组正向概率,这些正向概率提供在给定序列中的第一个观测值的情况下以任何特定状态结束的概率。 在第二遍中 ,算法计算一组后向概率,这些后向概率提供了在给定任何起点的情况下观察其余观测值的概率。 然后,可以将这两组概率分布组合在一起,以获得给定整个观察序列的任何特定时间点的状态分布

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

ML和AI工具景观

在当今的移动和桌面Web测试环境中,我们看到很少有供应商开始运营。

在不深入研究每个特定解决方案的情况下,以下是提供特定ML / AI解决方案集的供应商列表:

  • Mabl –桌面Web ML测试自动化解决方案,利用chrome附加培训师来构建无代码的测试自动化
  • Testim.IO –桌面和移动Android无代码测试自动化解决方案,该解决方案还使用浏览器加载项来构建强大的测试自动化,旨在解决动态对象的问题
  • TestCraft –用于测试Web应用程序的基于Web的无代码硒测试自动化解决方案
  • Applitools –用于移动和Web应用程序的可视化测试自动化和监视
  • Test.AI –基于ML的移动本机测试自动化
  • Perfecto –基于云的解决方案,用于测试移动本机应用程序和基于Web的应用程序,提供基于AI的报告(带有错误分类)和分析功能,以优化整个CI / CD工作流程。

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用 现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

以上所有这些对现代测试人员意味着什么?

如上所述,近来有许多工具正在开发,目的是解决测试编写,分析和维护问题。 尽管这些都是很棒的计划,它们将在整个DevOps流程中定位更高和更智能的测试,但这并没有转化为测试仪的灭绝。 以上每种工具以及将会出现的新工具都在不断增加,以帮助现有的测试人员变得更加敏捷,更加智能和高效。

今天的AI和ML对测试工程师意味着以下几点:

  • 思维方式的改变–援助人类与取代人类
  • 今天需要现代ML / AI工具和技术方面的培训
  • 使用工具来解决复杂的测试活动,不要忽略现有的测试方法,它们仍然是相关的,并不是所有的ML / AI都支持
  • 让人们控制这些工具,提高生产力–通过拥抱新工具并引领创新,成为DevOps冠军
  • 相应地修改工作流程(通过/不通过标准)
  • AI / ML工具正在解决特定而不是整体的问题-请记住这一点
  • 将适当的AI / ML工具与测试自动化中的现有难题相匹配

现代测试人员在机器学习(ML)和人工智能(AI)时代的作用

翻译自: https://www.javacodegeeks.com/2018/08/machine-learning-artificial-intelligence.html