博舍

人工智能改变软件测试的方式 检测人工智能的测试工具

人工智能改变软件测试的方式

介绍

人工智能(AI)正在彻底改变各个行业,软件测试也不例外。AI正在通过自动执行重复性任务、快速识别问题以及提供数据驱动的见解来改变我们测试软件的方式。本文探讨了AI将如何改变软件测试以及随之而来的好处。

人工智能在软件开发和软件测试中的作用

软件开发和软件测试是软件工程的两个重要组成部分。交付软件的质量在很大程度上取决于开发和测试过程的效率和有效性。近年来,人工智能(AI)已成为软件开发和测试领域的游戏规则改变者。人工智能有可能改变整个软件开发生命周期,从需求收集到发布管理。本文将讨论人工智能在软件开发和软件测试中的作用。

软件开发中的人工智能

人工智能在软件开发中发挥着至关重要的作用。从需求收集到发布管理,人工智能正在帮助软件开发团队优化整个软件开发过程。

要求收集

收集软件开发需求的过程至关重要。了解最终用户的需求对于交付满足他们需求的软件至关重要。人工智能可以帮助自动化收集需求的过程。人工智能可以分析来自各种来源的数据,包括社交媒体、客户反馈和调查,以深入了解最终用户的需求。

代码生成

人工智能在软件开发中最重要的好处之一是代码生成。人工智能可以根据从最终用户那里收集到的需求生成代码。这可以显着减少软件开发所需的时间和精力。人工智能还可以帮助确保生成代码的质量。

测试和调试

人工智能可以帮助自动化测试和调试过程。人工智能算法可以检测软件代码中的错误和漏洞。人工智能还可以生成测试用例并执行自动化测试。这可以显着减少测试和调试所需的时间和精力。

软件测试中的人工智能

软件测试是软件开发的重要组成部分。必须确保软件符合组织设定的质量标准。人工智能在软件测试中发挥着至关重要的作用,使过程更快、更准确、更高效。

测试计划和执行

人工智能可以帮助自动化测试计划和执行过程。人工智能算法可以分析软件代码并识别需要测试的关键区域。人工智能还可以生成测试用例并自动执行。这可以显着减少测试所需的时间和精力。

缺陷检测

人工智能可以帮助检测软件代码中的缺陷。人工智能算法可以分析代码并识别潜在的缺陷。人工智能还可以检测手动测试可能遗漏的缺陷。这可以显着提高软件的质量。

测试结果分析

人工智能可以帮助分析测试结果。人工智能算法可以分析测试结果并提供对软件质量的洞察。人工智能还可以识别测试结果中的模式和趋势。这可以帮助软件开发团队确定需要改进的领域。

人工智能在软件测试中的优势

人工智能在软件测试中的好处很多而且意义重大。以下是一些主要优势:

增加测试覆盖率:AI可用于更快、更高效地执行测试,从而增加测试覆盖率。人工智能工具还可以识别人类测试人员可能遗漏的新测试用例。提高测试精度:人工智能可用于识别和消除误报,减少不必要的错误报告数量。此外,可以训练人工智能识别人类测试人员可能遗漏的边缘案例,从而提高测试过程的整体准确性。更快的测试执行:AI支持的工具可以比人类测试人员更快、更高效地执行测试,从而为开发团队腾出宝贵的时间来专注于其他任务。减少测试维护:人工智能可用于识别和修复不稳定的测试,减少测试维护所需的时间和精力。改进的测试优先级:AI可用于根据测试对系统的影响确定测试的优先级,确保首先对关键功能进行彻底测试。连续测试:人工智能可用于自动化测试过程,允许在整个开发周期中进行连续测试。这有助于在流程中及早发现错误,从而降低修复问题的总体成本。节约成本:人工智能驱动的测试可以显着降低测试成本,因为需要的人力资源更少。此外,人工智能可以帮助在开发周期的早期识别和修复问题,从而降低后期修复错误的成本。人工智能驱动的测试自动化

人工智能改变软件测试的最重要方式之一是通过人工智能驱动的测试自动化。人工智能可用于创建自学测试脚本,无需人工干预即可检测和修复错误。可以训练这些自学测试脚本来识别模式,并且随着时间的推移,它们可以学会识别人类可能遗漏的缺陷。

AI驱动的测试自动化还允许更快、更高效的测试。测试用例可以以更快的速度执行,结果也更准确。这可以为软件开发公司节省时间和金钱,同时确保他们的产品具有高质量。

预测测试

人工智能改变软件测试的另一种方式是通过预测测试。预测测试涉及使用机器学习算法来分析数据和预测潜在问题。AI可以分析来自先前测试周期、错误报告和其他来源的数据,以识别可指示潜在问题的模式。

这种类型的测试可用于在缺陷发生之前进行预防。通过预测潜在问题,开发人员可以主动解决这些问题,从而降低最终产品出现错误的可能性。预测性测试还有助于减少测试时间,因为开发人员可以专注于首先解决最关键的问题。

改进的测试覆盖率

人工智能还可以提高测试覆盖率,这是指软件被测试的程度。传统的测试方法受到可用于测试的时间和资源的限制,这可能导致测试不完整。人工智能可以通过自动化测试任务并使测试能够连续运行来帮助扩大测试范围。

人工智能还可以识别软件中尚未测试的区域,并为这些区域生成测试用例。这有助于确保软件的所有部分都经过彻底测试,从而降低最终产品出现缺陷的可能性。

增强的测试数据管理

测试数据管理是人工智能将改变软件测试的另一个领域。测试数据管理涉及管理测试中使用的数据,包括创建测试数据、识别用于测试的相关数据以及屏蔽敏感数据。

人工智能可以自动化创建测试数据、识别相关数据进行测试以及屏蔽敏感数据的过程。这可以节省时间并提高测试数据管理的准确性。人工智能还可以生成综合测试数据,用于模拟真实场景,提高测试的准确性。

智能缺陷管理

人工智能还可以通过提供智能缺陷管理工具来改进缺陷管理。这些工具可以根据缺陷的严重性和对软件的影响来识别缺陷并确定缺陷的优先​​级。人工智能还可以提供对缺陷根本原因的数据驱动洞察,使开发人员能够解决根本问题。

智能缺陷管理还有助于减少花在缺陷管理上的时间。AI可以自动化识别和分类缺陷的过程,减少花在手动缺陷管理任务上的时间。

人工智能如何用于软件测试?

人工智能可以通过多种方式用于软件测试,包括:

测试用例生成:人工智能算法可以根据需求、规范和用户行为等输入自动生成测试用例。这可以节省时间并增加覆盖率,因为人工智能可以生成人类可能没有想到的测试用例。测试优先级:人工智能可以分析不同测试的影响,并根据它们的重要性和失败的可能性对它们进行优先排序。这可以帮助测试人员首先专注于最关键的测试,并减少识别和修复错误所需的时间和精力。测试执行:人工智能可以通过在不同的配置、平台和设备上运行测试来帮助自动化执行测试。这可以加快测试过程并减少人为错误的机会。缺陷分析:人工智能可以分析测试结果并识别有助于查明缺陷根本原因的模式和相关性。这可以减少修复错误所需的时间和精力,并提高软件的整体质量。维护和回归测试:人工智能可以通过识别软件中发生变化并需要重新测试的区域来帮助自动化维护和回归测试。这可以减少手动回归测试的需要,从而节省时间和精力。人工智能在软件测试中的主要挑战

虽然软件测试中的AI可以带来许多好处,但也需要解决一些重大挑战,以确保其有效实施。人工智能在软件测试中的一些主要挑战包括:

缺乏技术人才:与任何新技术一样,缺乏具备将AI有效集成到软件测试过程中的专业知识的技术人员。如果没有足够的人员来处理AI集成,则存在实施不力和成功有限的风险。与遗留系统集成:许多组织仍在使用遗留系统,这些系统可能与AI驱动的测试工具不兼容。这为将AI集成到测试流程带来了挑战,并且可能需要对新的基础设施和工具进行大量投资。数据质量:人工智能驱动的测试在很大程度上依赖于高质量的数据来提供准确的结果。如果数据不充分或有缺陷,可能会导致不准确的测试结果、误报和遗漏缺陷。偏见和公平:人工智能系统的好坏取决于它们接受训练的数据。如果训练数据有偏见或不能代表现实世界的场景,可能会导致有偏见或不公平的结果。这在测试中使用机器学习模型的情况下尤其成问题,其中有偏见的模型可能导致有偏见的测试结果。缺乏透明度:AI驱动的测试可能很复杂,而且AI系统的工作可能对用户不透明。这可能导致对系统产生的结果缺乏信任,从而阻碍其采用。成本:将AI集成到软件测试过程中可能会很昂贵,无论是在实施该技术所需的初始投资方面,还是在维护和升级系统的持续成本方面。安全问题:软件测试中使用的AI系统可能容易受到攻击,这些攻击可能来自试图利用系统漏洞的黑客,也可能来自试图操纵结果以谋取私利的内部人员。这会产生额外的安全问题,需要解决这些问题以确保测试结果的完整性和准确性。视觉要求ALM平台

VisureSolutions是一个全面的应用程序生命周期管理(ALM)工具,可提供一系列测试功能。它旨在帮助软件开发团队管理软件产品的整个生命周期,从需求收集到测试和部署。

VisureSolutions提供了许多对测试特别有用的功能,包括:

测试管理:VisureSolutions提供了一个集中式平台来管理软件测试的各个方面。可以创建测试用例并将其分配给各个团队成员,并且可以实时跟踪和报告结果。测试自动化:VisureSolutions允许用户使用流行的测试框架(如Selenium和Appium)自动执行测试过程。这可以节省时间并提高测试的准确性。测试覆盖率分析:VisureSolutions提供有关软件产品测试覆盖率的详细报告,帮助团队确保产品的所有方面都经过全面测试。缺陷跟踪:VisureSolutions允许团队在整个测试过程中跟踪缺陷,从最初发现到解决。这有助于确保在发布产品之前解决所有缺陷。与其他工具集成:VisureSolutions可以与Jira等一系列其他测试和开发工具集成。这使得团队能够简化他们的开发和测试流程,并确保所有工具无缝协作。结论

AI正在开创软件开发的新时代,自动化测试可以变得更快、更彻底。通过使用人工智能驱动的工具,软件开发人员和测试人员可以简化他们的工作流程,而无需在资源或人员方面投入大量资金。这可以导致以更快的速度发布更高质量的产品,从而带来更好的客户体验。所有这些都给我们带来了采用AI的主要挑战:组织需要一种有效的方法来将这些强大的技术实施到他们的软件测试实践中。VisureRequirementsALMPlatform提供了一个简单的解决方案。与其免费30日试用版在启用所有功能和24/7全天候专家技术支持期间,您可以即时访问成功部署所需的所有功能,包括高级测试自动化和增强的测试数据管理。不要再等了——立即试用VisureRequirementsALM平台,彻底改变您的软件测试流程!

想测试自己电脑的AI性能不妨试试这个小工具

不得不说,现在的AI实在是太普及了。

远到虽然不知道怎么运行,但一定会用到的天气预报,近到小区门口的人脸识别系统,说人工智能已经遍布生活的每个角落都不过分,甚至包括我们在每年购买电脑、智能手表、智能音箱的时候,也会有“AI性能提升XX%的宣传用语”,但屏幕前的你有没有想过,有没有什么工具可以测试这些设备的AI性能呢?

小米AI音箱(第二代)

领券满600减30满187减3

[经销商] 京东商城

[产品售价] 187元

进入购买

为了缩小难度,这次我们把目光集中到离日常生活相对较近的手机、电脑和服务器上,事实上由于服务器支撑着整个数字社会的建成,因此业界对其AI性能的基准测试也比较完善,MLperf就是其中的典型代表,这是一个用于机器学习(其实大部分模型是深度学习)的性能测试基准,它由图灵奖得主大卫·帕特森(DavidPatterson)联合顶尖学术机构发起成立,也是影响力最广的国际AI性能基准评测。MLPerf的测试主要分为两方面,AI训练基准测试以及AI推理基准测试;而手机这边,也有像AIMark这样使用InceptionV3、ResNet34、VGG16三个特定算法,通过机器识别图片内容,按照概率高低输出可能的结果列表,通过识别速度来判断手机AI性能,进而给出行测试评分的软件。

MLPerf

那么,普通人日常生活中接触最多的电脑呢?

实际上当你用搜索引擎搜索用语电脑的AI测试软件时,会发现基本没多少可用的搜索结果,基本都是针对手机AI性能的测试工具和benchmark软件,但是功夫不负有心人,笔者最近就找到了一个工具,可以让你简单测试一下自己电脑的推理性能,想学的话,下边的内容一定要仔细阅读哦!

首先要说明的是,这个工具是PrincipledTechnologies开发的AIBenchmark工具AIXPRT,该工具支持IntelOpenVINO、TensorFlow和NVIDIATensorRT等工具包,可以使用ResNet-50和SSD-MobileNetv1网络运行图像分类和对象检测工作负载,并且可以自定义工作量和测试精度(INT8,FP16或者FP32)。

当然,要运行AIXPRT,硬件也要满足一定要求,比如系统必须是Windows10以上或者Ubuntu18.04LTS,具体详情可以在PrincipledTechnologies的官网查看。

笔者这里以笔记本上,通过IntelOpenVINO测试CPUINT8精度的ResNet-50和SSD-MobileNetv1推理性能举例,说明AIXPERT的使用方法(使用TensorFlow和NVIDIATensorRT工具包的操作步骤可能会稍微有所不同)。

第一步,通过官方网站下载所需要的数据集包,笔者这里建议大家“对症下药”,如果是给笔记本测试就乖乖选择Laptop选项,不然耗费的时间将十分漫长。

全部选择后下载按钮会点亮

第二步,下载完成之后(例如保存到桌面),解压全部文件,之后打开AIXPRT的install文件夹,复制资源管理器中的路径。

复制该路径

第三步,使用管理员权限打开CMD或者Powershell,输入cd/dxxx并回车,此处的xxx即为刚刚复制的路径,之后输入setup_AIXPRT并回车,此时会开始运行install目录下的setup_AIXPRT批处理文件,为你自动安装所需要的软件Python3.6.5和所需要的依赖项。

一定要使用管理员权限打开

正常情况下,安装成功的界面会如下图所示:

安装成功的截图

如果安装成功,此时就可以关闭CMD了。

这里需要注意的是,如果依赖项总是因为网络问题安装失败,可以自行前往Python官网下载对应的whl文件(一定要认准对应的Python版本号再下载),将其下载到本地之后进行安装。

cp36表示适用于3.6.x版本,win64字样代表Windows64位系统

例如笔者在下载opencv_python依赖项时经常报错,因此就自行下载到了AIXPRT目录下。

这里同样需要复制路径和文件名

那如何安装呢,方法也不难,同样是打开CMD,然后输入cd/dxxx并回车,此处的xxx为whl文件的目录,之后输入pip3installxxxx.whl,此处的xxxx为whl的完整文件名。

成功安装的截图如下图所示:

一定要注意空格

第四步,在成功安装Python和依赖项之后,我们就可以正式运行AIXPRT了,这里我们先使用资源管理器打开AIXPRT文件夹下的Harness文件夹,复制地址。

复制该路径

第五步,管理员权限打开CMD,输入cd/dxxx并回车,此处的xxx即为刚刚复制的路径,之后输入index.py回车,如果依赖项全部安装成功的话,此时的界面会如下图所示

没有报错就等于运行成功

之后静静等待一段时间,AIXPRT会为你生成一个表格,长这个样子:

生成的表格

这份生成的表格主要分这么几个部分:首先是系统信息,这部分会显示你的电脑信息;其次是结果总结,这部分会包含图像识别(ResNet-50)和对象检测(SSD-MobileNetv1)中的最大吞吐量和最小延迟,显然,吞吐量越高延迟越小,AI性能越高;最后则是测试的详细结果,这部分会包含基准测试所测试的每个AI任务配置的吞吐量和延迟结果。报告会显示AIXPRT多次运行每个AI任务(例如ResNet-50、batch1)并展示平均推理吞吐量和相应的延迟百分位数。

ThinkPadX132021锐龙版(R5Pro5650U/16GB/512GB/集显)锐龙5000系列R5Pro处理器,集成显卡,LED背光显示屏,背光键盘

[经销商] 京东商城

[产品售价] 6499元

进入购买

为了直观展示一下不同电脑推理性能的区别,笔者对手头的两台电脑分别跑了一次AIXPRT,并进行了一次横向对比,它们的配置和结果分别如下:

配置图

ResNet-50INT8推理吞吐量(越高越好)

ResNet-50INT8推理延迟(越低越好)

SSD-MobileNet-v1INT8推理吞吐量(越高越好)

SSD-MobileNet-v1INT8推理延迟(越低越好)

由于该测试主要是针对CPU的,因此基本上可以得出这样一个结论,即IntelCorei5-1135G7的推理吞吐量约为AMDRyzen5PRO5650的2.7倍,推理延迟则为后者的40%左右,这样的结果并不意外,毕竟Intel近年来在处理器的AI性能上下了不少工夫,11代酷睿中的VNNI、DP4A以及GNA三大AI加速引擎,就为AI性能的提升贡献了不少力量。

那么,屏幕前的你的电脑推理性能如何呢?欢迎在下方评论区讨论。

联想ThinkPadX13款2021Evo平台13.3英寸轻薄笔记本电脑4G版i5-1135G78G512G08CD

[经销商] 京东商城

[产品售价] 6999元

进入购买

本文属于原创文章,如若转载,请注明来源:想测试自己电脑的AI性能?不妨试试这个小工具https://smartcity.zol.com.cn/783/7839707.html

纠错与问题建议标签:笔记本电脑https://smartcity.zol.com.cn/783/7839707.htmlsmartcity.zol.com.cntrue中关村在线https://smartcity.zol.com.cn/783/7839707.htmlreport4774不得不说,现在的AI实在是太普及了。远到虽然不知道怎么运行,但一定会用到的天气预报,近到小区门口的人脸识别系统,说人工智能已经遍布生活的每个角落都不过分,甚至包括我们在每年购买电脑、智能手表、智能音箱的时候,也会有“AI性能提升XX%的宣传用语”,但屏幕前的...

推动自动化的人工智能测试工具

在测试自动化中使用人工智能是主导质量保证行业的最新趋势之一。事实上,在Capgemini题为《2020-2021年世界质量报告》的调查中,21%的IT领导者表示他们正在以某种形式在他们的测试方法中实施人工智能,而只有2%的人表示人工智能不参与他们的未来规划。

[[440937]]

话虽如此,很容易得出结论,人工智能将在未来几年对测试自动化产生重大影响。由于更快的产品发布和出色的客户体验决定了企业的成功,因此公司必须在进入市场之前测试其软件应用程序。通过在测试自动化框架中实施人工智能,测试人员可以看到以下好处:

更快的发布周期从手动测试执行到自动执行的平滑过渡

应用于软件测试的人工智能最重要的基础包括神经网络和机器学习。当结合使用或单独使用时,这些AI子类型可以通过以下方式帮助软件测试过程:

在与被测系统(SUT)交互时发现可操作的见解将测试练习的结果分类为可能的缺陷计算结果转化为缺陷的可能性将事件和活动与结果联系起来人工智能在软件测试中的作用

AI影响软件测试涉及两个步骤。第一个是训练系统,第二个是测试的实施。驱动当今所有“智能”产品的人工智能应用程序以观察者的身份开始生活。他们接受了人类工程师过去的行为,并被教导根据这种经验区分最佳结果和糟糕结果。随着时间的推移,他们通过模仿正确的行为并摒弃错误的行为来获得人类的判断力。

结果是一个具有令人印象深刻的属性列表的QA工具。它可以:

开发自动化框架创建页面库生成对象存储库自动化UI验证脚本自动适应应用程序UI的变化在一分钟内生成数千行代码与CI/CD和Git源代码存储库集成生成直观的执行状态报告

适应和智能响应变化的能力是自动化测试的一个主要好处。确信您的应用不会因UI元素的移动或开发而中断,或者您可以在几分钟内跨平台、操作系统和浏览器处理数千个回归测试,最终节省时间和资源。

AI测试工具的好处

自动化测试中的人工智能可以大大提高测试团队的效率。创建大量新测试用例可能会导致系统过载,从而导致延迟从测试结果中检索可操作的见解,从而减慢产品发布和更新速度。人工智能和自动化测试可以很好地协同工作,带来以下好处:

自动化测试用例编写:AI提供易于处理和运行的精确测试用例,而不是运行大型测试套件来检测小错误。通过人工智能自动化,测试人员运行最少数量的测试来确定代码更改的影响。自动生成API测试:API评估有助于衡量在数据库和服务器之间通信的程序之间的交互质量。通过使用人工智能,测试人员可以分析连接应用程序的功能,检测潜在的风险区域并创建测试用例。预测分析:人工智能可以使用现有的客户数据来预测用户行为将如何演变。这有助于软件开发人员创造更好的产品和客户体验,以留住客户和新客户。识别Selenium测试中的错误:虽然Selenium是最好的测试自动化框架之一,但它是一个复杂耗时的过程,其中最小的错误可以抵消所有测试进度。AI识别这些损坏的方面并修复它们。例如,如果技术错误延迟或停止了测试过程,那么人工智能将识别问题并修复它。AI有助于自动修复Selenium测试,并提供有关改进案例的智能见解。人工智能测试自动化工具

这些人工智能测试工具可以开箱即用,也可以适应团队的特定环境。但是,为了获得最佳结果,您应该将它们交到QA专家(原始创作者和教师)手中。

下面列出的工具是利用AI扩展QA工作最有效的一些工具。每个都有自己的优点和缺点,并且与任何工具一样,当您将它们交给熟练的工程师时,您会获得更好的结果。

功能化

作为最近1600万美元A系列投资的受益者,Functionize是一种基于云的AI测试工具。它使用自然语言处理进行测试创建,通常用于API和UI测试。它可在Chrome、Safari、Firefox和Edge浏览器以及包括Android和iOS在内的一系列操作系统上运行。

马布尔

Mabl是另一家赢得投资者信任的AI初创公司,这次获得了2000万美元,同时也是一个基于云的测试工具,专门研究Web的所有事物。它通过使用机器学习来搜索UI以查找Javascript错误、断开的链接,当然还有错误,从而使功能测试变得更容易。

•Appvance.ai

Appvance承诺无需编写脚本或编码即可实现自动化测试。在自动检测应用程序的工作方式并获取其库后,它会测试Javascript网络和移动网络中的关键功能和验证。它与流行的测试工作流程集成,包括Jenkins、TeamCity、Git、Jira等。

Test.ai

这个由人工智能驱动的测试工具是一个移动应用程序专家,与此列表中的其他工具一样,具有“无需编码或维护”的承诺。测试机器人能够独立探索应用程序并生成自己的测试输入来分析功能,就像人类工程师在进行UI测试时所做的那样。

重新测试

ReTest主要用于性能回归测试,无需您的测试人员具备任何编程技能。与上述大多数工具一样,该工具会自动搜索和测试应用程序,执行简单的“前后”元素比较。

证明

Testim旨在让您的产品团队可以访问自动化测试。它用于跨功能、端到端和UI测试使用自然、直观的语言创建、执行和维护测试用例。它是动态的而不是静态的定位器,即使元素属性发生变化,测试也能持续运行。

应用工具

Applitools专为Web和移动设备上的可视化UI回归测试而设计,是一种AI尝试,旨在消除对时间和资源消耗的手动UI测试的需求。作为一个回归工具,它的主要目的是确认用户评价的屏幕和页面在测试之间没有改变。它是为一系列SDK开发的,包括广受欢迎的Selenium。

 

我们探索的所有AI测试工具都试图扩大自动化测试的有效范围。与我们自己的自动化引擎一样,他们可以以远高于人类可能的速度测试具有多种数据组合的场景。当QA专家正确部署时,它们可以使您的团队更加敏捷,并且能够更好地快速响应关键错误。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇