CN109656804A - 自动化测试方法、设备、存储介质及装置 - Google Patents

自动化测试方法、设备、存储介质及装置 Download PDF

Info

Publication number
CN109656804A
CN109656804A CN201811135196.XA CN201811135196A CN109656804A CN 109656804 A CN109656804 A CN 109656804A CN 201811135196 A CN201811135196 A CN 201811135196A CN 109656804 A CN109656804 A CN 109656804A
Authority
CN
China
Prior art keywords
test
tested
markup language
extensible markup
language document
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
Application number
CN201811135196.XA
Other languages
English (en)
Inventor
金慧智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201811135196.XA priority Critical patent/CN109656804A/zh
Publication of CN109656804A publication Critical patent/CN109656804A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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

本发明公开了一种自动化测试方法、设备、存储介质及装置,该方法包括:获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,所述可扩展标记语言文件中可配置任意需要执行的待测试流程,一键执行配置的多个待测试流程,提高测试效率;从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,从而根据漏洞进行环境或***修复,以提高流程的完整性和测试的准确性。

Description

自动化测试方法、设备、存储介质及装置
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种自动化测试方法、设备、存储介质及装置。
背景技术
较成熟的功能测试自动化测试工具有很多,如QTP等,QTP是Quick TestProfessional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本,这类测试工具的使用简单,相对界面化,但是价格昂贵,且不易维护,测试效率低,执行出错率较高,因此,如何提高自动化测试的效率是亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种自动化测试方法、设备、存储介质及装置,旨在解决现有技术中自动化测试的效率低的技术问题。
为实现上述目的,本发明提供一种自动化测试方法,所述自动化测试方法包括以下步骤:
获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中;
将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告;
从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
优选地,所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,包括:
获取多个待测试流程,将各待测试流程分别分割为对应的多个类别的子流程;
将所述子流程按照预设顺序配置在可扩展标记语言文件中;
所述将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,包括:
将所述可扩展标记语言文件中配置的各子流程按照所述预设顺序依次进行测试,获得第一测试报告。
优选地,所述从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,包括:
从所述第一测试报告中提取出测试失败的目标流程及第一测试失败原因;
对所述目标流程再次进行测试,获得第二测试报告;
从所述第二测试报告中提取出第二测试失败原因,根据所述第一测试失败原因和所述第二测试失败原因定位对应的漏洞。
优选地,所述对所述目标流程再次进行测试,获得第二测试报告,包括:
模拟所述目标流程对应的目标用户操作,检测是否出现错误提示;
若出现所述错误提示,则判断所述错误提示是否显示正确;
若所述错误提示显示不正确,则判定所述目标流程测试失败,生成对应的第二测试报告。
优选地,所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中之前,所述自动化测试方法还包括:
安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架;
所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,包括:
获取多个待测试流程,将所述待测试流程按照预设顺序配置在所述预设测试框架中的可扩展标记语言文件中。
优选地,所述安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架之后,所述自动化测试方法还包括:
在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程。
优选地,所述在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程之前,所述自动化测试方法还包括:
检测当前时刻是否为预设定时测试时刻,若是,则执行所述在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程的步骤。
此外,为实现上述目的,本发明还提出一种自动化测试设备,所述自动化测试设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的自动化测试程序,所述自动化测试程序配置为实现如上文所述的自动化测试方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时实现如上文所述的自动化测试方法的步骤。
此外,为实现上述目的,本发明还提出一种自动化测试装置,所述自动化测试装置包括:
配置模块,用于获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中;
测试模块,用于将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告;
定位模块,用于从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
本发明中,获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,所述可扩展标记语言文件中可配置任意需要执行的待测试流程,一键执行配置的多个待测试流程,提高测试效率;从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,从而根据漏洞进行环境或***修复,以提高流程的完整性和测试的准确性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的自动化测试设备的结构示意图;
图2为本发明自动化测试方法第一实施例的流程示意图;
图3为本发明自动化测试方法第二实施例的流程示意图;
图4为本发明自动化测试方法第三实施例的流程示意图;
图5为本发明自动化测试装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的自动化测试设备结构示意图。
如图1所示,该自动化测试设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对自动化测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及自动化测试程序。
在图1所示的自动化测试设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述自动化测试设备通过处理器1001调用存储器1005中存储的自动化测试程序,并执行本发明实施例提供的自动化测试方法。
基于上述硬件结构,提出本发明自动化测试方法的实施例。
参照图2,图2为本发明自动化测试方法第一实施例的流程示意图,提出本发明自动化测试方法第一实施例。
在第一实施例中,所述自动化测试方法包括以下步骤:
步骤S10:获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中。
应理解的是,本实施例的执行主体是所述自动化测试设备,其中,所述自动化测试设备可为个人电脑或服务器等电子设备。所述待测试流程包括用户登录、注册、产品发布、开户、审核、报表分析和页面显示等业务流程,在进行自动化测试时,可通过在预设测试框架中模拟预设操作以生成对应的待测试流程,从而对所述待测试流程进行相应的测试。
需要说明的是,所述可扩展标记语言文件(Extendsible Markup Language,XML)中可以配置任意需要执行的所述待测试流程。比如,XiuGaiZiLiao是个功能子类,包含testXiuGaiZiliao,testChuShenZiliao,testFuShenZiliao这三个功能函数,把功能子类及其函数根据XML相应的标签(比如,class和include)添加到XML文件中,则可一键执行上述三个函数。
步骤S20:将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告。
可理解的是,所述可扩展标记语言文件中配置的各待测试流程是串行执行不是并行执行的,执行的顺序是按照各待测试流程在所述可扩展标记语言文件中的先后顺序来执行的。
在具体实现中,当测试人员需要进行所述待测试流程的测试时,可通过预设函数获取当前页面中的元素,根据所述元素执行与所述元素对应的预设操作,生成所述待测试流程。所述测试人员可通过所述自动化测试设备的显示界面输入测试指令,或者是后台服务器定时触发的测试指令,响应于所述测试指令,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得所述第一测试报告。所述第一测试报告包括各待测试流程的测试结果,是否测试成功或测试失败,测试失败的函数和测试失败的原因等信息。
应理解的是,可通过在XML文件中配置需要执行的所述待测试流程,及所述待测试流程中会使用的用户名和密码等参数。比如,所述待测试流程为产品***发布产品的功能测试,产品发布需要一个业务员,产品审核需要一个审核员,可预先在所述XML文件中配置好所述业务员和所述审核员对应的用户名,则在所述产品***发布产品的功能测试中,只需执行登录所述产品***的步骤,然后分别填入所述业务员和所述审核员对应的用户名,即可实现发布产品时的功能测试。由于产品***的地址是不会改变的,可把比较稳定的参数都配置在XML中,以提高测试效率。
需要说明的是,测试过程中在各待测试流程的每个验证点都会加上断言,比如,由于不同浏览器的弹框不同,我们会针对不同的浏览器编写不同代码来适应不同浏览器。对于由于***响应时间过长而无法获取所述待测试流程的页面元素的情况,可通过增加响应的等待时间解决,从而提高测试的容错率,增加准确性。
步骤S30:从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
应理解的是,各待测试流程在测试结束时会产生一份报告文件,即所述第一测试报告。若待测试流程的测试结果为测试失败,则所述第一测试报告中会列出执行失败的函数和测试失败原因,可从所述第一测试报告中提取出测试失败原因,根据所述测试失败原因定位对应的漏洞,是由环境问题还是***漏洞导致的。
可理解的是,我们使用预设测试框架进行测试的一般为相对稳定的功能,我们会把它运用在回归测试中,这些功能相对修改较小,且之前也做过较全面的功能测试,自动化测试只会完成基本的校验,比如修改密码功能,我们会对密码修改做一些基本的校验,自动化测试主要还是验证主流程的完整性。
在第一实施例中,获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,所述可扩展标记语言文件中可配置任意需要执行的待测试流程,一键执行配置的多个待测试流程,提高测试效率;从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,从而根据漏洞进行环境或***修复,以提高流程的完整性和测试的准确性。
参照图3,图3为本发明自动化测试方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明自动化测试方法的第二实施例。
在第二实施例中,所述步骤S10,包括:
步骤S101:获取多个待测试流程,将各待测试流程分别分割为对应的多个类别的子流程。
可理解的是,在所述预设测试框架中,把各个功能性函数放在一个类中,随时调用,并且把所述待测试流程尽量分割成每个小类,即所述多个类别的子流程,减少各待测试流程之间的耦合性,以使得在需求有变化时,代码的改动量降低。例如:Common这个类,我们把所有的公共功能都写在里面,这样只要修改底层的功能函数,而不用去修改每一个调用他的函数。通过driver类专门用来设置浏览器的相关的配置,比如,我们可以设置为IE,chrome或者Firefox,通过common类,把driver类作为所述common类的变量,并且我们开发了其他的一些公共函数,比如获取随机字符串函数,获取机构代码函数以及各个子***的登录退出函数等,然后有功能型的java代码类,继承该common类,这些代码类是根据实际的业务逻辑来开发的测试代码,比如前台注册功能和登录验证功能,若需从IE切换成Chrome时,只要修改driver类中的配置,而不需要动到common父类和其他的功能子类,减少所有函数间的耦合性。
步骤S102:将所述子流程按照预设顺序配置在可扩展标记语言文件中。
应理解的是,所述子流程为不同类别,各子流程之间的耦合性降低,则在对各子流程进行测试时,若测试到某个子流程测试失败,可查找到与所述子流程对应的函数进行部分修改,而无需改动到其他功能子类或者父类,从而降低代码改动量。将所述子流程按照预设顺序配置在可扩展标记语言文件中,则可在所述可扩展标记语言文件中一键执行各子流程。
在第二实施例中,所述步骤S20,包括:
步骤S201:将所述可扩展标记语言文件中配置的各子流程按照所述预设顺序依次进行测试,获得第一测试报告。
需要说明的是,所述可扩展标记语言文件中配置的各子流程是串行执行不是并行执行的,执行的顺序是按照各子流程在所述可扩展标记语言文件中的先后顺序来执行的。所述第一测试报告包括各子流程的测试结果,是否测试成功或测试失败,子流程对应的测试失败函数和测试失败原因等信息。
在第二实施例中,所述步骤S30,包括:
步骤S301:从所述第一测试报告中提取出测试失败的目标流程及第一测试失败原因。
在具体实现中,各待测试流程在测试结束时会产生一份报告文件,即所述第一测试报告。若待测试流程的测试结果为测试失败,则所述第一测试报告中会列出执行失败的函数和测试失败原因,可从所述第一测试报告中提取出测试失败原因,根据所述测试失败原因定位对应的漏洞,是由环境问题还是***漏洞导致的。
步骤S302:对所述目标流程再次进行测试,获得第二测试报告。
应理解的是,为了确定测试失败的所述目标流程是因为***响应时间过长还是***存在漏洞导致,通常会将所述目标测试流程再次进行测试,可通过增加响应的等待时间,判断是否测试成功,若在增加响应的等待时间能够测试成功,说明所述目标流程测试失败是由于***响应时间过长而无法获取页面元素导致的测试失败。如果所述测试结果依旧为测试失败,则认定是***存在漏洞或者环境存在问题导致的,则可进行人为干预,进一步定位漏洞时环境问题还是***漏洞。在所述目标流程再次测试结束时会产生所述第二测试报告,若所述目标流程的测试结果为测试失败,则所述第二测试报告中会列出执行失败的函数和测试失败原因。
进一步地,在本实施例中,所述步骤S302,包括:
模拟所述目标流程对应的目标用户操作,检测是否出现错误提示;
若出现所述错误提示,则判断所述错误提示是否显示正确;
若所述错误提示显示不正确,则判定所述目标流程测试失败,生成对应的第二测试报告。
可理解的是,通过模拟所述目标流程对应的目标用户操作,则生成对应的所述目标流程,通常在正常情况下,若所述目标用户操作出现错误时,会出现对应的预设错误提示,以指示用户重新执行所述目标用户操作,则可对所述错误提示进行检测,判断所述错误提示是否为预设错误提示,若所述错误提示是预设错误提示,则认为所述错误提示显示正确,则所述目标流程的测试结果为测试成功,拖所述错误提示不是所述预设错误提示,则认为所述错误提示显示不正确,则所述目标流程的测试结果为测试失败,会生成所述目标流程对应的第二测试报告,所述第二测试报告中会列出执行失败的函数和测试失败原因。
例如,所述目标流程为修改密码功能,具体测试情形包括:正常流程、原密码错误、新密码不满足复杂度、新密码与原密码一致以及确认密码错误。所述目标用户操作,可以是模拟用户输入错误的原密码,***会显示错误提示,则验证所述错误提示是否出现,以及所述错误提示是否显示正确,如果所述错误提示显示的不正确或者没有显示,则判断所述目标流程执行失败,测试结果为测试失败。
步骤S303:从所述第二测试报告中提取出第二测试失败原因,根据所述第一测试失败原因和所述第二测试失败原因定位对应的漏洞。
可理解的是,可对所述第二测试报告中列出的第二测试失败原因进行分析,判断所述第二测试失败原因是否与所述第一测试失败原因相同,若相同,则可根据该相同的测试失败原因定位对应的漏洞,是由环境问题还是***漏洞导致的。若所述第二测试失败原因是否与所述第一测试失败原因不相同,则需要针对不同的原因分别进行分析,以定位出准确的漏洞。
本第二实施例中,获取多个待测试流程,将各待测试流程分别分割为对应的多个类别的子流程,将所述子流程按照预设顺序配置在可扩展标记语言文件中,将所述可扩展标记语言文件中配置的各子流程按照所述预设顺序依次进行测试,获得第一测试报告,把所述待测试流程尽量分割成每个小类,即所述多个类别的子流程,减少各待测试流程之间的耦合性,以使得在需求有变化时,代码的改动量降低;从所述第一测试报告中提取出测试失败的目标流程及第一测试失败原因,对所述目标流程再次进行测试,获得第二测试报告,从所述第二测试报告中提取出第二测试失败原因,根据所述第一测试失败原因和所述第二测试失败原因定位对应的漏洞,提高定位的漏洞的准确度。
参照图4,图4为本发明自动化测试方法第三实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明自动化测试方法的第三实施例。
在第三实施例中,所述步骤S10之前,还包括:
步骤S01:安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架。
可理解的是,本实施例中的所述预设测试框架在所述集成开发环境(Eclipse)中搭建,首先安装Eclipse,再安装相关的所述预设计算机文件格式文件(jar),开发获得所述预设测试框架:Java+Selenium+TestNG的框架,在进行各待测试流程的测试过程中,只需使用自带的By函数,即可获取页面中的各种元素,进行赋值、点击或者上传附件等操作,以此来完成自动模拟用户执行的操作。Selenium是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。TestNG是Java中的一个测试框架,测试代码是否按照预期的方式工作,模拟用户操作,进行功能测试,以测试各待测试流程是否能够实现预期功能。
在第三实施例中,所述步骤S10,包括:
步骤S103:获取多个待测试流程,将所述待测试流程按照预设顺序配置在所述预设测试框架中的可扩展标记语言文件中。
应理解的是,在所述预设测试框架中,配置所述可扩展标记语言文件,可将多个待测试流程在所述可扩展标记语言文件中进行配置,可对配置在所述可扩展标记语言文件中的多个待测试流程进行一并依次串行执行,从而提高测试效率。
在第三实施例中,所述步骤S01之后,还包括:
步骤S02:在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程。
需要说明的是,所述预设函数为所述预设测试框架中自带的By函数,为了测试各待测试流程是否按照预期的方式工作,通过自带的By函数模拟用户执行所述预设操作,所述预设操作为生成各待测试流程所对应的用户操作,所述预设操作包括:注册、开户、审核、报表分析、页面显示、修改密码、登录和产品发布等用户操作。在执行所述预设操作,则生成相应的待测试流程,以对所述待测试流程进行功能测试,以测试是否能够按照预期的方式工作。
在第三实施例中,所述步骤S02之前,还包括:
步骤S011:检测当前时刻是否为预设定时测试时刻,若是,则执行所述步骤S02。
在具体实现中,使用Jenkins自动化部署工具来自动运行测试代码,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,通过Jenkins自动定时执行,无需人工触发,比如所述预设定时测试时刻为每天早上8点钟,Jenkins中的定时任务在检测到所述当前时刻为早上8点钟时就自动执行预先设置好的待测试流程的代码,如果有错,会在日志文件中体现,也可以查看selenium中的测试报告。
在第三实施例中,安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架,建立专门针对功能测试的所述预设测试框架,可以自主针对不同业务流程编写代码,且维护简单,容错率也较高;检测当前时刻是否为预设定时测试时刻,若是,则在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程,定时进行待测试流程的测试,无需人工触发,提高测试效率;获取多个待测试流程,将所述待测试流程按照预设顺序配置在所述预设测试框架中的可扩展标记语言文件中,自动执行配置在所述可扩展标记语言文件中的所有待测试流程,能同时执行多个回归测试流程,从而提高测试效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时实现如上文所述的自动化测试方法的步骤。
此外,参照图5,本发明实施例还提出一种自动化测试装置,所述自动化测试装置包括:
配置模块10,用于获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中;
测试模块20,用于将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告;
定位模块30,用于从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
应理解的是,本实施例的执行主体是所述自动化测试设备,其中,所述自动化测试设备可为个人电脑或服务器等电子设备。所述待测试流程包括用户登录、注册、产品发布、开户、审核、报表分析和页面显示等业务流程,在进行自动化测试时,可通过在预设测试框架中模拟预设操作以生成对应的待测试流程,从而对所述待测试流程进行相应的测试。
需要说明的是,所述可扩展标记语言文件(Extendsible Markup Language,XML)中可以配置任意需要执行的所述待测试流程。比如,XiuGaiZiLiao是个功能子类,包含testXiuGaiZiliao,testChuShenZiliao,testFuShenZiliao这三个功能函数,把功能子类及其函数根据XML相应的标签(比如,class和include)添加到XML文件中,则可一键执行上述三个函数。
可理解的是,所述可扩展标记语言文件中配置的各待测试流程是串行执行不是并行执行的,执行的顺序是按照各待测试流程在所述可扩展标记语言文件中的先后顺序来执行的。
在具体实现中,当测试人员需要进行所述待测试流程的测试时,可通过预设函数获取当前页面中的元素,根据所述元素执行与所述元素对应的预设操作,生成所述待测试流程。所述测试人员可通过所述自动化测试设备的显示界面输入测试指令,或者是后台服务器定时触发的测试指令,响应于所述测试指令,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得所述第一测试报告。所述第一测试报告包括各待测试流程的测试结果,是否测试成功或测试失败,测试失败的函数和测试失败的原因等信息。
应理解的是,可通过在XML文件中配置需要执行的所述待测试流程,及所述待测试流程中会使用的用户名和密码等参数。比如,所述待测试流程为产品***发布产品的功能测试,产品发布需要一个业务员,产品审核需要一个审核员,可预先在所述XML文件中配置好所述业务员和所述审核员对应的用户名,则在所述产品***发布产品的功能测试中,只需执行登录所述产品***的步骤,然后分别填入所述业务员和所述审核员对应的用户名,即可实现发布产品时的功能测试。由于产品***的地址是不会改变的,可把比较稳定的参数都配置在XML中,以提高测试效率。
需要说明的是,测试过程中在各待测试流程的每个验证点都会加上断言,比如,由于不同浏览器的弹框不同,我们会针对不同的浏览器编写不同代码来适应不同浏览器。对于由于***响应时间过长而无法获取所述待测试流程的页面元素的情况,可通过增加响应的等待时间解决,从而提高测试的容错率,增加准确性。
应理解的是,各待测试流程在测试结束时会产生一份报告文件,即所述第一测试报告。若待测试流程的测试结果为测试失败,则所述第一测试报告中会列出执行失败的函数和测试失败原因,可从所述第一测试报告中提取出测试失败原因,根据所述测试失败原因定位对应的漏洞,是由环境问题还是***漏洞导致的。
可理解的是,我们使用预设测试框架进行测试的一般为相对稳定的功能,我们会把它运用在回归测试中,这些功能相对修改较小,且之前也做过较全面的功能测试,自动化测试只会完成基本的校验,比如修改密码功能,我们会对密码修改做一些基本的校验,自动化测试主要还是验证主流程的完整性。
在本实施例中,获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,所述可扩展标记语言文件中可配置任意需要执行的待测试流程,一键执行配置的多个待测试流程,提高测试效率;从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,从而根据漏洞进行环境或***修复,以提高流程的完整性和测试的准确性。
在一实施例中,所述自动化测试装置还包括:分割模块,用于获取多个待测试流程,将各待测试流程分别分割为对应的多个类别的子流程;
所述配置模块10,还用于将所述子流程按照预设顺序配置在可扩展标记语言文件中;
所述测试模块20,还用于将所述可扩展标记语言文件中配置的各子流程按照所述预设顺序依次进行测试,获得第一测试报告。
在一实施例中,所述自动化测试装置还包括:提取模块,用于从所述第一测试报告中提取出测试失败的目标流程及第一测试失败原因;
所述测试模块20,还用于对所述目标流程再次进行测试,获得第二测试报告;
所述定位模块30,还用于从所述第二测试报告中提取出第二测试失败原因,根据所述第一测试失败原因和所述第二测试失败原因定位对应的漏洞。
在一实施例中,所述自动化测试装置还包括:检测模块,用于模拟所述目标流程对应的目标用户操作,检测是否出现错误提示;
判断模块,用于若出现所述错误提示,则判断所述错误提示是否显示正确;
判定模块,用于若所述错误提示显示不正确,则判定所述目标流程测试失败,生成对应的第二测试报告。
在一实施例中,所述自动化测试装置还包括:开发模块,用于安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架;
所述配置模块10,还用于获取多个待测试流程,将所述待测试流程按照预设顺序配置在所述预设测试框架中的可扩展标记语言文件中。
在一实施例中,所述自动化测试装置还包括:执行模块,用于在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程。
在一实施例中,所述检测模块,还用于检测当前时刻是否为预设定时测试时刻,若是,则执行所述在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程的步骤。
本发明所述自动化测试装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种自动化测试方法,其特征在于,所述自动化测试方法包括以下步骤:
获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中;
将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告;
从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
2.如权利要求1所述的自动化测试方法,其特征在于,所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,包括:
获取多个待测试流程,将各待测试流程分别分割为对应的多个类别的子流程;
将所述子流程按照预设顺序配置在可扩展标记语言文件中;
所述将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告,包括:
将所述可扩展标记语言文件中配置的各子流程按照所述预设顺序依次进行测试,获得第一测试报告。
3.如权利要求2所述的自动化测试方法,其特征在于,所述从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞,包括:
从所述第一测试报告中提取出测试失败的目标流程及第一测试失败原因;
对所述目标流程再次进行测试,获得第二测试报告;
从所述第二测试报告中提取出第二测试失败原因,根据所述第一测试失败原因和所述第二测试失败原因定位对应的漏洞。
4.如权利要求3所述的自动化测试方法,其特征在于,所述对所述目标流程再次进行测试,获得第二测试报告,包括:
模拟所述目标流程对应的目标用户操作,检测是否出现错误提示;
若出现所述错误提示,则判断所述错误提示是否显示正确;
若所述错误提示显示不正确,则判定所述目标流程测试失败,生成对应的第二测试报告。
5.如权利要求1所述的自动化测试方法,其特征在于,所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中之前,所述自动化测试方法还包括:
安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架;
所述获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中,包括:
获取多个待测试流程,将所述待测试流程按照预设顺序配置在所述预设测试框架中的可扩展标记语言文件中。
6.如权利要求5所述的自动化测试方法,其特征在于,所述安装集成开发环境及预设计算机文件格式文件,根据所述预设计算机文件格式文件在安装的所述集成开发环境中开发预设测试框架之后,所述自动化测试方法还包括:
在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程。
7.如权利要求6所述的自动化测试方法,其特征在于,所述在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程之前,所述自动化测试方法还包括:
检测当前时刻是否为预设定时测试时刻,若是,则执行所述在所述预设测试框架中,通过预设函数执行预设操作,获得与所述预设操作对应的待测试流程的步骤。
8.一种自动化测试设备,其特征在于,所述自动化测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的自动化测试程序,所述自动化测试程序被所述处理器执行时实现如权利要求1至7中任一项所述的自动化测试方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时实现如权利要求1至7中任一项所述的自动化测试方法的步骤。
10.一种自动化测试装置,其特征在于,所述自动化测试装置包括:
配置模块,用于获取多个待测试流程,将所述待测试流程按照预设顺序配置在可扩展标记语言文件中;
测试模块,用于将所述可扩展标记语言文件中配置的各待测试流程按照所述预设顺序依次进行测试,获得第一测试报告;
定位模块,用于从所述第一测试报告中提取出测试失败的目标流程以及对应的第一测试失败原因,根据所述第一测试失败原因定位对应的漏洞。
CN201811135196.XA 2018-09-27 2018-09-27 自动化测试方法、设备、存储介质及装置 Pending CN109656804A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811135196.XA CN109656804A (zh) 2018-09-27 2018-09-27 自动化测试方法、设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811135196.XA CN109656804A (zh) 2018-09-27 2018-09-27 自动化测试方法、设备、存储介质及装置

Publications (1)

Publication Number Publication Date
CN109656804A true CN109656804A (zh) 2019-04-19

Family

ID=66110681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811135196.XA Pending CN109656804A (zh) 2018-09-27 2018-09-27 自动化测试方法、设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN109656804A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543424A (zh) * 2019-09-06 2019-12-06 安徽航天信息有限公司 一种用于电子税务平台的测试方法及装置
CN112559375A (zh) * 2020-12-23 2021-03-26 深圳迅策科技有限公司 一种使用多个不同浏览器并行自动化测试的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407973A (zh) * 2014-11-25 2015-03-11 珠海格力电器股份有限公司 一种自动化单元测试的实现方法及装置
CN108491322A (zh) * 2018-03-06 2018-09-04 平安科技(深圳)有限公司 自动化测试方法、装置及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407973A (zh) * 2014-11-25 2015-03-11 珠海格力电器股份有限公司 一种自动化单元测试的实现方法及装置
CN108491322A (zh) * 2018-03-06 2018-09-04 平安科技(深圳)有限公司 自动化测试方法、装置及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543424A (zh) * 2019-09-06 2019-12-06 安徽航天信息有限公司 一种用于电子税务平台的测试方法及装置
CN110543424B (zh) * 2019-09-06 2023-05-05 安徽航天信息有限公司 一种用于电子税务平台的测试方法及装置
CN112559375A (zh) * 2020-12-23 2021-03-26 深圳迅策科技有限公司 一种使用多个不同浏览器并行自动化测试的方法
CN112559375B (zh) * 2020-12-23 2024-05-10 深圳迅策科技有限公司 一种使用多个不同浏览器并行自动化测试的方法

Similar Documents

Publication Publication Date Title
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN104407980B (zh) 移动应用自动化测试装置和方法
CN109828903B (zh) 自动化测试方法、装置、计算机装置及存储介质
CN109710508A (zh) 测试方法、测试装置、测试设备及计算机可读存储介质
US20130117855A1 (en) Apparatus for automatically inspecting security of applications and method thereof
CN110704304B (zh) 一种应用程序测试方法、装置、存储介质和服务器
CN107526676B (zh) 一种跨***测试方法及装置
CN111124919A (zh) 一种用户界面的测试方法、装置、设备及存储介质
CN106776338B (zh) 一种测试方法、装置及服务器
CN107832207A (zh) 接口性能测试方法、装置、存储介质和计算机设备
Lachmann et al. Delta-oriented test case prioritization for integration testing of software product lines
CN105912473A (zh) 基于bdd的移动app自动测试平台和测试方法
CN112270149A (zh) 验证平台自动化集成方法、***及电子设备和存储介质
CN113778898A (zh) 用户界面自动化测试方法、装置、电子设备及存储介质
CN109558313B (zh) 构建异常测试场景的方法及装置
CN117421217B (zh) 一种软件功能自动测试方法、***、终端及介质
CN109582524A (zh) 一种测试方法、***及电子设备和存储介质
CN106528429A (zh) 一种ui界面测试方法及装置
CN109656804A (zh) 自动化测试方法、设备、存储介质及装置
CN117370203B (zh) 自动化测试方法、***、电子设备及存储介质
KR101792864B1 (ko) 애플리케이션 검증 시스템 및 방법
CN114647572A (zh) 用于软件应用组件测试的方法和***
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN116719736A (zh) 一种用于测试软件界面的测试用例生成方法及装置
us Saqib et al. Functionality, performance, and compatibility testing: a model based approach

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