发明内容
有鉴于此,本发明实施例提供一种回归测试方法、装置及服务器,提高测试操作的自动化程度,减少回归测试操作的耗时,缩短软件的开发周期。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本发明申请提供一种回归测试方法,包括:
获取用于软件测试的测试数据及待测软件信息;
将所述测试数据和待测软件信息发送至测试虚拟机,以使所述测试虚拟机根据所述待测软件信息获取目标编码文件并使所述虚拟测试机根据所述测试数据对所述目标编码文件进行测试,其中,所述测试虚拟机能够模拟所述目标编码文件的运行环境,所述目标编码文件包括所述待测软件的全部或部分编码文件;
接收所述测试虚拟机反馈的记录所述目标编码文件测试结果的回归测试报告。
可选的,本发明申请提供的回归测试方法,所述方法还包括:
提取所述测试数据和待测软件信息的基本内容,生成一次校准报表;
汇总整理所述一次校准报表记载的所述测试数据和待测软件信息的基本内容,生成用于信息共享的待测报告。
第二方面,本发明申请提供另一种回归测试方法,包括:
获取用于软件测试的测试数据及待测软件信息;
获取与所述待测软件信息相应的目标编码文件,所述目标编码文件包括待测软件的全部或部分编码文件;
模拟所述目标编码文件的运行环境,运行所述目标编码文件;
模拟用户操作,生成操作事件指令;
以所述测试数据为输入参数,执行所述操作事件指令,测试所述目标编码文件对所述操作事件指令的响应;
汇总测试所得数据,生成记录测试结果的回归测试报告;
发送所述回归测试报告至缺陷跟踪管理系统。
可选的,所述模拟用户操作,生成操作事件指令,包括:
根据所述目标编码文件的代码内容,确定需要由用户执行的目标操作;
模拟用户执行所述目标操作,生成与所述目标操作相对应的操作事件指令。
可选的,所述测试数据包括期望值;
所述根据所述目标编码文件的代码内容,确定需要由用户执行的目标操作,包括:
根据所述目标编码文件的代码内容,确定为得到所述期望值需要由用户执行的目标操作。
可选的,所述测试数据包括随机测试基值,所述随机测试基值与所述期望值对应设置;
所述以所述测试数据为输入参数,执行所述操作事件指令,包括:
调用所述随机测试基值,以所述随机测试基值作为所述操作事件指令的输入参数,执行所述操作事件指令。
可选的,本发明申请提供的另一种回归测试方法,所述方法还包括:
比对所述期望值和所述测试所得数据,判断所述目标编码文件是否存在错误;
若所述目标编码文件存在错误,则生成异常记录持久化请求,并发送所述异常记录持久化请求至所述缺陷跟踪管理系统,其中,所述异常记录持久化请求表征所述编码文件存在错误。
第三方面,本发明申请提供的一种回归测试装置,包括:
第一获取单元,用于获取用于软件测试的测试数据及待测软件信息;
第一发送单元,用于将所述测试数据和待测软件信息发送至测试虚拟机,以使所述测试虚拟机根据所述待测软件信息获取目标编码文件并使所述虚拟测试机根据所述测试数据对所述目标编码文件进行测试,其中,所述测试虚拟机能够模拟所述目标编码文件的运行环境,所述目标编码文件包括所述待测软件的全部或部分编码文件;
第一接收单元,用于接收所述测试虚拟机反馈的记录所述目标编码文件测试结果的回归测试报告。
第四方面,本发明申请提供的另一种回归测试装置,包括:
第二获取单元,用于获取用于软件测试的测试数据及待测软件信息;
第三获取单元,用于获取与所述待测软件信息相应的目标编码文件,所述目标编码文件包括待测软件的全部或部分编码文件;
运行单元,用于模拟所述目标编码文件的运行环境,运行所述目标编码文件;
第一生成单元,用于模拟用户操作,生成操作事件指令;
测试单元,用于以所述测试数据为输入参数,执行所述操作事件指令,测试所述目标编码文件对所述操作事件指令的响应;
第二生成单元,用于汇总测试所得数据,生成记录测试结果的回归测试报告;
第二发送单元,用于发送所述回归测试报告至缺陷跟踪管理系统。
第五方面,本发明申请提供的服务器,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现上述第二方面任一项所述的回归测试方法的步骤。
基于上述技术方案,本发明申请提供的回归测试方法,缺陷跟踪管理系统在获取测试数据和待测软件信息后,将所获信息发送至测试虚拟机,测试虚拟机根据待测软件信息获取目标编码文件,并模拟目标编码文件的运行环境,运行目标编码文件,进一步根据测试数据对目标编码文件进行测试,模拟用户操作,生成数据填充、鼠标点击等操作指令,测试目标编码文件对操作指令的响应,并在完成测试后自动生成回归测试报告,采用本发明申请提供的回归测试方法对待测软件进行测试时,大量的重复动作由软件实现,代替人工操作,减轻测试人员的工作负担,缩短回归测试的耗时,提高测试效率,进一步缩短软件的开发周期。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的回归测试方法的第一流程图,该方法可应用于电子设备,该电子设备可选如笔记本电脑、PC(个人计算机)、平板电脑等具有数据处理能力,能够运行不同应用软件的电子设备,显然,该电子设备在某些情况下也可选用网络侧的服务器实现;参照图1,本发明实施例提供的回归测试方法,可以包括:
S100,缺陷跟踪管理系统获取测试数据和待测软件信息。
在软件测试工作中,缺陷跟踪管理系统主要完成对缺陷报告的记录、分析和状态更新等管理,一个完善的缺陷跟踪管理系统对于测试的成功实施是非常重要的。
为实现本发明实施例提供的回归测试方法,缺陷跟踪管理系统首先需要获取用于测试待测软件的测试数据,以及待测软件的基本信息。
可选的,需要获取的待测软件的基本信息至少包括功能模块名称、功能模块版本号、描述信息、回测编码标识;需要获取的测试数据至少包括期望值和随机测试基值。
上述各名词的基本含义及作用如下:
功能模块名称可以选用具有特定含义的单词或词组构成,同样,也可以选用无词义的字符串构成,功能模块名称的设置由软件开发者设定,测试人员在应用本发明实施例提供的测试方法进行测试时,提前获知相应内容即可。
功能模块版本号表示功能模块的版本信息,通过版本号可以直观的获知功能模块的更新迭代次数。
描述信息可以理解为备注信息,主要内容包括对待测软件、待测功能模块、测试记录等相关内容的简要描述,便于测试人员了解基本信息。
回测编码标识可以直接选用软件的版本号,用于表示软件的版本信息,同时还可用于查找软件具体待测的某些功能模块的编码文件。
随机测试基值是测试用数据,在软件测试过程中作为输入数据使用,具体的,可以作为某些函数的输入值,可以作为模拟数据填充操作时的样本数据,具体如何应用需要结合待测软件需要测试的内容以及软件的具体功能确定。
期望值表示待测软件的预期输出结果,可以看作是标准值,作为判断软件是否存在错误的判断标准,具体应用时,需要将随机测试基值作为输入参数,应用虚拟测试机模拟待测软件的运行,将得到的输出结果与期望值比对,如果二者一致,则可以判定待测软件的编码文件没有错误;当然,也可以指定一预设偏差范围,判断模拟运行的输出结果与期望值的偏差是否处于预设偏差范围内,如果处于预设偏差范围内,则判定待测软件的编码文件没有错误。
可选的,在缺陷跟踪管理系统获取测试数据及待测软件信息之后,为便于数据的传输与查阅,可以对所获取的信息进行初步的汇总与整理,并将汇总与整理后的数据作为原始记录保存,以便测试人员随时查阅测试记录,利于软件测试工作的流程管理。
在缺陷跟踪管理系统收到待测软件的基本信息以及测试数据后,会自动化整理所获取的信息,生成一次校准报表和待测报告,其中,一次校准报表以报表形式体现了待测软件的基本信息以及用于测试的测试数据,使这些信息更加直观的展示给测试人员,便于测试人员获取关键信息,最主要的,一次校准报表可作为后续操作中判断待测软件的编码文件是否存在错误的对比标准,可以使的对比工作标准化,系统化,不再依赖测试人员人工比对,而是由测试系统自动完成,为提高测试工作的效率,缩短软件研发周期打下基础。
待测报告根据上述一次校准报表生成,主要记载测试环境、测试人员信息、版本测试情况等内容,主要用于测试人员、开发人员信息共享,测试人员、开发人员都可以查阅此待测报告,获取待测软件的相关信息。
可选的,一种可应用于本发明的缺陷跟踪管理系统为Jira系统,Jira系统是目前比较流行的基于Java架构的管理系统,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。而且该系统采用开源架构搭建,就是在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发,它配置灵活、功能全面、部署简单、扩展丰富,是一款应用极为普遍的软件,本发明申请基于Jira实现待测软件的基本信息以及测试数据的获取操作,通过对Jira提供的二次接口进行定制化字段设计,使其能够顺利接收为实现本发明所需输入的基本参数。
步骤S110,缺陷跟踪管理系统将测试数据和待测软件信息发送至测试虚拟机。
测试虚拟机可以模拟待测软件的运行环境,待测软件在测试虚拟机中运行和在真实的计算机上运行一样,可以获取所需的各种资源,测试虚拟机可以看作是虚构的计算机,能够模拟真实的计算机的各种功能,同时,还可以模拟各种人工操作,比如对待测软件进行数据填充操作,点击鼠标操作等内容,缺陷跟踪管理系统将测试数据和待测软件信息发送至测试虚拟机,作为测试虚拟机模拟待测软件运行的基础信息。
可选的,本发明提供一种可选的测试虚拟机为JVM(Java Virtual Machine,Java虚拟机),JVM是一种用于计算设备的规范,是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java语言的一个非常重要的特点就是与平台的无关性,而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码,而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节编码解释成具体平台上的机器指令执行。JVM的设计目标就是提供一个基于抽象规格描述的计算机模型,为解释程序开发人员提供很好的灵活性,同时也确保Java代码可在符合该规范的任何系统上运行。
因此,可选的,选用以Java语言实现的Jira缺陷跟踪管理系统,仅需对Jira的二次接口做出适应性编码,能够与JVM对接即可,不需要针对不同的操作系统平台做出繁杂的代码调整,提高本发明所提供方法的通用性。
需要说明的是,其他满足本发明要求,能够根据提供的测试数据和待测软件的基本信息,提取相关内容,实现本发明目的的其他缺陷跟踪管理系统,以及能够模拟待测软件运行的测试虚拟机,均可以作为本发明方法中的执行主体。
可选的,缺陷跟踪管理系统可以直接向测试虚拟机发送原始的测试数据和待测软件信息,也可以向测试虚拟机发送前述的一次校准报表,由于一次校准报表中的数据经过初步的归纳与处理,因此发送一次校准报表有利于提高测试虚拟机的处理效率。
可选的,为保证JVM等测试虚拟机能够顺利接收缺陷跟踪管理系统发送的测试数据和待测软件的基本信息,缺陷跟踪管理系统可在发送具体数据前,发送一回测信号,以通知虚拟测试机准备接收数据。
步骤S120,测试虚拟机接收测试数据和待测软件信息。
在缺陷跟踪管理系统发送上述测试数据和待测软件的基本信息后,测试虚拟机需要接收对应信息。
可选的,如果缺陷跟踪管理系统在发送测试数据和待测软件的基本信息之前,还发送了回测信号,测试虚拟机在收到该回测信号后,即进入接收测试数据和待测软件的基本信息的准备阶段,准备接收测试数据和待测软件的基本信息。
步骤S130,测试虚拟机获取目标编码文件。
根据待测软件的修改程度不同,需要进行回归测试的内容也会不同,如果待测软件的所有功能模块都做出了修改,或者由于修改了与其他功能模块关联较多的功能模块,担心造成其他未做修改的功能模块产生连带错误,就需要对待测软件整体进行测试,此时,测试虚拟机就需要获取待测软件的全部编码文件,相应的,如果仅对待测软件的某个功能模块做出修改,或者不必进行测试即可确认做出修改的功能模块不会引起其他功能模块发生错误,那么仅需要获取待测软件中做出代码修改的功能模块的编码文件,而不必获取整个待测软件的全部编码文件。
测试对象不同,测试虚拟机获取的目标编码文件所需的软件信息亦有不同,如果需要测试软件整体的编码文件是否存在错误,就需要获取待测软件整体的相关信息,比如,用于表示软件的版本信息的回测编码标识,如果只需要测试待测软件新增或做出修改的某些功能模块,那么除了要获取回测编码标识外,还要进一步获取对应功能模块的相关信息,如功能模块名称、功能模块版本号等。
可选的,测试虚拟机可以从代码库处获取待测软件的目标编码文件,代码库对于将组件打包并重复使用是非常方便的方法,它们提供了一种将代码封装在单个文件中、允许继承和修改这些文件并允许分发离散的功能单元的可移植方法。可以将来自多个不同项目的组件合并到一个代码库中。
测试虚拟机从代码库中获取目标编码文件的一种可选方法是:
测试虚拟机发送测试请求至代码库,测试请求中包含待测软件信息,具体的,测试请求中包含待测软件的功能模块名称、功能模块版本号和回测编码标识等内容。代码库接收测试虚拟机发送的包含待测软件信息的测试请求,并通过测试请求中包含的信息确定待测软件的目标编码文件。
可选的,代码库接收的测试请求中包含待测软件的功能模块名称、功能模块版本号和回测编码标识,通过这三项信息可以唯一的确定待测软件的目标编码文件,进一步的,可通过回测编码标识确定待测软件的具体版本,即唯一的确定与回测编码标识相对应的版本的一个待测软件;然后通过功能模块名称确定待测软件需要进行回归测试的功能模块,比如,确定名称为“mission”的功能模块,最后通过功能模块版本号确定名称为“mission”的功能模块的需要进行回归测试的迭代版本,该迭代版本对应的编码文件即为待测软件的目标编码文件。
可选的,通过功能模块名称、功能模块版本号和回测编码标识三者唯一的确定待测软件的编码文件的方式有多种,可以通过搜索对应字符串的方式,逐步缩小查找的范围,也可以在建立代码库时以三者的字符串作为存储路径,按照对应的存储路径存储功能模块的代码文件,当需要查找某一功能模块时,按照功能模块名称、功能模块版本号和回测编码标识字符串构成的存储路径逐层查找即可找到待测软件的编码文件,当然,还可以将功能模块名称、功能模块版本号和回测编码标识三者的字符串组合,构成待测软件的编码文件的唯一标识,调用时,查找该唯一标识即可,总之,任何能够唯一确定待测软件的编码文件的标识方式均是允许的。
确定待测软件的编码文件后,代码库需要将对应的编码文件发送至测试虚拟机,以便测试虚拟机对编码文件进行测试。
步骤S140,测试虚拟机模拟目标编码文件运行环境,运行目标编码文件。
测试虚拟机在获取待测软件的目标编码文件后,即可加载获取的目标编码文件,模拟该目标编码文件的运行环境,运行该目标编码文件,在测试虚拟机中运行目标编码文件,目标编码文件可获取运行所需的所有计算机资源,如同在实际的运行平台上运行一样,可以真实的检测目标编码文件运行的可靠性。
步骤S150,测试虚拟机模拟用户操作,生成操作事件指令。
测试虚拟机在获取待测软件的目标编码文件后,可以从目标编码文件中记载的具体代码内容获知需要由用户执行的操作,比如,待测软件需要根据用户填充数据,并依据所填充的数据内容进行下一页面的跳转,此时用户的操作即为数据填充操作,又如,待测软件需要接收用户的确认指令或否认指令,以进行后续内容的显示,此时,用户的操作即为操作鼠标,点击确认按钮或点击取消按钮,在根据目标编码文件的代码内容确定需由用户执行的目标操作后,测试虚拟机会对应的生成操作事件指令。
进一步的,缺陷跟踪管理系统获取的测试数据包括随机测试基值和期望值,且为了便于比对测试结果,随机测试基值和期望值是对应设置的。为验证编码文件对特定指令或数据的响应情况,需要在测试时结合期望值和目标编码文件的具体内容确定目标操作事件,期望值可以作为某种运算的输出值,同样也可以作为生成某种目标操作事件的参考依据,或者作为经过一定预期操作后得到的最终结果,因此,测试虚拟机需要根据目标编码文件的具体内容和期望值确定目标操作事件,并进一步生成与目标操作相对应的模拟用户操作的操作事件指令。
步骤S160,测试虚拟机以测试数据为输入参数,执行操作事件指令,测试目标编码文件对操作事件指令的响应。
测试虚拟机在运行待测软件的目标编码文件的同时,会根据目标编码文件的具体内容以及期望值确定目标操作事件,并模拟用户操作生成目标操作事件指令,之后,测试虚拟机将生成的操作事件指令发送至待测软件的目标编码文件,使目标编码文件执行该指令,以测试目标编码文件对指令的响应情况,记录响应过程。
可选的,测试虚拟机会根据操作事件指令调用随机测试基值,将随机测试基值作为操作事件指令的输入参数或操作对象,结合随机测试基值测试目标编码文件。
可选的,还可将依据随机测试基值执行操作事件指令生成的测试结果针对性的与期望值进行比对记录,使测试结果更加显而易见。
步骤S170,测试虚拟机汇总测试所得数据,生成记录测试结果的回归测试报告。
完成测试后,测试虚拟机会得到诸多测试数据,以及运行过程记录等信息,汇总整理所得数据,生成回归测试报告,回归测试报告是测试结果的总结性记录文件,主要汇总整理模拟运行待测软件的目标编码文件之后的运行结果。
步骤S180,测试虚拟机发送回归测试报告至缺陷跟踪管理系统。
测试虚拟机在完成对待测软件的目标编码文件的运行测试后,得到测试数据,并进一步生成回归测试报告,之后便会将得到的回归测试报告发送给缺陷跟踪管理系统。
可选的,测试虚拟机接收的测试数据中包括随机测试基值和期望值,将期望值和测试所得的运行结果进行比对,判断待测软件的编码文件是否存在错误,可选的,判断待测软件的编码文件是否存在错误的方式有多种,可以比对期望值与运行结果是否一致,如果一致,则判定编码文件没有错误,反之,则判定编码文件存在错误;当然,也可以预设一偏差范围,得到运行结果后,计算运行结果中的各参数与期望值之间的偏差,判断所得偏差是否处于预设偏差范围内,如果所得偏差处于预设偏差范围内,则判定待测软件的编码文件没有错误。
可选的,本发明申请实施例提供的测试虚拟机JVM,如果接收到缺陷跟踪管理系统发送的一次校准报表,那么JVM在完成对待测软件的目标编码文件的测试后,会将模拟运行待测软件之后的运行结果进行汇总整理,生成二次校准报表,之后JVM会自动对一次校准报表和二次校准报表进行比对,判断待测软件的编码文件是否存在错误。
需要说明的是,一次校准报表和二次校准报表的格式是完全一样的,唯一的区别在于记录的内容的不同,一次校准报表是缺陷跟踪管理系统在获取了待测软件的测试数据和待测软件信息之后,对所获取的信息进行汇总、整理,得到记录有与待测软件相关的原始数据的一次校准报表,二次校准报表则在相同格式的文档中记录经过JVM模拟运行后的待测软件的运行结果,这样设计的目的在于,JVM仅需比对报表中相同项目的具体内容,即可判断待测软件的编码文件是否存在错误,简便易行。
可选的,如果判定待测软件的编码文件存在错误,则测试虚拟机在生成并发送回归测试报告的同时,还会向缺陷跟踪管理系统发送表征待测软件的编码文件存在错误的异常记录持久化请求,通过该异常记录持久化请求可以直观的看出待测软件的目标编码文件存在错误。
步骤S190,缺陷跟踪管理系统接收测试虚拟机发送的回归测试报告。
缺陷跟踪管理系统接收测试虚拟机发送的回归测试报告,如果目标编码文件存在错误,缺陷跟踪管理系统还会接收到测试虚拟机发送的异常记录持久化请求。
可选的,缺陷跟踪管理系统在接收到测试待测软件结论性信息后,会在所述待测软件的存储目录下自动生成测试记录,并简要显示测试结论,如果同时收到了回归测试报告和异常记录持久化请求,还可以对该次测试结论予以突出显示,提醒相关人员查看,开发人员和测试人员都可以登录缺陷跟踪管理系统查看相关软件的测试信息以及其他信息。
可选的,缺陷跟踪管理系统还可以将接收到的回归测试报告组装为邮件,以邮件的形式通知开发人员,开发人员不需要登录缺陷跟踪管理系统即可查看测试结论,提高测试人员与开发人员之间的交流效率,缩短软件开发与维护的周期。
通过本发明申请实施例提供的回归测试方法,本发明申请提供的回归测试方法,缺陷跟踪管理系统在获取测试数据和待测软件信息后,将所获信息发送至测试虚拟机,测试虚拟机根据待测软件信息获取目标编码文件,并模拟目标编码文件的运行环境,运行目标编码文件,进一步根据测试数据对目标编码文件进行测试,模拟用户操作,生成数据填充、鼠标点击等操作指令,测试目标编码文件对操作指令的响应,并在完成测试后自动生成回归测试报告,采用本发明申请提供的回归测试方法对待测软件进行测试时,大量的重复动作由软件实现,代替人工操作,减轻测试人员的工作负担,缩短回归测试的耗时,提高测试效率,进一步缩短软件的开发周期。
可选的,本申请提供的回归测试方法的一个应用可如下所示,各步骤中所涉及操作及概念的含义均可参照前述内容,参见图2,本发明实施例提供的回归测试方法的第二流程图,该应用实施例包括如下步骤:
步骤S200,Jira系统接收测试数据和待测软件信息。
测试人员根据测试需求,向Jira系统中录入测试数据和待测软件信息,Jira系统接收测试人员的录入信息,作为对待测软件进行回归测试的基础数据。
步骤S201,Jira系统生成一次校准报表和待测报告。
Jira系统在接收测试数据和待测软件信息后,整理汇总所接收到的数据,提取关键信息,生成一次校准报表和待测报告,测试人员和开发人员都可以登录Jira系统,查看该待测报告,实现信息共享。
步骤S202,Jira系统发送回测信号。
Jira系统发送回测信号给Java虚拟机,准备进一步发送一次校准报表。
步骤S203,Java虚拟机接收回测信号。
步骤S204,Jira系统发送一次校准报表。
Java虚拟机在接收到Jira系统发送的回测信号后,便进入数据接收准备阶段,进一步,Jira系统会发送一次校准报表至Java虚拟机。
步骤S205,Java虚拟机接收一次校准报表。
步骤S206,Java虚拟机发送测试请求信号。
Java虚拟机提取一次校准报表中包含的待测软件信息,待测软件信息具体包括功能模块名称、功能模块版本号和回测编码标识,并向代码库发送包含待测软件信息的测试请求信号。
步骤S207,代码库接收测试请求信号。
步骤S208,代码库根据测试请求信号,确定目标编码文件。
代码库接收Java虚拟机发送的测试请求信号后,提取测试请求信号中包含的功能模块名称、功能模块版本号、回测编码标识,并依据获得的信息,确定自身存储的与相应信息相符的目标代码文件。
步骤S209,代码库发送目标编码文件。
代码库发送目标编码文件至Java虚拟机,使其对目标编码文件进行测试。
步骤S210,Java虚拟机获取目标编码文件。
步骤S211,Java虚拟机运行并测试目标编码文件。
Java虚拟机在获得目标编码文件后,模拟目标编码文件的运行环境,并对目标编码文件进行测试。
步骤S212,Java虚拟机生成二次校准报表及回归测试报告。
在完成测试后,Java虚拟机汇总整理测试所得数据,生成二次校准报表,以及回归测试报告。
步骤S213,Java虚拟机判断目标编码文件是否存在错误。
通过比对一次校准报表和二次校准报表的内容,Java虚拟机可以判断目标编码文件是否存在错误,如果判定目标编码文件存在错误,则执行步骤S214,如果判定目标编码文件不存在错误,则执行步骤S215。
步骤S214,Java虚拟机发送异常记录持久化请求及回归测试报告。
如果目标编码文件存在错误,Java虚拟机在向Jira系统发送回归测试报告的同时,还会发送表征目标编码文件存在错误的异常记录持久化请求,使得测试人员或开发人员可以直观的得知目标编码文件是否存在错误。
步骤S215,Java虚拟机发送回归测试报告。
如果判定目标编码文件不存在错误,则Java虚拟机进项Jira系统发送回归测试报告。
步骤S216,Jira系统接收回归测试报告,或接收回归测试报告和异常记录持久化请求。
步骤S217,Jira系统向开发人员发邮件。
Jira系统在接收到测试结论后,会将回归测试报告组装为邮件,以邮件的方式通知开发人员待测软件的测试结论。
开发人员收到邮件后,点击下载邮件中的附件内容,即可获得该回归测试报告。
通过本发明申请实施例提供的回归测试方法,最大程度的降低了测试过程中测试人员的参与程度,通过模拟测试过程中数据录入、鼠标点击等测试操作,有效提高测试操作的自动化程度,缩短测试耗时,并进一步缩短软件的开发与维护周期。
下面对本申请提供的回归测试装置进行介绍,下文描述的回归测试装置可以认为是为实现本申请提供的回归测试方法,在中央设备中需设置的功能模块架构;下文描述内容可与上文相互参照。
图3为本发明实施例提供的一种回归测试装置的结构框图,该装置应用于图1所示的缺陷跟踪管理系统中,参照图3,该装置可以包括:
第一获取单元10,用于获取用于软件测试的测试数据及待测软件信息;
第一发送单元20,用于将所述测试数据和待测软件信息发送至测试虚拟机,以使所述测试虚拟机根据所述待测软件信息获取目标编码文件并使所述虚拟测试机根据所述测试数据对所述目标编码文件进行测试,其中,所述测试虚拟机能够模拟所述目标编码文件的运行环境,所述目标编码文件包括所述待测软件的全部或部分编码文件;
第一接收单元30,用于接收所述测试虚拟机反馈的记录所述目标编码文件测试结果的回归测试报告。
可选的,参见图4,本发明实施例提供的另一种回归测试装置的结构框图,该装置在图3所示实施例的基础上还可以包括:
提取单元40,用于提取所述测试数据和待测软件信息的基本内容,生成一次校准报表;
汇总单元50,用于汇总整理所述一次校准报表记载的所述测试数据和待测软件信息的基本内容,生成用于信息共享的待测报告。
可选的,图5示出的本发明实施例提供的又一种回归测试装置的结构框图,该装置应用于图1所示的缺陷跟踪管理系统中,该装置可以包括:
第二获取单元60,用于获取用于软件测试的测试数据及待测软件信息;
第三获取单元70,用于获取与所述待测软件信息相应的目标编码文件,所述目标编码文件包括待测软件的全部或部分编码文件;
运行单元80,用于模拟所述目标编码文件的运行环境,运行所述目标编码文件;
第一生成单元90,用于模拟用户操作,生成操作事件指令;
测试单元100,用于以所述测试数据为输入参数,执行所述操作事件指令,测试所述目标编码文件对所述操作事件指令的响应;
第二生成单元110,用于汇总测试所得数据,生成记录测试结果的回归测试报告;
第二发送单元120,用于发送所述回归测试报告至缺陷跟踪管理系统。
可选的,第一生成单元90,用于模拟用户操作,生成操作事件指令,具体包括:
根据所述目标编码文件的代码内容,确定需要由用户执行的目标操作;
模拟用户执行所述目标操作,生成与所述目标操作相对应的操作事件指令。
可选的,测试数据包括期望值,当第一生成单元90用于根据所述目标编码文件的代码内容,确定需要由用户执行的目标操作时,具体包括:
根据所述目标编码文件的代码内容,确定为得到所述期望值需要由用户执行的目标操作。
可选的,测试数据包括随机测试基值,且随机测试基值与期望值对应设置,测试单元100,用于以所述测试数据为输入参数,执行所述操作事件指令时,具体包括:
调用所述随机测试基值,以所述随机测试基值作为所述操作事件指令的输入参数,执行所述操作事件指令。
可选的,图6示出的本发明实施例提供的再一种回归测试装置的结构框图,该装置在图5所示实施例的基础上还可以包括:
比对判断单元130,用于比对所述期望值和所述测试所得数据,判断所述目标编码文件是否存在错误;
第三发送单元140,用于若所述目标编码文件存在错误,则生成异常记录持久化请求,并发送所述异常记录持久化请求至所述缺陷跟踪管理系统,其中,所述异常记录持久化请求表征所述编码文件存在错误。
图7为本发明实施例提供的服务器的硬件结构图,参见图7所示,包括:可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图7所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
可选的,通信接口200可以为通信模块的接口,如GSM模块的接口;
处理器100可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器300可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器100具体用于实现上述所述的回归测试方法的任一实施例。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。