软件测试方法和装置与流程

文档序号:13072591阅读:153来源:国知局
软件测试方法和装置与流程

本发明涉及软件测试领域,具体而言,涉及一种软件测试方法和装置。



背景技术:

为了能快速响应业务的需求和保障产品能保质按期发布,越来越多的企业采用每日编译和每日测试的模式开展工作。为了能快速验证每一个编译版本产品质量,及时确认功能是否产生回退,好多厂家尝试采用自动化的回归测试方法如:软件、工具等对已有功能的验证。自动化的回归测试一般是基于用户界面(ui),是对对象操作的回放。而自动化的回归测试难点在于对象难于识别,一些复杂软件系统如cad系统,界面做了自定义或美观化,自动化的回归测试录制时经常出现对象录制不上,由于对象不识别,导致测试用例或场景不能实现,甚至导致企业进行自动化的回归测试变为不可能。相关技术中,当采用软件、工具等录制测试场景时会自动录制对象生成对象库,如果录制过程中对象没有创建,那么可能采用如下三种方式之一进行处理:

1)对此对象的相关功能不执行自动化的回归测试,通过人工测试来验证。

2)绕开此对象采用快捷命令执行对应的功能测试。

3)绕开此对象采用其它对象的命令入口执行对应的功能测试。

如果采用上述相关技术中的方案进行处理,则不能准确测试软件系统的功能,出现功能遗漏,需要进行人工补测。甚至当出现多个测试用例的对象录制不上时,放弃自动化的回归测试。

针对相关技术中由于录制对象失败导致的软件功能自动化的回归测试不能实现或采用其它处理方法导致的测试结果不准确的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种软件测试方法和装置,以至少解决相关技术中由于录制对象失败导致的软件功能自动化的回归测试不能实现或采用其它处理方法导致的测试结果不准确的技术问题。

根据本发明实施例的一个方面,提供了一种软件测试方法,该方法包括:通过预设测试工具录制待测系统测试用例的对象库;根据录制结果确定待测系统测试用例中未录制的对象;录制相关系统中的替代对象,其中,相关系统为预设的与待测系统具有预设关系的系统,替代对象为相关系统中的对象,替代对象用于替代待测系统测试用例中未录制的对象;根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库。

进一步地,相关系统包括一个或多个相关系统,录制相关系统中的替代对象包括:按照预设次序在一个或多个相关系统中选择一个相关系统,并对选择出的相关系统中的替代对象进行录制;在根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库之后,方法还包括:根据更改后的待测系统测试用例的对象库判断待测系统中是否存在未录制的对象;如果判断结果为否,则按照预设次序在多个相关系统中选择下一个相关系统,并对选择出的下一个相关系统中的替代对象进行录制,直至待测系统中的所用对象均录制完毕。

进一步地,在按照预设次序在一个或多个相关系统中选择一个相关系统之前,该方法还包括:根据预设关系在预设系统库中确定一个或多个相关系统;按照预设次序在一个或多个相关系统中调用一个相关系统。

进一步地,根据录制结果确定待测系统测试用例中未录制的对象包括:对待测系统测试用例的对象库执行通用化处理,得到待测系统的通用对象库;基于待测系统的通用对象库和预设测试用例、预设执行过程录制测试脚本;按照预设规则对测试脚本执行规范处理以在待测系统的通用对象库中确定待测系统测试用例中未录制的对象。

进一步地,在根据录制结果确定待测系统测试用例中未录制的对象之后,该方法还包括:修改预设测试工具的录制对象配置属性,并通过修改后的预设测试工具对待测系统测试用例中的对象进行重新录制;根据重新录制之后的结果判断待测系统测试用例中未录制的对象是否录制成功;如果判断出重新录制之后仍存在未录制成功的对象,则在相关系统中寻找重新录制之后仍未录制成功的对象的替代对象并进行录制。

根据本发明实施例的另一方面,还提供了一种软件测试装置,该装置包括:第一录制单元,用于通过预设测试工具录制待测系统测试用例的对象库;第一确定单元,用于根据录制结果确定待测系统测试用例中未录制的对象;第二录制单元,用于录制相关系统中的替代对象,其中,相关系统为预设的与待测系统具有预设关系的系统,替代对象为相关系统中的对象,替代对象用于替代待测系统测试用例中未录制的对象;更改单元,用于根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库。

进一步地,相关系统包括一个或多个相关系统,第二录制单元包括:选择模块,用于按照预设次序在一个或多个相关系统中选择一个相关系统,并对选择出的相关系统中的替代对象进行录制;装置还包括:第一判断单元,用于在根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库之后,根据更改后的待测系统测试用例的对象库判断待测系统中是否存在未录制的对象;选择单元,用于如果判断出结果为否,则按照预设次序在多个相关系统中选择下一个相关系统,并对选择出的下一个相关系统中的替代对象进行录制,直至待测系统中的所用对象均录制完毕。

进一步地,该装置还包括:第二确定单元,用于在按照预设次序在一个或多个相关系统中选择一个相关系统之前,根据预设关系在预设系统库中确定一个或多个相关系统;调用单元,用于按照预设次序在一个或多个相关系统中调用一个相关系统。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明提供的软件测试方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行本发明提供的软件测试方法。

在本发明实施例中,通过预设测试工具录制待测系统测试用例的对象库;根据录制结果确定待测系统测试用例中未录制的对象;录制相关系统中的替代对象,其中,相关系统为预设的与待测系统具有预设关系的系统,替代对象为相关系统中的对象,替代对象用于替代待测系统测试用例中未录制的对象;根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库,解决了相关技术中由于录制对象失败导致的软件功能自动化的回归测试不能实现或采用其它处理方法导致的测试结果不准确的技术问题,进而实现了更准确地执行软件功能测试的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的软件测试方法的流程图;

图2是根据本发明实施例的另一种可选的软件测试方法的流程图;

图3是根据本发明实施例的一种可选的软件测试装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请提供了一种软件测试方法的实施例。

图1是根据本发明实施例的一种可选的软件测试方法的流程图,如图1所示,该方法包括如下步骤:

步骤s101,通过预设测试工具录制待测系统测试用例的对象库。可选地,预设测试工具可以是用于录制测试场景中的录制对象的测试软件或工具。可选地,预设测试工具可以是用于进行自动化的回归测试的软件和工具,其中,该实施例提供的软件测试方法用于对待测的软件系统执行自动化的回归测试。通过预设测试工具录制待测系统在预设测试场景下的对象,得到待测系统测试用例的对象库。

步骤s102,根据录制结果确定待测系统测试用例中未录制的对象。在录制完待测系统测试用例的对象库之后,可能由于对待测系统的自定义和界面美观等处理导致对某些对象不能识别,使得待测系统测试用例中还存在一些并未被录制的对象,根据录制的结果确定待测系统测试用例中未录制的对象,可选地,可以根据待测系统测试用例的对象库确定未被录制的对象。

可选地,根据录制结果确定待测系统测试用例中未录制的对象可以包括:对待测系统测试用例的对象库执行通用化处理,得到待测系统的通用对象库;基于待测系统的通用对象库和预设测试用例、预设执行过程录制测试脚本;按照预设规则对测试脚本执行规范处理以在待测系统的通用对象库中确定待测系统测试用例中未录制的对象。

步骤s103,录制相关系统中的替代对象,其中,相关系统为预设的与待测系统具有预设关系的系统,替代对象为相关系统中的对象,替代对象用于替代待测系统测试用例中未录制的对象。

如果存在未录制的对象,则在相关系统中确定这些未录制的对象的相关对象作为替代对象,通过预设测试工具或其它测试工具在相关系统中录制替代对象,根据录制替代对象的录制数据来替代未录制的对象的录制数据。

可选地,相关系统可以是一个或多个相关系统,可以按照预设次序在一个或多个相关系统中选择一个相关系统,并对选择出的相关系统中的替代对象进行录制。可选地,在按照预设次序在一个或多个相关系统中选择一个相关系统之前,还可以根据预设关系在预设系统库中确定一个或多个相关系统;按照预设次序在一个或多个相关系统中调用一个相关系统。在根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库之后,还可以根据更改后的待测系统测试用例的对象库判断待测系统测试用例中是否存在未录制的对象,如果判断结果为否,则按照预设次序在多个相关系统中选择下一个相关系统,并对选择出的下一个相关系统中的替代对象进行录制,直至待测系统中的所用对象均录制完毕。

步骤s104,根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库。

在录制相关系统中的替代对象之后,根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库,将录制的替代对象作为待测系统测试用例中未录制的对象,加入到待测系统测试用例中的对象库。

可选地,在根据录制结果确定待测系统测试用例中未录制的对象之后,还可以修改预设测试工具的录制对象配置属性,并通过修改后的预设测试工具对待测系统测试用例中的对象进行重新录制;根据重新录制之后的结果判断待测系统测试用例中未录制的对象是否录制成功;如果判断出重新录制之后仍存在未录制成功的对象,则在相关系统中寻找重新录制之后仍未录制成功的对象的替代对象并进行录制。

可选地,在加入待测系统测试用例的对象库中之前,可以对替代对象的录制结果进行相应地处理,例如,将替代对象的对象属性拷贝到待测系统测试用例的对象库中,并对替代对象的名字进行变更,更换为待测系统测试用例中与该替代对象对应的未录制对象的名字。

自动化的回归测试难点在于对象难于识别,但对于面向对象系统的软件对象大同而小异,如果在某一个软件系统中不识别,可以在其它类似的软件系统中进行对象录制,尝试对象识别。将能识别的软件系统中录制的对象属性复制到不能识别的软件系统中,再在此系统中调试和运行。该实施例提供的软件测试方法将自动化的回归测试软件对象识别成功方法从一个特定的软件中获取到转变类似软件中获取,提高识别的成功率。

下面结合一个具体应用场景对该实施例提供的软件测试方法作详细的说明,图2是根据本发明实施例的另一种可选的软件测试方法的流程图,该方法用于执行自动化的回归测试,如图2所示,该方法包括:

步骤1:录制对象库。通过自动化的回归测试软件或工具录制待测系统在测试场景的对象,得到待测系统测试用例的对象库。

步骤2:对象库通用化处理。对待测系统测试用例的对象库进行通用化处理,使得对象库中的对象为通用标准,例如,对象的名字、属性等等。

步骤3:录制脚本并做系列处理。根据测试用例、待测系统的用户流程等录制测试脚本,并对测试脚本执行系列处理:包括对测试脚本执行规范化、逻辑化、函数化等等。

步骤4:未识别对象借代处理。对未识别(未录制)的对象进行确认,如果出现未录制的对象,则在类似的产品中进行类似对象的录制,生成类似产品的对象库,其中,类似产品的对象库中包含类似对象的录制。类似产品是与待测系统(产品)相似的产品,可选地,可以在对应的开发环境中寻找与待测系统测试用例中未录制的对象类似的对象进行录制,类似对象是与待测系统测试用例中未录制的对象类似的对象,未录制的对象可以是多个,分别查找每个未录制对象对应的类似对象进行录制。可选地,如果出现未录制的对象,在类似的产品中进行类似对象的录制之前,可以先尝试修改未录制对象的属性进行录制,如果仍然不能录制,则在类似的产品中进行类似对象的录制。在录制完类似对象之后,将录制的类似产品的对象库中与未录制对象对应的替代对象的属性拷贝到待测系统测试用例的对象库中,并将替代对象的名字进行变更。

步骤5:成功否。判断待测系统测试用例中的未录制对象是否全部通过替代对象借代处理并录制完毕,如果判断结果为否,则返回步骤4,也即,在一个类似产品中不能完全解决问题,可以继续尝试录制其它类似产品中的替代对象,直至待测系统测试用例中所有未录制的对象全部通过借代处理录制完毕。如果判断出成功将待测系统测试用例中所有的未录制对象通过借代处理录制完毕,则执行步骤6。

步骤6:执行自动化自动化的回归测试。在待测系统测试用例中的对象全部录制成功之后,根据录制的结果执行自动化的回归测试。

可选地,上述的类似产品的选择首先选择在对应的开发工具中进行录制,对于在windows系统的软件,优先使用visualstudio进行录制对象,其次使用office系列软件进行对象录制,再者使用类似系统软件系统。类似对象则可以采用第三方对象识别软件识别当前测试对象的属性特性,寻找类似对象识别。

该实施例提供的软件测试方法极大地解决了对象识别问题,增加了对象识别率,增加测试的准确性,避免了采用绕开的方法,提高了测试效率,避免增加人工补测的带来的开销和时间的拖延,为企业进行自动化测试提供了通路。

该实施例提供的软件测试方法在caxa2d电子图板、caxa3d实体设计的自动化的回归测试中已经得到应用和验证,部分对象在脚本的录制中不能识别,导致了对应功能点不能进行自动化测试。采用该技术后,如果发现不能识别的对象,则采用在对应的开发环境中寻找类似对象进行录制,将对象属性拷贝到产品中,一致化对象名称后,解决了对象识别问题,极大地提供测试覆盖面、测试效率,解决了一般企业不能在cax系统进行自动化的回归测试的技术问题。

需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请还提供了一种软件测试装置的实施例。

图3是根据本发明实施例的一种可选的软件测试装置的示意图,如图3所示,该装置包括第一录制单元10,第一确定单元20,第二录制单元30和更改单元40。

第一录制单元用于通过预设测试工具录制待测系统测试用例的对象库。第一确定单元用于根据录制结果确定待测系统测试用例中未录制的对象。第二录制单元用于录制相关系统中的替代对象,其中,相关系统为预设的与待测系统具有预设关系的系统,替代对象为相关系统中的对象,替代对象用于替代待测系统测试用例中未录制的对象。更改单元用于根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库。

可选地,相关系统包括一个或多个相关系统,第二录制单元包括:选择模块,用于按照预设次序在一个或多个相关系统中选择一个相关系统,并对选择出的相关系统中的替代对象进行录制;装置还包括:第一判断单元,用于在根据录制相关系统中的替代对象的结果更改待测系统测试用例的对象库之后,根据更改后的待测系统测试用例的对象库判断待测系统中是否存在未录制的对象;选择单元,用于如果判断出结果为否,则按照预设次序在多个相关系统中选择下一个相关系统,并对选择出的下一个相关系统中的替代对象进行录制,直至待测系统中的所用对象均录制完毕。

可选地,该装置还包括:第二确定单元,用于在按照预设次序在一个或多个相关系统中选择一个相关系统之前,根据预设关系在预设系统库中确定一个或多个相关系统;调用单元,用于按照预设次序在一个或多个相关系统中调用一个相关系统。

可选地,第一确定单元包括:执行模块,用于对待测系统测试用例的对象库执行通用化处理,得到待测系统的通用对象库;录制模块,用于基于待测系统的通用对象库和预设测试用例、预设执行过程录制测试脚本;确定模块,用于按照预设规则对测试脚本执行规范处理以在待测系统的通用对象库中确定待测系统测试用例中未录制的对象。

可选地,该装置还包括:修改单元,用于修改预设测试工具的录制对象配置属性,并通过修改后的预设测试工具对待测系统测试用例中的对象进行重新录制;第二判断单元,用于根据重新录制之后的结果判断待测系统测试用例中未录制的对象是否录制成功;第三录制单元,用于如果判断出重新录制之后仍存在未录制成功的对象,则在相关系统中寻找重新录制之后仍未录制成功的对象的替代对象并进行录制。

上述的装置可以包括处理器和存储器,上述单元均可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种存储介质的实施例。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例提供的软件测试方法。

本申请还提供了一种处理器的实施例。处理器用于运行程序,其中,程序运行时执行本发明实施例提供的软件测试方法。

上述本申请实施例的顺序不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。

其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1