人工智能技术在移动终端自动化测试中的运用探析

【www.zhangdahai.com--其他范文】

全华斌,张宙

中移动信息技术有限公司,广东广州,510640

因为早期的移动终端测试依赖人工,所以人工在工作能力上的局限性对工作质量、效率等造成了很大的影响,人工测试逐渐无法满足人们的需求。这种现象在很长一段时间内愈演愈烈,而相关组织也很早就意识到了问题的存在,并积极地探索摆脱人工模式的方法。在这样的背景下,移动终端自动化测试概念应运而生,它的出现确实给测试工作带来了很多帮助,使其对人工的依赖程度降低。但移动终端自动化测试也存在缺陷,例如只能根据标准流程运作,无法随实际情况来改变测试方式,说明自动化测试依然对人工有依赖。从这一角度看,人工的局限性依然会在一定程度上对测试工作造成影响,也说明移动终端自动化测试并不尽善尽美,还有很大的发展空间。此时,人工智能技术的逐渐成熟与普及带来了发展的契机。人工智能技术就是模拟人工思维逻辑进行运作的技术,说明其至少在部分场合下是能够代替人工对问题进行思考、再做出决策与行动的,因此该项技术的运用过程中无需人工插手,这样人工能力的局限性就不会对实际工作造成影响。结合这一思路,测试领域开始关注人工智能技术,希望将其运用到自动化测试当中,为实现这一点,有必要展开相关研究。

1.1 移动终端自动化测试概述

移动终端自动化测试是终端产品开发过程中的一个重要环节,目的是确认产品是否合格、是否存在缺陷,以便不间断地进行调试,保障产品质量。该环节又可以分为多个板块,比较主要的是软件测试、硬件测试、结构测试等。以软件测试为例,人工需要通过自动化技术对软件的性能进行全面测试,一般包括功能测试、稳定性测试、兼容性测试、压力测试、启动时间测试、平滑性测试、跑分测试七个步骤,如果某步骤的测试结果不达标,就说明软件存在缺陷,需要进行针对性的改进,最终输出高质量软件产品。在各步骤的测试当中,自动化测试端的基本流程共分为三个步骤:①模拟用户行为进行测试;
②结合标准指标判断测试数据是否存在异常,任何不达标数据都会被判定为异常;
③采集测试数据,集成后通过数据可视化技术向人工输出[1]。

移动终端自动化测试暴露出了两方面的缺陷。首先,因为测试过程中经常会出现数据反复、测试周期长的现象,且移动终端自动化测试只负责输出结果,并不负责对结果进行判断,判断工作依赖人工,而人工面对庞大数据难免会出现错误,所以人工能力的局限性会对工作造成影响。同时,普遍案例显示自动化测试在不断的运行当中存在脚本维护时间过长、控件元素定位不准确、上手使用难度较大等缺陷,还不具备大数据处理能力,运作效率很低。其次,移动终端自动化测试过程中经常会出现一些问题。例如因为不断的调试使得版本频繁更新迭代,而每次版本更新都会导致上一次的坐标点击方案不适用,所以需要不断地进行适配;
在UI界面为图片时,因为元素属性不能识别而导致UI控制操作无法展开;
模拟用户行为时,主要使用的图像匹配方法不能提取文字信息,导致结果分析难以进行等。可以看出,移动终端自动化测试现已无法满足人们的需求,需要得到改进。

1.2 移动终端自动化测试与智能技术的关系

因为移动终端自动化测试存在缺陷,所以已经有研究人员为了改进缺陷而展开了研究工作,而多数研究工作都是围绕人工智能技术展开的,根本目的是通过智能技术弥补自动化测试的缺陷,但要做到这一点就必须了解两者之间的关系。现有研究得出了一些结论。例如,移动终端自动化测试在自身不断运作中会产生大量的数据,这些数据可以作为输入元进入智能系统,使得智能系统得到训练,一段时间之后智能系统就能对实际情况进行识别,并给出决策建议,说明两者关系紧密,移动终端自动化测试是智能技术训练要素的来源,而智能技术则可以给自动化测试相应的逻辑支撑。在此基础上,人工智能技术的介入将大幅降低移动终端自动化测试对人工的依赖度,因此人工能力的局限性对于测试工作的影响力会大幅降低,使得工作效率提升、工作质量更加稳定。同时,人工智能强大的数据信息分析能力,可以弥补移动终端自动化测试中的相关缺陷,解决当前的重点问题,例如人工智能可以随着软件版本更新而自动改变坐标点击方案,自主消除坐标点击方案不适配的影响,且方案的改变无需人工插手[2]。

2.1 运用准备

为了发挥人工智能技术的作用,解决移动终端自动化测试中的问题,需要先做好自动化测试中人工智能技术的运用准备工作。对此按照本文思路:以Python语言编程平台为基础,选择卷积神经网络模型用于识别文字、图像,展开了两项准备工作。①对卷积神经网络的输入属性(参数值、阈值等)进行不断调试,根据结果对每次调试后的模型有效性进行判断,即如果能输出合格的结果,就说明神经网络调试完成;
②使用Python语言进行人工智能编程,即结合Python标准库,使用Python开源库requests等进行编程,实现数据分析功能。在以上思路下,本文对人工智能技术下的移动终端自动化测试系统进行了初步检测,结果显示在人工智能技术作用下,测试系统的数据处理能力大幅提升,可以在短时间内处理海量数据,且处理输出结果的准确度很高,同时也具备提取文字信息、识别图像信息等功能,解决了以往纯粹自动化测试的缺陷与问题[3]。

2.2 运用优势

人工智能技术在移动终端自动化测试中的运用优势主要体现在以下两个方面。

(1)人工智能技术具有极强的数据处理能力,无论是性能还是功能都远超自动化测试系统。人工智能最初的开发目标就是用于处理大数据,而大数据的基本特征就是数据量级庞大,因此从技术开发初期,人们对该项技术的基本要求就是必须具备高效处理海量数据的能力。经过长年累月的开发,该项技术早已具备了这种能力,能够在几十秒内对百万MB甚至亿级的数据进行处理,且能够保障处理结果稳定,之后的各项人工神经网络技术都保留了这一特性,而这些无论是人工还是自动化系统都无法做到,这也是导致传统自动化测试存在缺陷的主要原因之一。

(2)人工智能技术具备自主学习能力,该能力是智能技术与自动化技术最大的区别。自动化技术不具备自主学习能力,因此只能按照预先设定好的流程运作,但预先设定好的流程无法覆盖所有应用场景,每次遇到新场景就需要人工重新设计流程,这个过程非常繁琐,会导致自动化测试无法应用于新场景;
而智能技术将通过自主学习功能,快速分析新场景的特征,然后在不断的训练当中得出适合新场景的运作逻辑、方案等,这样就能生成符合当下场景的逻辑,过程无需人工插手,且效率极高。

2.3 运用方法

在移动终端自动化测试当中,需要相关人员掌握人工智能技术的运用方法,本文以图像、文字识别为例,介绍一种以卷积神经网络为基础的图文识别方法,具体内容如下。在移动终端自动化测试当中会遇到很多产品类型,同时每一类产品都会不断进行版本更新,要对其进行测试就要借助特定的技术手段。传统的做法是通过UIdump去采集自动化测试的界面控件元素,再根据各项控件元素的属性提取其具体业务数值,这样就能得到界面坐标,然后执行自动化测试流程,过程中主要的模拟测试方法就是模拟用户操作时的点击,这种模拟测试方法被称为坐标点击法,而该方法存在缺陷,适配性不好。同时,在测试当中还要对UI元素的属性进行识别,识别方法为通过UIdump界面的元素属性识别空间来进行识别,但这个空间的适用性不强,在Octane、Basemark OS、Base Mark X等方面无法使用该方法进行识别。

除此以外,针对传统方法的不足,相关领域人员还提出过一些改进方法。例如图像匹配识别法,该方法主要通过Airtest测试框架,采用图像匹配度原理来模拟用户操作,这种方法确实能有效解决操作模拟中的缺陷,但加剧了文字信息识别上的缺陷,即该方法无法对图像中的文字进行数据采集。这一缺陷对于测试结果的质量有很大的影响,原因在于要高效地进行测试并得到准确结果,就必须对文字进行识别,否则在测试结果分析当中就会出现局部无法识别的现象。对此,人们也尝试过在图像匹配识别法的输出结果基础上,使用图像文字识别方法(如图像匹配算法),一般是借助Open CV计算机视觉库,使用其中的Python、Ruby等语言接口,对图像中的文字进行检测,检测原理是文字区域检测、特征值提取等。该方法在现代自动化测试中的应用非常广泛,但其存在识别准确性不高的问题[4]。

可以看出,以往测试中的各种方法都存在缺陷,而在人工智能技术的基础上,人们可以借助卷积神经网络模型来解决问题。卷积神经网络是人工智能的基础逻辑支撑,属于深度神经网络的一种,具有自动化特征提取的特点,因此可以将其定义为自动化提取数据特征的机器训练模型。在该模型基础上采用Python编写CNN文字图像识别功能,再依靠Caffe、Torch等主流框架支撑模型运作,促使其开始机器学习活动,最终借助Keras神经网络库获得预训练权值来更新机器学习,使得模型能够更加准确地对数据进行处理、识别。经过测试,该模型能够准确识别图像与文字,准确率均值为98.9%。

2.4 功能实现方法

为实现以上功能,首先根据卷积神经网络的结构进行功能开发。卷积神经网络是典型的前馈型神经网络,因此在模型结构上可以分为输入层、隐含层、卷积层、输出层四个部分,下面先针对四个部分进行作用定义。输入层的主要作用是预处理原始图像数据,预处理方式有去均值、归一化、白化。隐含层的主要作用是支持局部关联、窗口滑动,促使各项输入数据在该层中交互,形成密集、全面的数据关系,同时隐含层内部有激励机制,该机制能够映射卷积层的输出结果,映射形式为非线性。卷积层的主要作用是进行资源池化与卷积运动,其中资源池化的主要作用是压缩数据和参数量级,可避免拟合过小的现象发生,并赋予所有输入数据权重值,使它们能够按照权重进行连接,且连接后会汇集在模型尾部,在此基础上就能很好地对原始图片进行处理;
处理方式是按照原始图片的大小,设定一个大小相同的区域,然后将两者重叠,重叠后将相关元素相乘并求和,每完成一个区域的计算后,就向其他区域移动,直到完成全部区域的计算,这个过程就是卷积运动。输出层的主要功能就是输出卷积层中的结果,但在输出数据之前会对图片进行特征识别,例如识别图片、文字的边界,并按照识别结果进行输出[5]。

然后可以开始设计图像、文字的识别流程,本文的流程设计将在Keras中展开,共分为三个步骤:①优先选择符合现实要求的准备库,例如Keras、PIL等,同时考虑到这些库的应用要求,需要在Python3.5环境下进行库安装;
②库安装完毕后要导入PIL图像处理标准库,同时在标准库中引入Keras卷积模块,例如Dropout、Conv2D等;
③要在数据输入卷积神经网络之前对数据进行格式化处理,然后对格式化的数据进行浮点数张量预处理,流程为读取图像文件→解码RGB像素网格→转换为浮点张数→像素缩放为0-1区间。同时,在预处理过程中应当选择性能良好的处理工具,本文选择的工具是Tensor Flow API Keras中的Image Data Generator,该工具具有自动化特征,处理效率和结果准确性都有保障。

最后,使用Keras来实现图像、文字识别模型,该模型在自动化测试中如果遇到自定义控件、图片、悬浮界面等传统方法可能无法准确获取文字信息的场合时,不会出现无法获取文字信息的现象,反而会对图像进行深化处理,提高文字信息的清晰度,然后再获取文字信息的基本特征,由此识别文字。在用户模拟测试当中,可以通过图像获取封装文字,然后对其进行识别,如果识别结果与截图控件所得文本相符,那么就会进行点击操作,自动生成全新的坐标点击方案,无需人工插手,完成后即可得到准确的测试结果。

综上所述,因为以往的移动终端自动化测试存在缺陷,所以相关人员应当积极改进,而人工智能技术就可以作为测试改进的手段之一,运用该项技术可以消除以往的缺陷、解决相关问题,使终端测试效率提升、质量得到保障,说明该项技术具有一定的应用价值,值得推广。

猜你喜欢 卷积人工神经网络 人工3D脊髓能帮助瘫痪者重新行走?军事文摘(2022年8期)2022-11-03基于全卷积神经网络的猪背膘厚快速准确测定农业工程学报(2022年12期)2022-09-09基于神经网络的船舶电力系统故障诊断方法舰船科学技术(2022年11期)2022-07-15MIV-PSO-BP神经网络用户热负荷预测煤气与热力(2022年2期)2022-03-09基于改进Hopfield神经网络的对地攻击型无人机自主能力评价北京航空航天大学学报(2021年4期)2021-11-24一种基于卷积神经网络的地磁基准图构建方法北京航空航天大学学报(2021年9期)2021-11-02基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02一种并行不对称空洞卷积模块①计算机系统应用(2021年9期)2021-10-11人工“美颜”哈哈画报(2021年11期)2021-02-28三次样条和二次删除相辅助的WASD神经网络与日本人口预测软件(2017年6期)2017-09-23

推荐访问:探析 终端 人工智能

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0427/590068.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!