CN110515829A - 应用测试方法、装置、设备及计算机可读存储介质 - Google Patents
应用测试方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110515829A CN110515829A CN201910623791.6A CN201910623791A CN110515829A CN 110515829 A CN110515829 A CN 110515829A CN 201910623791 A CN201910623791 A CN 201910623791A CN 110515829 A CN110515829 A CN 110515829A
- Authority
- CN
- China
- Prior art keywords
- test
- code
- page code
- function
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及测试技术领域,提供一种应用测试方法、装置、设备及计算机可读存储介质,该方法包括:在接收到基于混合模式应用Hybrid App的测试请求时,获取测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;通过所述测试用例对所述Hybrid App进行测试,并通过预设监测器监测和记录所述H5页面代码的被执行情况;将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。本发明可实现对未测试功能的智能检测,提高了测试覆盖检查的效率,保证测试的顺利进行,有利于帮助测试人员快速找到风险点,降低故障风险。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种应用测试方法、装置、设备及计算机可读存储介质。
背景技术
Hybrid App(混合模式应用)是指介于web-app、native-app两者之间的app;其是在native app里内置浏览器,对于合适的功能页面采用网页的形式呈现;而在开发HybridApp的过程中,往往需要会对Hybrid App进行黑盒测试。
目前,对Hybrid App测试的一般流程是由测试人员根据经验人工编写测试用例(案例),再通过这些测试用例(案例)进行测试。但这种人为编写测试用例难免会出现疏漏,导致编写的用例没有覆盖Hybrid App的全部功能点;从而使得部分功能点没有经过检测,这就增大了异常风险,因此对于测试用例,需要进行测试功能覆盖的检测;但是,目前对测试案例的功能覆盖的检测一般是通过评估人员人工查看和评估的方式,因而在检测过程也难免会出现疏漏,从而遗漏了对某个功能点的覆盖检查,降低了检测的准确性。
发明内容
本发明的主要目的在于提供一种应用测试方法、装置、设备及计算机可读存储介质,旨在解决应用测试过程中,对测试用例的功能覆盖检测准确性低、容易遗漏功能点的技术问题。
为实现上述目的,本发明提供一种应用测试方法,所述应用测试方法包括:
在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
可选地,所述通过所述测试用例对所述Hybrid App进行测试的步骤包括:
根据所述测试用例的语言类型确定对应的语法规则,并根据所述语法规则对所述测试用例进行解析,确定所述测试用例的操作含义;
根据所述操作含义查找对应的终端控件信息,并根据所述操作含义和所述终端控件信息生成控件操作逻辑;
将所述控件操作逻辑封装为对应的终端测试指令,并将所述终端测试指令发送至所述Hybrid App的载体终端,以对所述Hybrid App进行测试。
可选地,所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤包括:
将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码查询所述H5页面代码对应的代码功能注释,以确定所述H5页面代码的未测试功能;
所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤之后,还包括:
根据所述未测试功能生成对应的待测试功能列表,并将所述待测试功能列表发送至对应的用例制作端。
可选地,所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤之后,还包括:
分别统计所述H5页面代码的代码总行数和所述未执行代码的未执行代码行数,并根据所述代码总行数和未执行代码行数计算所述测试用例的测试遗漏率。
可选地,所述通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况的步骤之后,还包括:
根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数;
根据所述已测试功能获取对应的预设标准参数,并将所述预设标准参数与所述测试性能参数进行比对,判断所述测试性能参数是否异常;
若所述测试性能参数异常,则输出对应的警告提示。
可选地,所述根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数的步骤之后,还包括:
获取报告模板,并根据所述已测试功能和所述测试性能参数对所述报告模板进行填充,获得测试性能报告。
可选地,所述获取报告模板,并根据所述已测试功能和所述测试性能参数对所述报告模板进行填充,获得测试性能报告的步骤之后,还包括:
在接收到基于所述测试性能报告触发的历史对比指令时,根据所述历史对比指令确定目标比对功能;
在所述测试性能报告中获取所述目标比对功能对应的测试版本性能参数,并查询数据库,获取所述目标比对功能对应的历史版本性能参数;
获取预设比对图表模板,并根据所述测试版本性能参数和历史版本性能参数设置所述对比图表模板的图表属性,获得性能比对图表。
此外,为实现上述目的,本发明还提供一种应用测试装置,所述应用测试装置包括:
请求接收模块,用于在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
测试记录模块,用于通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
第一确定模块,用于将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
此外,为实现上述目的,本发明还提供一种应用测试设备,所述应用测试设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的应用测试程序,其中所述应用测试程序被所述处理器执行时,实现如上述的应用测试方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用测试程序,其中所述应用测试程序被处理器执行时,实现如上述的应用测试方法的步骤。
本发明在对Hybrid App(混合模式应用)测试时,通过记录Hybrid App测试阶段中代码执行情况来确定哪些H5页面代码没有被测执行到,进而根据没有执行的代码得出哪些功能还没有被测试用例(测试脚本)覆盖到,从而以代码覆盖率方式来对测试覆盖率进行评估,可实现对未测试功能的智能检测,提高了测试覆盖检查的效率,且通过机器去记录没有执行到的功能,避免了人为处理带来的遗漏,提高了测试覆盖检查的准确性,有利于帮助测试人员快速找到风险点,降低故障风险。
附图说明
图1为本发明实施例方案中涉及的应用测试设备的硬件结构示意图;
图2为本发明应用测试方法第一实施例的流程示意图;
图3为本发明应用测试方法第二实施例的流程示意图;
图4为本发明应用测试装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的应用测试方法主要应用于应用测试设备,该应用测试设备可以是服务器、个人计算机(personal computer,PC)、笔记本电脑等具有数据处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的应用测试设备的硬件结构示意图。本发明实施例中,该应用测试设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及应用测试程序。在图1中,网络通信模块可用于连接数据库,与数据库进行数据通信;而处理器1001可以调用存储器1005中存储的应用测试程序,并执行本发明实施例提供的应用测试方法。
本发明实施例提供了一种应用测试方法。
参照图2,图2为本发明应用测试方法第一实施例的流程示意图。
本实施例中,所述应用测试方法包括以下步骤:
步骤S10,在接收到基于混合模式移动应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
Hybrid App(混合模式应用)是指介于web-app、native-app两者之间的app;其是在native app里内置浏览器,对于合适的功能页面采用网页的形式呈现;而在开发HybridApp的过程中,往往需要会对Hybrid App进行黑盒测试。对Hybrid App测试的一般流程是由测试人员根据经验人工编写测试用例(案例),再通过这些测试用例(案例)进行测试。但这种人为编写测试用例难免会出现疏漏,导致编写的用例没有覆盖Hybrid App的全部功能点;从而使得部分功能点没有经过检测,这就增大了异常风险,因此对于测试用例,需要进行测试功能覆盖的检测;但是,目前对测试案例的功能覆盖的检测一般是通过评估人员人工查看和评估的方式,因而在检测过程也难免会出现疏漏,从而遗漏了对某个功能点的覆盖检查,降低了检测的准确性。对此,本实施例提出一种应用测试方法,在对Hybrid App(混合模式应用)测试时,通过记录Hybrid App测试阶段中代码执行情况来确定哪些H5页面代码没有被测执行到,进而根据没有执行的代码得出哪些功能还没有被测试用例(测试脚本)覆盖到,从而以代码覆盖率方式来对测试覆盖率进行评估,可实现对未测试功能的智能检测,提高了测试覆盖检查的效率,且通过机器去记录没有执行到的功能,避免了人为处理带来的遗漏,提高了测试覆盖检查的准确性,有利于帮助测试人员快速找到风险点,降低故障风险。
本实施例中的应用测试方法是由应用测试设备实现的,该应用测试设备可以是服务器、个人计算机(personal computer,PC)、笔记本电脑等终端;本实施例中的应用测试设备以PC为例进行说明。PC可与测试终端(测试机,如手机)相连接;而将要进行测试的混合模式应用Hybrid App安装在该测试终端中并正常运行(也即该测试终端支持该Hybrid App)。为描述方便,在进行测试前,可以通过预设的测试框架(测试工具)在PC中进行测试环境的搭建和初始化,该预设的测试框架可以是Appium、Robotium、Selenimu等,当然该测试框架可以是根据实际情况进行选择。在测试环境搭建完成时,即可进行Hybrid App的测试。测试人员可在该PC上进行操作,触发针对该Hybrid App的测试请求。PC在接收到该测试请求时,首先将会根据该测试请求获取对应的测试用例(测试脚本),并获取该Hybrid App对应的超文本标记语言H5页面代码(嵌入APP内部的网页代码)。其中对于该测试用例的获取,可以是测试人员在触发测试请求时手动输入测试用例的存储地址,又或者是以拖拽的方式将PC中某个存储文件夹中的测试用例文件拖拽到测试窗口,PC根据该拖拽操作识别存储文件夹的地址,从而获得测试用例文件。而对于该Hybrid App对应的H5页面代码,也可以是以同样的方式获取;当然对于该测试用例与H5页面代码可能是由不同的人员进行提供(如测试用例由测试人员编写,而H5页面代码则是由开发人员开发后进行移交)。
步骤S20,通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
本实施例中,PC在获取到该测试用例时,将会根据该测试用例对测试终端发送对应的操作指令,以调用该测试终端中的终端控件(组件),从而模拟用户的某个操作对测试终端中的Hybrid App进行测试。
当然,对于测试用例,其所编写的语言不一定是测试终端所用的系统语音,因此可能无法直接被测试终端识别,因此PC可以先通过预设测试框架将测试用例涉及的测试指令转化为测试终端所能识别的操作指令,再根据该操作指令对Hybrid App进行测试。
具体的,所述通过所述测试用例对所述Hybrid App进行测试的步骤包括:
根据所述测试用例的语言类型确定对应的语法规则,并根据所述语法规则对所述测试用例进行解析,确定所述测试用例的操作含义;
PC在得到测试用例后,首先将要根据测试用例的语言类型确定对应的语法规则,并根据语法规则确定测试用例的操作含义;其中对于该操作含义可以是根据操作关键字(或是函数名)确定,例如点击操作click、press,滑动操作swipe等;而在操作关键字之后,还可以包括有操作对象,即操作所针对的页面元素,如点击页面的哪一个元素等。
根据所述操作含义查找对应的终端控件信息,并根据所述操作含义和所述终端控件信息生成控件操作逻辑;
在确定操作含义(和操作对象)后,PC将根据所述操作含义查找对应的终端控件信息(或服务项),并根据所述操作含义和终端控件信息生成控件操作逻辑,例如该测试终端为手机,则点击操作可以是根据手机的键盘服务项keyboard server实现的,因此可生成相关的键盘服务项调用逻辑,并根据操作含义映射对应的入参,从而得到点击操作的手机控件操作逻辑。
将所述控件操作逻辑封装为对应的终端测试指令,并将所述终端测试指令发送至所述Hybrid App的载体终端。
在得到控件操作逻辑后,PC会将这些控件操作逻辑根据测试步骤进行排序并打包封装,得到对应的终端操作指令,并将这些终端操作指令发送至测试终端(也即Hybrid App的载体终端),以使得测试终端根据这些操作指令调用相关的服务项执行操作步骤。
本实施例在测试过程中,PC还将会开启对应的线程,通过预设监测器监测和记录测试过程中该H5页面代码的被执行情况;例如在点击滑动H5页面的某个滑块的操作过程中,被执行的代码包括该H5页面代码的1-60行。其中,该预设监测器,可以是通过多种方式实现,例如可以是通过第三方的插件(如firebug、eclemma)或方法(如console.log、alert)实现,也即处理器在对解析某行代码时会根据这些插件或方法触发其它输出;还可以是在每行代码(或每个代码块)的最后加个输出语句,当执行了该行代码时会根据该输出语句输出对应的字符串,也即通过字符串的输出与否监测该行代码的执行情况。而对于该H5页面代码的被执行情况的记录,可以是在PC的显示器中实时显示,例如PC的显示器显示有手机屏幕的模拟画面以及H5页面代码界面;其中手机屏幕的模拟画面与手机屏幕所显示的画面处于同步的状态,手机每次执行一个测试动作,该模拟画面将实时显示对应的画面变化,同时该H5页面代码界面则会不断记录被执行的代码情况;当然,该H5页面代码界面可以是罗列所有的代码行,每被执行一行代码,则PC会对该行代码渲染为其它颜色,从而方便测试人员查看。
步骤S30,将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
本案中,当测试用例的测试动作均完成时,PC可将H5页面代码的被执行情况与H5页面代码的全部进行比对,以确定出H5页面代码中未执行代码(也即没有被执行到的代码),例如某一个页面A的代码有100行,通过统计,发现只执行了其中的1-60行,而61-100行没有被执行到。在确定未执行代码时,评估终端将会从H5页面代码中提取出这些未执行代码,并根据这些未执行代码确定本次测试所未涉及到的页面功能,这些未涉及的页面功能,也即测试用例的未测试功能(未覆盖功能)。
进一步的,对于根据未执行代码确定未测试功能的过程,可以是开发人员在进行代码开发时,预先对各部分的代码进行功能注释,从而形成代码功能注释,在移交HybridApp和H5页面代码将该代码功能注释一同移交;当PC确定未执行代码时,可根据该未执行代码查询代码功能注释进行,基于这些代码功能注释确定这部分未执行代码的功能,也即确定本次测试中H5页面代码的未测试功能。PC在确定未测试功能时,可以根据这些未测试功能生成对应的待测试功能列表,并将该待测试功能列表发送至对应的用例制作端,以供用例制作人员根据该待测试功能列表创建二次用例,从而对这些待测试功能进行精准测试。
再进一步的,在具体实施中,对于测试所用的测试用例,还可以通过代码执行情况来评价其功能覆盖的全面性。具体的,所述步骤S30之后,还包括:
分别统计所述H5页面代码的代码总行数和所述未执行代码的未执行代码行数,并根据所述代码总行数和未执行代码行数计算所述测试用例的测试遗漏率。
PC在确定H5页面代码的未执行代码后,将会分别对H5页面代码的代码总行数和未执行代码的未执行代码行数进行统计,然后根据该代码总行数和未执行代码行数计算出本次测试所用测试用例的测试遗漏率,即测试遗漏率=未执行代码行数/代码总行数;测试用例的测试遗漏率越高,可认为该测试用例未测试的功能点越多(功能覆盖率越低)。通过该测试遗漏率,可实现对测试用例的功能覆盖的量性评价,而在具体应用中还可用该测试遗漏率作对用例制作人员(测试人员)进行任务评价时的参考指标。
本实施例中,在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。通过以上方式,本实施例在对Hybrid App(混合模式应用)测试时,通过记录Hybrid App测试阶段中代码执行情况来确定哪些H5页面代码没有被测执行到,进而根据没有执行的代码得出哪些功能还没有被测试用例(测试脚本)覆盖到,从而以代码覆盖率方式来对测试覆盖率进行评估,可实现对未测试功能的智能检测,提高了测试覆盖检查的效率,且通过机器去记录没有执行到的功能,避免了人为处理带来的遗漏,提高了测试覆盖检查的准确性,有利于帮助测试人员快速找到风险点,降低故障风险。
参照图3,图3为本发明应用测试方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,步骤S20之后,还包括:
步骤S40,根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数;
本实施例中,PC在进行测试时,还将根据所述H5页面代码的被执行情况确定已执行代码,并根据已执行代码确定H5页面代码的已测试功能;其中该已测试功能的确定过程与上述步骤S30中的未测试功能的确定过程类似,此处不在赘述。同时,PC在进行测试时,还将会对目标Hybrid App测试过程运行所占用的系统资源进行监测,从而得到实现已测试功能时测试终端的测试性能数据;例如安卓系统的手机在4G网络下打开Hybrid App的主页,执行对主页的某个选项点击操作后,手机根据跳转逻辑跳转到下一个子页面,对于该功能实现过程,PC将获得Hybrid App的CPU占用率的变化数据。当然,对于该测试性能参数的数据类型,可以是根据实际情况进行设置。
步骤S50,根据所述已测试功能获取对应的预设标准参数,并将所述预设标准参数与所述测试性能参数进行比对,判断所述测试性能参数是否异常;
本实施例中,在得到该测试性能参数时,PC将会进一步获取预设标准参数;该预设标准参数,可以是用于表征Hybrid App正常运行所要求到达参数要求;还可以是用于表征Hybrid App优化方向的参数要求。当然,对于不同的应用功能,其对手机的资源消耗可能会不同;因此对于不同的测试功能,可以设置不同的标准参数,而PC在获取预设标准参数时,将根据已测试功能的类型进行获取。在获取已测试功能对应的预设标准参数时,PC会将该预设标准参数与测试性能参数进行比对,判断这些测试性能数据是否正常,从而判断Hybrid App在测试过程中对测试终端的系统资源占用是否正常;若测试性能数据正常,则PC可不做出相关反馈操作;而若测试性能数据异常,则进入步骤S60。
步骤S60,若所述测试性能参数异常,则输出对应的警告提示。
本实施例中,当判定测试性能参数异常时,可认为Hybrid App在测试过程中对测试终端的系统资源占用异常,则PC会输出相关对应的警告提示,以提示测试人员HybridApp测试性能超标。
进一步的,PC端得到相关的测试性能参数之后,为了方便测试人员进行查看具体测试情况,还可生成相关的测试性能报告。具体的,PC会获取预先设置好的报告模板,然后根据已测试功能和测试性能参数对报告模板进行填充,以生成本次测试的已测试功能的测试性能报告。其中,测试性能报告中可以包括数据表格、统计图(折线图、柱形图、饼状图等);对于不同的分析需求,可以用不同的形式进行展示。
再进一步的,测试人员在查看测试性能报告对Hybrid App的性能进行分析时,往往需要和历史版本应用的性能数据进行对比,因此对于该测试性能报告,也可以是做成可交互的形式。具体的,在不同的Hybrid App测试得到的性能数据,可根据功能进行分类存储到数据库表中;PC在生成测试性能报告的同时,还将根据其涉及的功能类型,将本次测试的测试性能数据与历史版本的同类性能数据进行关联;当测试人员在浏览的测试报告时,若需要将该报告中的某个功能的性能数据与其它历史版本的同类数据进行横向对比,则可点击该数据,并选择Hybrid App的某一历史版本号;PC即可根据该操作确定目标比对功能,然后测试性能报告中获取该目标对比功能对应的测试版本性能参数,同时查询数据库,获取该历史版本号下该目标比对比对功能的历史版本性能参数,并将两者进行对比展示。对于展示的方式,同样可以是图表的方式进行的;PC在获取到测试版本性能参数和历史版本性能参数的同时,还将获取到预设的比对图表模板,然后根据测试版本性能参数和历史版本性能参数设置图表属性,从而获得性能对比图表(例如表格、柱状图、折线图等),以供测试人员对比分析。
此外,本发明实施例还提供一种应用测试装置。
参照图4,图4为本发明应用测试装置第一实施例的功能模块示意图。
本实施例中,所述应用测试装置包括:
请求接收模块10,用于在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
测试记录模块20,用于通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
第一确定模块30,用于将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
其中,上述应用测试装置的各虚拟功能模块存储于图1所示应用测试设备的存储器1005中,用于实现应用测试程序的所有功能;各模块被处理器1001执行时,可实现应用测试的相关功能。
进一步的,所述测试记录模块20包括:
用例解析单元,用于根据所述测试用例的语言类型确定对应的语法规则,并根据所述语法规则对所述测试用例进行解析,确定所述测试用例的操作含义;
逻辑生成单元,用于根据所述操作含义查找对应的终端控件信息,并根据所述操作含义和所述终端控件信息生成控件操作逻辑;
指令发送单元,用于将所述控件操作逻辑封装为对应的终端测试指令,并将所述终端测试指令发送至所述Hybrid App的载体终端,以对所述HybridApp进行测试。
进一步的,所述第一确定模块30具体用于将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码查询所述H5页面代码对应的代码功能注释,以确定所述H5页面代码的未测试功能;
所述应用测试装置还包括:
列表生成模块,用于根据所述未测试功能生成对应的待测试功能列表,并将所述待测试功能列表发送至对应的用例制作端。
进一步的,所述应用测试装置还包括:
遗漏率计算模块,用于分别统计所述H5页面代码的代码总行数和所述未执行代码的未执行代码行数,并根据所述代码总行数和未执行代码行数计算所述测试用例的测试遗漏率。
进一步的,所述应用测试装置还包括:
第二确定模块,用于根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数;
参数判断模块,用于根据所述已测试功能获取对应的预设标准参数,并将所述预设标准参数与所述测试性能参数进行比对,判断所述测试性能参数是否异常;
提示输出模块,用于若所述测试性能参数异常,则输出对应的警告提示。
进一步的,所述应用测试装置还包括:
报告生成模块,用于获取报告模板,并根据所述已测试功能和所述测试性能参数对所述报告模板进行填充,获得测试性能报告。
进一步的,所述应用测试装置还包括:
第三确定模块,用于在接收到基于所述测试性能报告触发的历史对比指令时,根据所述历史对比指令确定目标比对功能;
参数获取模块,用于在所述测试性能报告中获取所述目标比对功能对应的测试版本性能参数,并查询数据库,获取所述目标比对功能对应的历史版本性能参数;
属性设置模块,用于获取预设比对图表模板,并根据所述测试版本性能参数和历史版本性能参数设置所述对比图表模板的图表属性,获得性能比对图表。
其中,上述应用测试装置中各个模块的功能实现与上述应用测试方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有应用测试程序,其中所述应用测试程序被处理器执行时,实现如上述的应用测试方法的步骤。
其中,应用测试程序被执行时所实现的方法可参照本发明应用测试方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种应用测试方法,其特征在于,所述应用测试方法包括:
在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
2.如权利要求1所述的应用测试方法,其特征在于,所述通过所述测试用例对所述Hybrid App进行测试的步骤包括:
根据所述测试用例的语言类型确定对应的语法规则,并根据所述语法规则对所述测试用例进行解析,确定所述测试用例的操作含义;
根据所述操作含义查找对应的终端控件信息,并根据所述操作含义和所述终端控件信息生成控件操作逻辑;
将所述控件操作逻辑封装为对应的终端测试指令,并将所述终端测试指令发送至所述Hybrid App的载体终端,以对所述Hybrid App进行测试。
3.如权利要求1所述的应用测试方法,其特征在于,所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤包括:
将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码查询所述H5页面代码对应的代码功能注释,以确定所述H5页面代码的未测试功能;
所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤之后,还包括:
根据所述未测试功能生成对应的待测试功能列表,并将所述待测试功能列表发送至对应的用例制作端。
4.如权利要求1所述的应用测试方法,其特征在于,所述将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能的步骤之后,还包括:
分别统计所述H5页面代码的代码总行数和所述未执行代码的未执行代码行数,并根据所述代码总行数和未执行代码行数计算所述测试用例的测试遗漏率。
5.如权利要求1至4中任一项所述的应用测试方法,其特征在于,所述通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况的步骤之后,还包括:
根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数;
根据所述已测试功能获取对应的预设标准参数,并将所述预设标准参数与所述测试性能参数进行比对,判断所述测试性能参数是否异常;
若所述测试性能参数异常,则输出对应的警告提示。
6.如权利要求5所述的应用测试方法,其特征在于,所述根据所述H5页面代码的被执行情况确定所述H5页面代码的已测试功能和所述已测试功能的测试性能参数的步骤之后,还包括:
获取报告模板,并根据所述已测试功能和所述测试性能参数对所述报告模板进行填充,获得测试性能报告。
7.如权利要求6所述的应用测试方法,其特征在于,所述获取报告模板,并根据所述已测试功能和所述测试性能参数对所述报告模板进行填充,获得测试性能报告的步骤之后,还包括:
在接收到基于所述测试性能报告触发的历史对比指令时,根据所述历史对比指令确定目标比对功能;
在所述测试性能报告中获取所述目标比对功能对应的测试版本性能参数,并查询数据库,获取所述目标比对功能对应的历史版本性能参数;
获取预设比对图表模板,并根据所述测试版本性能参数和历史版本性能参数设置所述对比图表模板的图表属性,获得性能比对图表。
8.一种应用测试装置,其特征在于,所述应用测试装置包括:
请求接收模块,用于在接收到基于混合模式应用Hybrid App的测试请求时,根据所述测试请求获取对应的测试用例,并获取所述Hybrid App对应的超文本标记语言H5页面代码;
测试记录模块,用于通过所述测试用例对所述Hybrid App进行测试,并在测试过程中通过预设监测器监测和记录所述H5页面代码的被执行情况;
第一确定模块,用于将所述H5页面代码的被执行情况与所述H5页面代码进行比对,以确定所述H5页面代码的未执行代码,并根据所述未执行代码确定所述H5页面代码的未测试功能。
9.一种应用测试设备,其特征在于,所述应用测试设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的应用测试程序,其中所述应用测试程序被所述处理器执行时,实现如权利要求1至7中任一项所述的应用测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有应用测试程序,其中所述应用测试程序被处理器执行时,实现如权利要求1至7中任一项所述的应用测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623791.6A CN110515829A (zh) | 2019-07-10 | 2019-07-10 | 应用测试方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623791.6A CN110515829A (zh) | 2019-07-10 | 2019-07-10 | 应用测试方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515829A true CN110515829A (zh) | 2019-11-29 |
Family
ID=68622621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910623791.6A Pending CN110515829A (zh) | 2019-07-10 | 2019-07-10 | 应用测试方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515829A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698123A (zh) * | 2020-06-23 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 进件系统异常定位方法、装置、计算机设备及存储介质 |
CN112988593A (zh) * | 2021-04-13 | 2021-06-18 | 苏州沁游网络科技有限公司 | 代码分析方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236600A (zh) * | 2010-05-06 | 2011-11-09 | 无锡中星微电子有限公司 | 获得代码覆盖率的方法及装置 |
CN104123218A (zh) * | 2013-04-23 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种代码覆盖测试方法、装置和系统 |
CN106294129A (zh) * | 2016-07-27 | 2017-01-04 | 北京小米移动软件有限公司 | 代码覆盖率测试方法及装置 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
CN109308263A (zh) * | 2018-09-29 | 2019-02-05 | 北京云测信息技术有限公司 | 一种小程序测试方法、装置及设备 |
CN109558328A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 |
CN109726100A (zh) * | 2018-04-19 | 2019-05-07 | 平安普惠企业管理有限公司 | 应用性能测试方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-07-10 CN CN201910623791.6A patent/CN110515829A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236600A (zh) * | 2010-05-06 | 2011-11-09 | 无锡中星微电子有限公司 | 获得代码覆盖率的方法及装置 |
CN104123218A (zh) * | 2013-04-23 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 一种代码覆盖测试方法、装置和系统 |
CN106294129A (zh) * | 2016-07-27 | 2017-01-04 | 北京小米移动软件有限公司 | 代码覆盖率测试方法及装置 |
CN109726100A (zh) * | 2018-04-19 | 2019-05-07 | 平安普惠企业管理有限公司 | 应用性能测试方法、装置、设备及计算机可读存储介质 |
CN108733568A (zh) * | 2018-05-25 | 2018-11-02 | 平安科技(深圳)有限公司 | 应用测试方法、装置、设备及可读存储介质 |
CN109308263A (zh) * | 2018-09-29 | 2019-02-05 | 北京云测信息技术有限公司 | 一种小程序测试方法、装置及设备 |
CN109558328A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698123A (zh) * | 2020-06-23 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 进件系统异常定位方法、装置、计算机设备及存储介质 |
CN112988593A (zh) * | 2021-04-13 | 2021-06-18 | 苏州沁游网络科技有限公司 | 代码分析方法、装置、计算机设备及存储介质 |
CN112988593B (zh) * | 2021-04-13 | 2024-02-06 | 苏州沁游网络科技有限公司 | 代码分析方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704392B (zh) | 一种测试用例的处理方法及服务器 | |
Malavolta et al. | Assessing the impact of service workers on the energy efficiency of progressive web apps | |
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
CN104407980B (zh) | 移动应用自动化测试装置和方法 | |
CN109726100A (zh) | 应用性能测试方法、装置、设备及计算机可读存储介质 | |
CN110825618B (zh) | 一种生成测试用例的方法及相关装置 | |
CN103377120B (zh) | 一种应用程序测试方法及装置 | |
EP2572294B1 (en) | System and method for sql performance assurance services | |
CN108733568A (zh) | 应用测试方法、装置、设备及可读存储介质 | |
CN107783899A (zh) | 应用程序中h5页面的测试方法、装置和计算机设备 | |
CN105183630B (zh) | 应用程序测试方法及装置 | |
CN110457211A (zh) | 脚本性能测试方法、装置和设备及计算机存储介质 | |
US10459835B1 (en) | System and method for controlling quality of performance of digital applications | |
CN107145440A (zh) | 应用程序测试方法、装置和计算机设备 | |
US11436133B2 (en) | Comparable user interface object identifications | |
CN110297760A (zh) | 测试数据的构造方法、装置、设备及计算机可读存储介质 | |
CN108664372A (zh) | 测试过程的监控装置、方法及计算机可读存储介质 | |
CN112860556B (zh) | 覆盖率统计方法、装置、计算机系统和可读存储介质 | |
CN112231213A (zh) | Web自动化测试方法、系统、存储介质及终端设备 | |
US20180232299A1 (en) | Composing future tests | |
CN107038120A (zh) | 一种软件测试方法和设备 | |
US6691259B1 (en) | Terminal server data file extraction and analysis application | |
CN110515829A (zh) | 应用测试方法、装置、设备及计算机可读存储介质 | |
CN109558328A (zh) | 一种代码覆盖率的测试方法、系统、装置及可读存储介质 | |
Selay et al. | Adaptive random testing for image comparison in regression web testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |
|
RJ01 | Rejection of invention patent application after publication |