分享

人工智能提高软件质量的3种途径

 天承办公室 2020-04-08

马克·安德森有句名言:软件正在吞噬世界。如今,每个公司都必须首先成为一家软件公司,这一观念几乎算不上激进。

然而,尽管企业在产业投资深他们的软件功能,他们现在在现代软件开发和部署的复杂性——软件分发,以连续的方式释放,越来越多的代码本身包括机器学习的各个方面,使测试和QA函数更具有挑战性。

如今,大多数企业实验室都要求工程师编写测试脚本,他们的技术技能范围必须与编写原始应用程序的开发人员相等。这种质量保证方面的额外开销与软件本身日益复杂的特性相对应;目前的方法只能被越来越多的智能系统所取代。从逻辑上讲,人工智能系统将越来越需要测试和迭代本身包含智能的系统,部分原因是输入和输出的可能性阵列令人困惑。

人工智能在软件测试中已经以多种方式得到应用。以下是人工智能最直接影响的三个领域:

回归测试

测试的一个方面,特别适用于人工智能是回归测试,软件生命周期的一个重要部分,验证之前测试模块继续函数可以预见代码修改后,作为保障,没有引入新的错误在最近的周期对被测试的应用程序的增强。回归测试的概念使其成为人工智能和自主测试算法的理想目标,因为它利用了以前测试周期中收集的用户断言数据。从本质上讲,回归测试本身可能会为未来的深度学习应用程序生成自己的数据集。

目前的人工智能方法,如分类和聚类算法,仅仅依靠这类主要重复的数据来训练模型和准确预测未来的结果。下面是它的工作原理。首先,使用一组已知的输入和经过验证的输出来设置特性和训练模型。然后,保留一部分具有已知输入和输出的数据集用于测试模型。将这组已知输入输入输入到算法中,并将输出与经过验证的输出进行核对,以计算模型的精度。如果精度达到一个有用的阈值,那么该模型可以用于生产。

机器视觉

让计算机可视化他们的环境可能是人工智能在现实世界中应用的最著名的方面。虽然这在自动驾驶汽车的上下文中是最常见的理解,但是机器视觉在软件测试领域也有实际的应用,最明显的是它与用户体验和网页呈现方式有关。确定网页是否被正确呈现对于网站测试是至关重要的。如果布局中断或控件呈现不当,内容可能变得不可读,控件可能变得不可用。考虑到可能的设计、设计组件、浏览器变化、动态布局变化的巨大范围,即使是训练有素的测试人员,也可以挑战高效可靠地评估呈现正确性,或者在呈现问题影响功能时识别。

基于人工智能的机器视觉非常适合这些类型的任务,可以用来捕获可复审的页面呈现的“幻灯片”(因此不需要手动或自动获取屏幕截图)。通过将页面划分为区域的决策树分析呈现,然后调用一系列可视化处理工具来发现、查询和分类页面元素。

智能测试用例生成

定义软件测试用例是每个软件开发项目的一个基本方面。然而,我们不知道我们不知道什么,所以测试用例通常局限于以前见过的场景。一种方法是提供一个用自然语言编写的测试用例的自治测试解决方案,它将自动创建测试脚本、测试用例和测试数据。

在目前正在探索的各种技术中,人工神经网络显示了将大数据集用于回归测试计划设计的最大潜力。多层神经网络现在通过测试应用程序进行训练,首先使用符合规范的测试数据,但是随着测试周期的继续,累积的数据扩展了测试潜力。经过多次回归测试周期后,神经网络成为被测应用程序的活模拟模型。

随着人工智能更深地嵌入到下一代软件中,开发人员和测试人员需要结合人工智能技术来确保质量。虽然想象一个程序如何训练自己来测试你的应用程序可能是一个可怕的前景,但这就像几年前语音识别和自然语言处理一样不可避免。

转载请注明:新机器视觉 » 人工智能提高软件质量的3种途径


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多