CN105446868B - 系统兼容性测试方法、测试用例管理方法及相关装置 - Google Patents

系统兼容性测试方法、测试用例管理方法及相关装置 Download PDF

Info

Publication number
CN105446868B
CN105446868B CN201410421383.XA CN201410421383A CN105446868B CN 105446868 B CN105446868 B CN 105446868B CN 201410421383 A CN201410421383 A CN 201410421383A CN 105446868 B CN105446868 B CN 105446868B
Authority
CN
China
Prior art keywords
client
side program
test case
version number
program
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.)
Expired - Fee Related
Application number
CN201410421383.XA
Other languages
English (en)
Other versions
CN105446868A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410421383.XA priority Critical patent/CN105446868B/zh
Publication of CN105446868A publication Critical patent/CN105446868A/zh
Application granted granted Critical
Publication of CN105446868B publication Critical patent/CN105446868B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种系统兼容性测试方法、测试用例管理方法及相关装置,其对于待测试客户端程序的各项非新增功能,分别获取并运行对应的预设测试用例,根据各个预设测试用例的运行结果分析待测试客户端程序和服务器程序之间的兼容性;如果待测试客户端程序为旧版客户端程序,则读取与其版本号对应的第一预设测试用例;如果待测试客户端程序为新版客户端程序,则获取较低版本号对应的第二预设测试用例,复用该第二预设测试用例实现兼容性测试。本申请分别针对客户端程序的各项非新增功能获取并运行测试用例,同一测试用例可以被具有对应功能的不同版本客户端程序所复用,使得测试用例的复用率增加,测试过程中的工作量减少,测试效率升高。

Description

系统兼容性测试方法、测试用例管理方法及相关装置
技术领域
本发明涉及通信技术领域,特别是涉及一种系统兼容性测试方法、测试用例管理方法及相关装置。
背景技术
C/S系统,即客户端(Client)和服务器(Server)组成的系统;该系统中的客户端和服务器都具有数据处理能力,通过将任务合理分配到客户端和服务器,可以降低系统的通讯开销;针对某项功能,分别开发服务器程序和对应的客户端程序,可以降低开发难度。上述C/S系统中,通常为一个服务器对应多个客户端,如果不同客户端之间的程序升级不同步,则导致不同的客户端采用不同版本的客户端程序,使得系统中服务器程序是唯一的(通常为最新版本的服务器程序),而客户端程序存在多种版本。因此,有必要对服务器程序和客户端程序进行兼容性测试,以保证当前的服务器程序能够兼容各个版本的客户端程序,进而保证C/S系统的正常运行。
现有一种兼容性测试方法,其在系统升级前录制并存储测试用例和测试结果等数据,在系统升级后,回放升级前存储的测试用例,得到对应的升级后的测试结果,通过比对升级前的测试结果和升级后的测试结果来分析系统的兼容性。应用上述兼容性测试方法,需要录制并存储每个版本的服务器程序和客户端程序的组合对应的测试用例和测试结果,如在将服务器程序由V2.0版本升级至V3.0版本前,需要分录制并存储V2.0版本的服务器程序和V2.0版本的客户端程序配合运行时的测试用例及测试结果,以验证升级后的V3.0版本的服务器程序和V2.0版本的客户端程序之间的兼容性,还要录制并存储V2.0版本的服务器程序和V1.0版本的客户端程序配合运行时的测试用例及测试结果,以验证升级后的V3.0版本的服务器程序和V1.0版本的客户端程序之间的兼容性,依次类推。
可见,上述兼容性测试方法中存储的测试用例复用率低,升级前的录制和存储工作量大,测试效率低。
发明内容
本申请实施例中提供了一种系统兼容性测试方法、测试用例管理方法及相关装置,以解决现有兼容性测试方法工作量大、测试效率低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
本申请第一方面公开了一种系统兼容性测试方法;该方法应用于具有服务器和客户端的系统,包括以下步骤:
获取待测试客户端程序的第一版本号;
判断待测试客户端程序是否为新版客户端程序;
如果待测试客户端程序不是新版客户端程序,则分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例;
如果待测试客户端程序是新版客户端程序,则分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
运行获取到的标记有第一版本号的预设测试用例,得到运行结果;
根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
结合第一方面,在第一方面第一种可行的实施方式中,所述方法还包括:
如果待测试客户端程序是新版客户端程序,则分别接收待测试客户端程序的各项新增功能对应的新增测试用例,将所述新增测试用例的版本号标记为所述第一版本号;
存储标记有所述第一版本号的第二预设测试用例和新增测试用例。
结合第一方面,或者第一方面第一种可行的实施方式,在第一方面第二种可行的实施方式中,所述运行结果包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
结合第一方面第二种可行的实施方式,在第一方面第三种可行的实施方式中,根据所述运行结果分析待测试客户端程序和服务器程序之间的兼容性,包括:
检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。
本申请第二方面公开了一种系统兼容性测试装置;该装置应用于具有服务器和客户端的系统,包括:
版本号获取单元,用于获取待测试客户端程序的第一版本号;
版本判断单元,用于判断待测试客户端程序是否为新版客户端程序;
第一获取单元,用于在待测试客户端程序不是新版客户端程序时,分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例;
第二获取单元,用于在待测试客户端程序是新版客户端程序时,分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
运行单元,用于运行获取到的标记有第一版本号的预设测试用例,得到运行结果;
分析单元,用于根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
结合第二方面,在第二方面第一种可行的实施方式中,所述装置还包括:
第三获取单元,用于在所述版本判断单元判定待测试客户端程序是新版客户端程序时,接收待测试客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储单元,用于存储标记有第一版本号的第二预设测试用例和新增测试用例。
结合第二方面,或者第二方面第一种可行的实施方式,在第二方面第二种可行的实施方式中,所述执行结果包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
结合第二方面第二种可行的实施方式,在第二方面第三种可行的实施方式中,所述分析单元,包括:异常数据检测单元,用于检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。
本申请第三方面公开了一种测试用例管理方法;该方法应用于具有服务器和客户端的系统,包括:
获取系统升级得到的新版客户端程序的第一版本号;
分别判断所述新版客户端程序的每项功能是否为新增功能;
获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储标记有所述第一版本号的预设测试用例和新增测试用例。
本申请第三方面公开了一种测试用例管理装置;该装置应用于具有服务器和客户端的系统,包括:
版本号获取单元,用于获取系统升级得到的新版客户端程序的第一版本号;
功能判断单元,用于分别判断所述新版客户端程序的每项功能是否为新增功能;
第一获取单元,用于获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
第二获取单元,用于接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储单元,用于存储标记有所述第一版本号的预设测试用例和新增测试用例。
由以上技术方案可知,本申请实施例提供的系统兼容性测试方法,对于待测试客户端程序的各项非新增功能,分别获取对应的预设测试用例,运行获取到的各个预设测试用例,根据各个预设测试用例的运行结果分析待测试客户端程序和服务器程序之间的兼容性;其中,如果待测试客户端程序为旧版客户端程序,则其各项功能都是非新增功能,可以直接读取得到与该待测试客户端程序的版本号对应的第一预设测试用例;如果待测试客户端程序为新版客户端程序,不存在与该待测试客户端程序的版本号对应的预设测试用例,故获取较低版本号对应的第二预设测试用例,复用该第二预设测试用例实现新版客户端程序与服务器程序之间的兼容性测试。可见,本申请实施例实现兼容性测试的测试用例不是针对某个版本客户端程序的整体,而是针对客户端程序的某项功能,不受服务器程序和客户端程序的版本限制;对于同一种功能,不同版本的客户端程序可以复用同一个测试用例,测试用例的复用率高,可以减少测试过程中的工作量,提高测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统兼容性测试方法的流程图;
图2为本申请实施例提供的另一种系统兼容性测试方法的流程图;
图3为本申请实施例提供的一种系统兼容性测试装置的结构框图;
图4为本申请实施例提供的另一种系统兼容性测试装置的结构框图;
图5为本申请实施例提供的一种测试用例管理方法的流程图;以及
图6为本申请实施例提供的一种测试用例管理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的一种系统兼容性测试方法的流程图,该方法应用于C/S系统。
参照图1,本实施例提供的系统兼容性测试方法包括以下步骤:
S11、获取待测试客户端程序的第一版本号。
S12、判断待测试客户端程序是否为新版客户端程序,如果待测试客户端程序是新版客户端程序,则执行步骤S14,否则执行步骤S13。
如果上一次兼容性测试之后,未开发新版本的客户端程序,则所有客户端上运行的程序均为旧版客户端程序,不存在新版客户端程序。
如果上一次兼容性测试之后,开发了新版本的客户端程序,则某个客户端上运行的程序可能为新版客户端程序,也可能为旧版客户端程序。本申请实施例中,可以通过比较上述第一版本号和客户端程序的最新版本号,判断待测试客户端程序是否为新版客户端程序,即:如果第一版本号等于客户端程序的最新版本号,则可以判定待测试客户端程序是新版客户端程序,如果第一版本号低于客户端程序的最新版本号,则可以判定待测试客户端程序不是新版客户端程序。
S13、分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例,并执行步骤S15。
S14、分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号,并执行步骤S15。
上述第二版本号低于所述第一版本号。
在执行系统兼容性测试之前,可以针对现有客户端程序的各项功能分别设置对应的测试用例;不同版本客户端程序中,实现同一功能的程序代码是基本相同的,因此可以复用同一各测试用例。为便于兼容性测试过程中对测试用例的调用,本申请实施例中,为每个测试用例标记对应客户端程序的版本号。例如,现有的客户端程序包括V2.0和V1.0两个版本,且V2.0版本的客户端程序具有A、B、C三项功能,V1.0版本的客户端程序具有A、B两项功能,则只需要设置三种测试用例,分别为:A功能对应的测试用例A’、B功能对应的测试用例B’和C功能对应的测试用例C’。为便于兼容性测试过程中调用相关测试用例,可以建立测试用例库,按照如下方式存储上述三种测试用例:将上述A’和B’两种测试用例存储在测试用例库的第一存储单元中,并分别为第一存储单元中的测试用例A’和B’设置版本标记“V1.0”,以下表示为A’(V1.0)和B’(V1.0);复制测试用例A’和B’,将测试用例C’,以及复制得到的A’和B’共同存储在测试用例库的第二存储单元中,并分别为第二存储单元中的测试用例A’、B’和C’设置版本标记“V2.0”,以下表示为A’(V2.0)、B’(V2.0)和C’(V2.0)。根据上述存测试用例库,标记有V1.0的测试用例A’(V1.0)和B’(V1.0)即为V1.0版本的客户端程序对应的预设测试用例,标记有V2.0的测试用例A’(V2.0)、B’(V2.0)和C’(V2.0)即为V2.0版本的客户端程序对应的预设测试用例。
本申请实施例中,如果待测试客户端程序不是新版客户端程序,即该待测试客户端程序是旧版客户端程序,则可以判定该待测试客户端程序无新增功能,每项功能均为原有功能,均存在对应的预设测试用例;因此,可以直接调用待测试客户端程序的各项功能对应的预设测试用例。
如果待测试客户端程序是新版客户端程序,则该待测试客户端程序可能存在新增功能;由于该新增功能是基于当前的服务器程序设计的,故对于该新增功能,相应的新版客户端程序和服务器程序一定兼容;因此,对于新版客户端程序与服务器程序之间的兼容性测试,只需针对非新增功能(即原有功能)进行兼容性测试即可。如果客户端程序的升级过程发生在测试用例设置过程之后,则对于新版客户端程序,不存在与其版本号对应的预设测试用例;有鉴于此,本申请实施例中获取各项非新增功能对应的、标记有较低版本号(第二版本号)的预设测试用例,并将其版本号重新标记为第一版本号,即复用旧版客户端程序的预设测试用例,作为该新版客户端程序的测试用例。
例如,在客户端程序升级至V3.0版本的情况下,对C/S系统兼容性测试过程包括当前的服务器程序分别与V3.0、V2.0和V1.0三个版本的客户端程序的兼容性测试;其中,对于V2.0版本的客户端程序,由于其为旧版程序,其各项功能对应的测试用例均已预先设置,故可以直接读取相应存储单元中标记有V2.0的预设测试用例,作为服务器程序和V2.0版本的客户端程序的兼容性测试所需的测试用例。同理,对于V1.0版本的客户端程序,直接读取相应存储单元中标记有V1.0的预设测试用例,作为服务器程序和V1.0版本的客户端程序的兼容性测试所需的测试用例。
对于V3.0版本的客户端程序,由于不存在标记有V3.0的预设测试用例,故可以读取标记有V2.0的预设测试用例,并将其重新标记为V3.0,作为服务器程序和V3.0版本的客户端程序的兼容性测试所需的测试用例;即复用V2.0版本的客户端程序对应的测试用例,完成服务器程序和V3.0版本的客户端程序的兼容性测试。同理,本申请实施例也可以复用V1.0版本的客户端程序对应的测试用例,完成服务器程序和V3.0版本的客户端程序的兼容性测试。
S15、运行获取到的标记有第一版本号的预设测试用例,得到运行结果。
如果待测试客户端程序是新版客户端程序,则步骤S15运行的预设测试用例为上述版本号修改为第一版本号的第二预设测试用例;如果待测试客户端程序不是新版客户端程序,则步骤S15运行的预设测试用例为上述第一预设测试用例。
S16、根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
本申请实施例中,上述测试用例与待测试客户端程序的功能一一对应,得到的执行结果也与客户端程序的功能一一对应。
上述根据所述执行结果分析兼容性可以包括:汇总分析每项功能对应的执行结果,生成并输出兼容性测试结果;如果所有功能对应的执行结果都无异常,则判定待测试客户端程序与服务器程序兼容;否则,任一项功能的执行结果存在异常,都判定待测试客户端程序与服务器程序不兼容。
由以上技术方案可知,本申请实施例提供的系统兼容性测试方法,对于待测试客户端程序的各项非新增功能,分别获取对应的预设测试用例,运行获取到的各个预设测试用例,根据各个预设测试用例的运行结果分析待测试客户端程序和服务器程序之间的兼容性;其中,如果待测试客户端程序为旧版客户端程序,则其各项功能都是非新增功能,必然存在与该待测试客户端程序的版本号对应的第一预设测试用例,可以直接读取得到该第一测试用例,实现旧版客户端程序与服务器程序之间的兼容性测试;如果待测试客户端程序为新版客户端程序,不存在与该待测试客户端程序的版本号对应的预设测试用例,故获取较低版本号对应的第二预设测试用例,复用该第二预设测试用例实现新版客户端程序与服务器程序之间的兼容性测试。
本申请实施例中,实现兼容性测试的测试用例不是针对某个版本客户端程序的整体,而是针对客户端程序的某项功能;又由于客户端程序即服务器程序升级前后,实现同一种功能的程序代码是基本相同的,故本申请实施例不需要针对升级后的程序整体重新设计测试用例,而是针对每项非新增功能,复用旧版程序中相应功能对应测试用例;可见,本实施例中的测试用例不受服务器程序和客户端程序的版本限制,复用率高,不需要针对服务器程序和客户端程序之间每种版本的组合进行设置,可以减少测试过程中的工作量,提高测试效率。
在本申请一个可行的实施方式中,上述执行结果可以包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
相应的,根据所述执行结果分析待测试客户端程序和服务器程序之间的兼容性,可以为:检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。
上述交互信息存在异常数据,包括:预设测试用例的实际运行结果中的某项数据与预期运行结果中对应的数据不一致(或不在系统允许的误差范围内)。
图2为本申请实施例提供的另一种系统兼容性测试方法的流程图,该方法应用于C/S系统。
参照图2,本实施例提供的系统兼容性测试方法包括以下步骤:
S21、获取待测试客户端程序的第一版本号。
S22、判断待测试客户端程序是否为新版客户端程序,如果待测试客户端程序是新版客户端程序,则执行步骤S24,否则执行步骤S23。
S23、分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例,并执行步骤S27。
S24、分别判断待测试客户端程序的各项功能是否为新增功能。
S25、获取待测试客户端程序的各项非新增功能对应的标记有第二版本号的第二预设测试用例,并接收各项新增功能对应的新增测试用例。
S26、将所述第二预设测试用例和新增测试用例的版本号标记为所述第一版本号,并存储所述标记有第一版本号的第二预设测试用例和新增测试用例。
本申请实施例存储的标记有第一版本号的第二预设测试用例和新增测试用例,可以作为下次兼容性测试的预设测试用例。
S27、运行所述标记有第一版本号的预设测试用例,得到运行结果。
如果待测试客户端程序不是新版客户端程序,则实际运行的标记有第一版本号的预设测试用例即为上述步骤S23获取到的第一预设测试用例;如果待测试客户端程序是新版客户端程序,则实际运行的标记有第一版本号的预设测试用例即为上述步骤S25获取到的第二预设测试用例。
S28、根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
例如,某个C/S系统升级后,其客户端程序的最新版本由V1.0升级至V2.0,V1.0版本的客户端程序具有功能A,V2.0版本的客户端程序具有A和B两项功能。对该C/S系统进行兼容性测试,需要分别测试当前应用的服务器程序与V1.0版本的客户端程序的兼容性,以及该服务器程序与V2.0版本的客户端程序的兼容性。由于升级前只存在V1.0版本的客户端程序,也即至存在功能A,故预设测试用例也只存在标记有V1.0的预设测试用例A’(V1.0)。
当V1.0版本的客户端程序作为待测试客户端程序时,执行步骤S23,直接获取预设测试用例A’(V1.0)。进而执行步骤S27和S28,运行A’(V1.0)并根据运行结果分析服务器程序与V1.0版本的客户端程序的兼容性。
当V2.0版本的客户端程序作为待测试客户端程序时,执行步骤S24至S26,即:对于非新增功能A,获取对应的标记有较低版本号(即V1.0)的预设测试用例A’(V1.0)并修改其版本号,得到V2.0版本的客户端程序中的非新增功能A对应的预设测试用例A’(V2.0),对于新增功能B,接收程序设计、测试等人员编写的新增测试用例并标记版本号,得到新增功能B对应的新增测试用例B’(V2.0)。进而执行步骤S27和S28,运行A’(V2.0)并根据运行结果分析服务器程序与V2.0版本的客户端程序的兼容性。同时,存储A’(V2.0)和B’(V2.0),当客户端程序由V2.0升级至V3.0时,V2.0版本的客户端程序转换为旧版程序,功能B也随之转换为非新增功能,A’(V2.0)和B’(V2.0)作为V2.0版本的客户端程序对应的预设测试用例,用于测试V2.0版本的客户端程序与相应服务器程序的兼容性。
由以上技术方案可知,本申请实施例不仅针对旧版客户端程序的各项功能,以及新版客户端程序的各项非新增功能,分别获取对应的预设测试用例,完成本次兼容性测试;还针对新版客户端程序的新增功能,接收对应的新增测试用例,并将新版客户端程序的版本号设置为该新版客户端程序的各项非新增功能对应的预设测试用例和各项新增功能对应的新增测试用例的版本标记,实现测试用例库的更新,以便在下次系统升级后,上述新版客户端程序转换为旧版客户端程序的情况下,直接根据其版本号获取到各项功能对应的测试用例,不需要重复上次兼容性测试过程中对该版本客户端程序执行的操作(即上述步骤S24和S25),可以减少兼容性测试耗时,提高测试效率。
图3为本申请实施例提供的一种系统兼容性测试装置的结构框图,该装置应用于C/S系统。
参见图3,本申请实施例提供的系统兼容性测试装置300,包括:版本号获取单元310、版本判断单元320、第一获取单元330、第二获取单元340、运行单元350和分析单元360。
其中,版本号获取单元310被配置为,获取待测试客户端程序的第一版本号。
版本判断单元320被配置为,判断待测试客户端程序是否为新版客户端程序,在待测试客户端程序不是新版客户端程序时,触发第一获取单元330,在待测试客户端程序是新版客户端程序时,触发第二获取单元340。
第一获取单元330被配置为,分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例。
第二获取单元340被配置为,分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号。其中,所述第二版本号低于所述第一版本号。
运行单元350被配置为,运行第一获取单元330和第二获取单元340获取到的标记有第一版本号的预设测试用例,得到运行结果。
分析单元360被配置为,根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
由以上技术方案可知,本申请实施例提供的系统兼容性测试方法,对于待测试客户端程序的各项非新增功能,分别获取对应的预设测试用例,运行获取到的各个预设测试用例,根据各个预设测试用例的运行结果分析待测试客户端程序和服务器程序之间的兼容性;即本申请实施例实现兼容性测试的测试用例不是针对某个版本客户端程序的整体,而是针对客户端程序的某项功能,不受服务器程序和客户端程序的版本限制;对于同一种功能,不同版本的客户端程序可以复用同一个测试用例,测试用例的复用率高,可以减少测试过程中的工作量,提高测试效率。
在本申请一个可行的实施方式中,上述执行结果可以包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
相应的,上述分析单元360可以包括:异常数据检测单元;该异常数据检测单元被配置为,检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。上述交互信息存在异常数据,包括:预设测试用例的实际运行结果中的某项数据与预期运行结果中对应的数据不一致(或不在系统允许的误差范围内)。
图4为本申请实施例提供的一种系统兼容性测试装置的结构框图,该装置应用于C/S系统。
参见图4,本申请实施例提供的系统兼容性测试装置400,包括:版本号获取单元410、版本判断单元420、第一获取单元430、第二获取单元440、第三获取单元470、存储单元480、运行单元450和分析单元460。
其中,版本号获取单元410被配置为,获取待测试客户端程序的第一版本号。
版本判断单元420被配置为,判断待测试客户端程序是否为新版客户端程序,在待测试客户端程序不是新版客户端程序时,触发第一获取单元430,在待测试客户端程序是新版客户端程序时,触发第二获取单元440和第三获取单元470。
第一获取单元430被配置为,分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例。
第二获取单元440被配置为,分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号。其中,所述第二版本号低于所述第一版本号。
第三获取单元470被配置为,在所述版本判断单元判定待测试客户端程序是新版客户端程序时,接收待测试客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号。
存储单元480被配置为,存储标记有第一版本号的第二预设测试用例和新增测试用例。在下次测试过程中,存储单元480中存储的测试用例均作为预设测试用例,第一获取单元430和第二获取单元440可以直接从存储单元480中读取得到相应的预设测试用例。
运行单元450被配置为,运行第一获取单元430和第二获取单元440获取到的标记有第一版本号的预设测试用例,得到运行结果。
分析单元460被配置为,根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
由以上技术方案可知,本申请实施例不仅针对旧版客户端程序的各项功能,以及新版客户端程序的各项非新增功能,分别获取对应的预设测试用例,完成本次兼容性测试;还针对新版客户端程序的新增功能,接收对应的新增测试用例,并将新版客户端程序的版本号设置为该新版客户端程序的各项非新增功能对应的预设测试用例和各项新增功能对应的新增测试用例的版本标记,实现测试用例库的更新,以便在下次系统升级后,上述新版客户端程序转换为旧版客户端程序的情况下,直接有第一获取单元根据其版本号获取到各项功能对应的测试用例,不需要临时接收新增测试用例,可以减少兼容性测试耗时,提高测试效率。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
另外,本申请实施例还提供了一种测试用例管理方法,应用于C/S系统,以管理C/S系统的服务器和客户端之间的兼容性测试所需的测试用例。
图5为本申请实施例提供的一种测试用例管理方法的流程图。参照图5,该测试用例管理方法包括如下步骤:
S51、获取系统升级得到的新版客户端程序的第一版本号。
S52、分别判断所述新版客户端程序的每项功能是否为新增功能,如果是新增功能,则执行步骤S54,否则执行步骤S53。
S53、获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号,执行步骤S55。
其中,所述第二版本号低于所述第一版本号。
S54、接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号,执行步骤S55。
S55、存储标记有所述第一版本号的预设测试用例和新增测试用例。
由以上技术方案可知,本申请实施例在客户端程序升级后,需要设置相应的兼容性测试用例时,获取升级得到的新版客户端程序的第一版本号,并分别确定该新版客户端程序的各项功能是升级得到的新增功能,还是非新增功能(即原有功能);如果是新增功能,则接收程序设计或测试人员提供的新增测试用例,并将该新增测试用例的版本号标记为第一版本号;如果是非新增功能,则获取对应的标记有较低版本号(低于第一版本号)的预设测试用例,并将该预设测试用例的版本号重新标记为第一版本号;存储上述标记有第一版本号的新增测试用例和预设测试用例,共同作为上述新版客户端程序的测试用例。应用上述测试用例管理方法,对C/S系统的客户端程序的各项功能分别设置、存储测试用例,测试用例的复用率高,实现测试用例随着客户端程序的更新而更新,随时为测试C/S系统的兼容性等性能提供测试用例,可以减少测试耗时,提高测试效率。
对应于上述测试用例管理方法,本申请实施例还提供了一种测试用例管理装置,应用于C/S系统,以管理C/S系统的服务器和客户端之间的兼容性测试所需的测试用例。
图6为本申请实施例提供的一种测试用例管理装置600的结构框图。参照图6,该测试用例管理装置600包括:
版本号获取单元610,用于获取系统升级得到的新版客户端程序的第一版本号。
功能判断单元620,用于分别判断所述新版客户端程序的每项功能是否为新增功能,如果是新增功能,则触发第二获取单元640,否则触发第一获取单元630。
第一获取单元630,用于获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号。其中,所述第二版本号低于所述第一版本号。
第二获取单元640,用于接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号。
存储单元650,用于存储第一获取单元630得到的标记有所述第一版本号的预设测试用例,以及第二获取单元640得到的标记有所述第一版本号的新增测试用例。
应用上述装置对C/S系统的测试用例进行管理,可以在客户端程序升级后,需要设置相应的兼容性测试用例时,获取升级得到的新版客户端程序的第一版本号,并分别确定该新版客户端程序的各项功能是升级得到的新增功能,还是非新增功能(即原有功能);如果是新增功能,则接收程序设计或测试人员提供的新增测试用例,并将该新增测试用例的版本号标记为第一版本号;如果是非新增功能,则获取对应的标记有较低版本号(低于第一版本号)的预设测试用例,并将该预设测试用例的版本号重新标记为第一版本号;存储上述标记有第一版本号的新增测试用例和预设测试用例,共同作为上述新版客户端程序的测试用例。基于上述测试用例管理装置,如果需要测试C/S系统的兼容性等性能,可以直接从上述装置的存储单元中读取相应的测试用例,不需要临时设计测试用例,可以减少兼容性测试耗时,提高测试用例的复用率,提高测试效率。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种系统兼容性测试方法,应用于具有服务器和客户端的系统,其特征在于,包括:
获取待测试客户端程序的第一版本号;
判断待测试客户端程序是否为新版客户端程序:如果所述第一版本号等于客户端程序的最新版本号,则可以判定待测试客户端程序是新版客户端程序;如果所述第一版本号低于客户端程序的最新版本号,则可以判定待测试客户端程序不是新版客户端程序;
如果待测试客户端程序不是新版客户端程序,则分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例;
如果待测试客户端程序是新版客户端程序,则分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
运行获取到的标记有第一版本号的预设测试用例,得到运行结果;
根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
2.根据权利要求1所述的系统兼容性测试方法,还包括:
如果待测试客户端程序是新版客户端程序,则分别接收待测试客户端程序的各项新增功能对应的新增测试用例,将所述新增测试用例的版本号标记为所述第一版本号;
存储标记有所述第一版本号的第二预设测试用例和新增测试用例。
3.根据权利要求1或2所述的系统兼容性测试方法,其特征在于,所述运行结果包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
4.根据权利要求3所述的系统兼容性测试方法,其特征在于,根据所述运行结果分析待测试客户端程序和服务器程序之间的兼容性,包括:
检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。
5.一种系统兼容性测试装置,应用于具有服务器和客户端的系统,其特征在于,包括:
版本号获取单元,用于获取待测试客户端程序的第一版本号;
版本判断单元,用于判断待测试客户端程序是否为新版客户端程序:如果所述第一版本号等于客户端程序的最新版本号,则可以判定待测试客户端程序是新版客户端程序;如果所述第一版本号低于客户端程序的最新版本号,则可以判定待测试客户端程序不是新版客户端程序;
第一获取单元,用于在待测试客户端程序不是新版客户端程序时,分别获取待测试客户端程序的各项功能对应的,且标记有所述第一版本号的第一预设测试用例;
第二获取单元,用于在待测试客户端程序是新版客户端程序时,分别获取与待测试客户端程序的各项非新增功能对应,且标记有第二版本号的第二预设测试用例,并将所述第二预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
运行单元,用于运行获取到的标记有第一版本号的预设测试用例,得到运行结果;
分析单元,用于根据所述运行结果分析待测试客户端程序与服务器程序之间的兼容性。
6.根据权利要求5所述的系统兼容性测试装置,其特征在于,还包括:
第三获取单元,用于在所述版本判断单元判定待测试客户端程序是新版客户端程序时,接收待测试客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储单元,用于存储标记有第一版本号的第二预设测试用例和新增测试用例。
7.根据权利要求5或6所述的系统兼容性测试装置,其特征在于,所述运行结果包括:预设测试用例运行过程中产生的客户端与服务器之间的交互信息。
8.根据权利要求7所述的系统兼容性测试装置,其特征在于,所述分析单元,包括:
异常数据检测单元,用于检测所述交互信息中是否存在异常数据,如果存在,则判定待测试客户端程序和服务器程序不兼容,否则判定待测试客户端程序和服务器程序兼容。
9.一种测试用例管理方法,应用于具有服务器和客户端的系统,其特征在于,包括:
获取系统升级得到的新版客户端程序的第一版本号;
分别判断所述新版客户端程序的每项功能是否为新增功能;
获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储标记有所述第一版本号的预设测试用例和新增测试用例。
10.一种测试用例管理装置,应用于具有服务器和客户端的系统,其特征在于,包括:
版本号获取单元,用于获取系统升级得到的新版客户端程序的第一版本号;
功能判断单元,用于分别判断所述新版客户端程序的每项功能是否为新增功能;
第一获取单元,用于获取与所述新版客户端程序的非新增功能对应,且标记有第二版本号的预设测试用例,并将所述预设测试用例的版本号标记为所述第一版本号;所述第二版本号低于所述第一版本号;
第二获取单元,用于接收所述新版客户端程序的新增功能对应的新增测试用例,并将所述新增测试用例的版本号标记为所述第一版本号;
存储单元,用于存储标记有所述第一版本号的预设测试用例和新增测试用例。
CN201410421383.XA 2014-08-25 2014-08-25 系统兼容性测试方法、测试用例管理方法及相关装置 Expired - Fee Related CN105446868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410421383.XA CN105446868B (zh) 2014-08-25 2014-08-25 系统兼容性测试方法、测试用例管理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410421383.XA CN105446868B (zh) 2014-08-25 2014-08-25 系统兼容性测试方法、测试用例管理方法及相关装置

Publications (2)

Publication Number Publication Date
CN105446868A CN105446868A (zh) 2016-03-30
CN105446868B true CN105446868B (zh) 2018-03-20

Family

ID=55557099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410421383.XA Expired - Fee Related CN105446868B (zh) 2014-08-25 2014-08-25 系统兼容性测试方法、测试用例管理方法及相关装置

Country Status (1)

Country Link
CN (1) CN105446868B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417116B2 (en) * 2016-07-28 2019-09-17 International Business Machines Corporation System, method, and apparatus for crowd-sourced gathering of application execution events for automatic application testing and replay
CN106326108B (zh) * 2016-08-09 2019-07-12 北京金山安全软件有限公司 一种新应用的测试方法及装置
CN106326109B (zh) * 2016-08-09 2019-09-03 北京金山安全软件有限公司 一种新应用的测试方法及装置
CN106339319A (zh) * 2016-08-30 2017-01-18 福建天晴数码有限公司 一种交互式软件的测试方法及系统
CN107748714A (zh) * 2017-09-08 2018-03-02 广州视源电子科技股份有限公司 应用程序兼容性测试方法、系统、服务器、客户端及存储介质
CN108829582A (zh) * 2018-05-24 2018-11-16 广州酷狗计算机科技有限公司 程序兼容的方法和装置
CN109491886A (zh) * 2018-09-26 2019-03-19 深圳壹账通智能科技有限公司 兼容性测试方法、装置、电子设备及存储介质
CN109240936A (zh) * 2018-10-17 2019-01-18 深圳壹账通智能科技有限公司 应用程序的兼容性测试方法、终端设备及介质
CN109783366A (zh) * 2018-12-15 2019-05-21 深圳壹账通智能科技有限公司 App版本升级兼容性测试方法、装置、设备及存储介质
CN111459831B (zh) * 2020-04-08 2023-09-22 广东三维家信息科技有限公司 测试系统和测试方法
CN113722201A (zh) * 2020-05-25 2021-11-30 中移(苏州)软件技术有限公司 一种API一致性检测方法及PaaS平台
CN111782250A (zh) * 2020-08-11 2020-10-16 杭州溪塔科技有限公司 一种软件升级兼容性测试方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930683B2 (en) * 2006-03-31 2011-04-19 Sap Ag Test automation method for software programs
CN102244652A (zh) * 2010-05-13 2011-11-16 阿里巴巴集团控股有限公司 会话信息生成方法、系统及应用服务器
CN103150249A (zh) * 2011-12-07 2013-06-12 北京新媒传信科技有限公司 一种自动化测试的方法和系统
CN103902439A (zh) * 2012-12-25 2014-07-02 北大方正集团有限公司 一种测试用例的管理方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930683B2 (en) * 2006-03-31 2011-04-19 Sap Ag Test automation method for software programs
CN102244652A (zh) * 2010-05-13 2011-11-16 阿里巴巴集团控股有限公司 会话信息生成方法、系统及应用服务器
CN103150249A (zh) * 2011-12-07 2013-06-12 北京新媒传信科技有限公司 一种自动化测试的方法和系统
CN103902439A (zh) * 2012-12-25 2014-07-02 北大方正集团有限公司 一种测试用例的管理方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
国产基础软件应用平台的兼容性测试研究;郭军 等;《计算机科学》;20120630;第39卷(第6期);全文 *
支持共享和复用的测试用例库系统的设计;路晓丽 第;《计算机科学》;20060531;第33卷(第5期);全文 *

Also Published As

Publication number Publication date
CN105446868A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN105446868B (zh) 系统兼容性测试方法、测试用例管理方法及相关装置
CN104391795B (zh) 一种分布式系统中自动化测试覆盖率的测试方法及系统
CN104699616B (zh) 一种应用测试的方法、装置及系统
CN100538656C (zh) 在分布式调试器中调试计算机程序的方法和装置
US9483390B2 (en) Three-dimensional GUI object stores in automation test tools
CN112162753B (zh) 软件部署方法、装置、计算机设备和存储介质
CN110134400A (zh) 数据获取方法、装置、电子设备及计算机可读存储介质
CN104461873B (zh) 一种应用程序的测试方法和装置
CN101526916B (zh) 基于页面对象流验证在回归测试中的应用方法及系统
CN106250178A (zh) 通过多语言云编译实现系统动态功能在线拦截扩展的方法
CN104077140A (zh) 用于持续集成的自动化编译方法和编译装置
US20140165040A1 (en) Test script generation for application image validation
CN104778118B (zh) 自动化测试技术的改进方法
Kirbas et al. The relationship between evolutionary coupling and defects in large industrial software
CN110134574A (zh) 一种软件性能测试方法、系统、介质及电子设备
CN106326120B (zh) 一种应用软件的回归测试方法及装置、电子设备
CN105303112A (zh) 组件调用漏洞的检测方法及装置
CN106293863A (zh) 多语言云编译实现系统功能动态扩展替换的方法及系统
CN108415821A (zh) 测试报告的生成方法及装置
CN107632901A (zh) 一种应用程序运行异常的自修复方法及装置
CN106250179A (zh) 通过多语言云编译实现系统动态功能拦截扩展的方法
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
KR101976629B1 (ko) 커미트 민감도 테스트들
CN105577472A (zh) 一种数据采集测试方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180320

CF01 Termination of patent right due to non-payment of annual fee