CN103810094B - 一种测试案例的执行方法、装置和测试工具 - Google Patents
一种测试案例的执行方法、装置和测试工具 Download PDFInfo
- Publication number
- CN103810094B CN103810094B CN201210459062.XA CN201210459062A CN103810094B CN 103810094 B CN103810094 B CN 103810094B CN 201210459062 A CN201210459062 A CN 201210459062A CN 103810094 B CN103810094 B CN 103810094B
- Authority
- CN
- China
- Prior art keywords
- territory
- message
- test
- sut
- system under
- 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.)
- Active
Links
Abstract
本发明公开了一种测试案例的执行方法,当测试人员第一次对被测系统输入测试案例时,根据测试人员设计测试案例的思维进行相应参数的存储,对被测系统进行测试时,选择了测试案例后,可以自动的在测试资源池中获取测试案例中报文域的内容,并对存储了直接修改关系的报文域进行相应的修改,当被测系统不满足测试条件时,自动地对被测系统的后台进行间接修改,以使被测系统满足测试条件,来完成对被测系统的测试。这些存储的参数可以涵盖测试人员设计的所有测试案例的逻辑关系,可以不用依赖测试人员的手工操作,对被测系统进行自动化测试。本发明还公开了一种测试案例的处理装置和包含该测试案例的处理装置的测试工具。
Description
技术领域
本发明涉及被测系统的测试技术领域,特别是涉及一种被测系统的测试案例执行方法、装置和测试工具。
背景技术
测试在系统的开发过程中,具有举足轻重的作用。开发的系统能否如期完成并满足客户要求,以及后期的维护成本,都跟测试工作有着很大的关系。以银行系统为例,目前银行系统的功能测试主要还是采用测试人员手工来完成,但在某些场景中,例如操作系统升级、个别功能优化等场景,会要求对全部涉及到的交易进行测试,此类测试数量较多,前期需要准备大量的测试环境和测试数据,完全手工来做成本很大,而且此类测试存在需要反复测试相同交易的情况,这就为采用自动化测试提供了很便利的条件。
目前业界的自动化测试方法较少,在实际工作中应用的更少,常用的商业自动化测试工具主要是针对web系统,基于图形用户界面(GraphicalUser Interface,简称GUI,又称图形用户接口),采用录制的方法记录测试人员在界面的操作,在回放的过程中按记录顺序操作这些对象,模拟手工测试过程中操作的对象和顺序,此类测试工具重点是界面对象的识别。目前现有的自动化测试工具录制完成后可对脚本进行简单的编辑和参数化,对于测试案例中使用到的测试数据一般采用附件的方式嵌入到脚本中,在测试案例执行的过程中按照一定的顺序取测试数据嵌入到脚本中。
而在测试案例之中或者测试案例之间的关联方面,现有的自动化测试工具均不提供智能化的逻辑关系处理,测试案例自动化执行的过程中,测试案例的一个交易内的各个输入域之间的测试数据或者各个交易的相互关联的报文域之间的测试数据必须事先安排好顺序,一一匹配,例如某支交易需要用到卡号和姓名两个域,分别作为两个变量从两个附件中读取测试数据,而这两个域是存在一一对应的关系的,现有的测试工具不会智能的建立关联,只能人为的在附件中按照一一对应的顺序存储两类数据,在执行的过程中逐一取测试数据,但是如此处理的话成本高,效率低,而且极易出错,某一行数据丢失或者取值出错导致两个域取值不匹配,将会使下面所有的测试数据失效。此外,当被测系统中的打底数据无法满足测试需求时,需要修改被测系统中的打底数据,遇到这种情况下,一般手工测试执行前,是由开发或者测试人员在被测系统中手工修改打底数据,现有的自动化测试工具无法自动进行此类操作。
发明内容
本发明提出一种测试案例的执行方法、装置和测试工具,解决了现有的测试工具无法根据智能化获取测试数据、无法实现更改后台打底数据的问题。
本发明提出一种测试案例的执行方法,存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个业务内配置为主域的报文域对应的资源类型;存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;在报文域配置为直接修改报文域时,存储相应报文域的直接修改关系;在报文域配置为后台间接修改报文域时,存储相应报文域的间接修改关系;
则所述方法包括:
选择单案例和/或案例组;
根据所述单案例参数和/或案例组参数在测试数据池中获取已选择的所述单案例和/或案例组中相应报文域的内容;
查询所述单案例和/或案例组中是否存在配置为直接修改报文域的报文域,
如果是,则利用所述直接修改关系对所述单案例和/或案例组中相应报文域的内容进行直接修改,在被测系统满足测试条件时,在所述被测系统中执行直接修改后的所述单案例和/或案例组;在所述被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行间接修改后的所述单案例和/或案例组;
如果否,则在被测系统满足测试条件时,在所述被测系统中执行所述单案例和/或案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行所述单案例和/或案例组。
优选地,
所述根据所述单案例参数在测试数据池中获取已选择的所述单案例中相应报文域的内容具体为:
获取所述单案例中的单个业务内配置为主域的报文域;
在所述测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;
在所述测试资源池中获取与所述主域的内容相匹配的所述单个业务中配置为从域的报文域的内容。
优选地,
所述根据所述案例组参数在测试数据池中获取已选择的所述案例组中相应报文域的内容具体为:
对于所述已选择的案例组中配置了所述主从域关系的报文域:
获取配置为主域的报文域;
在所述测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;
在所述测试资源池中获取与所述主域的内容相匹配的配置为从域的报文域的内容;
对于所述已选择的案例组中配置了所述相等关系的报文域:
执行顺序在后的报文域的内容由配置了所述相等关系的执行在前的报文域的内容所决定。
优选地,
在所述存储之前还包括:录制对被测系统输入的业务报文,对所述业务报文进行报文域切分和解析。
优选地,
在所述录制对被测系统输入的业务报文之前还包括:
查询是否存储过与将要录制的对被测系统输入的业务报文具有相同报文域的业务报文,如果否,则录制所述对被测系统输入的业务报文;如果是,则不进行重复录制。
优选地,
在所述存储之后还包括:删除录制的所有业务报文,删除存储的所有单案例参数、案例组参数、直接修改关系、和间接修改关系。
本发明还提出一种测试案例的执行装置,包括存储单元和执行单元,
所述存储单元,用于,存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个业务内配置为主域的报文域对应的资源类型;存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;在报文域配置为直接修改报文域时,存储相应报文域的直接修改关系;在报文域配置为后台间接修改报文域时,存储相应报文域的间接修改关系;
所述执行单元,用于,选择单案例和/或案例组;根据所述单案例参数和/或案例组参数在测试数据池中获取已选择的所述单案例和/或案例组中相应报文域的内容;查询所述单案例和/或案例组中是否存在配置为直接修改报文域的报文域,如果是,则利用所述直接修改关系对所述单案例和/或案例组中相应报文域的内容进行直接修改,在被测系统满足测试条件时,在所述被测系统中执行直接修改后的所述单案例和/或案例组;在所述被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行间接修改后的所述单案例和/或案例组;如果否,则在被测系统满足测试条件时,在所述被测系统中执行所述单案例和/或案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行所述单案例和/或案例组。
优选地,
所述存储单元包括:单案例存储模块、案例组存储模块、直接修改关系存储模块和间接修改关系存储模块,
所述单案例存储模块,用于,存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个业务内配置为主域的报文域对应的资源类型;
所述案例组存储模块,用于,存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;
所述直接修改关系存储模块,用于,存储报文域的直接修改关系;
所述间接修改关系存储模块,用于,存储报文域的间接修改关系;
所述执行单元包括选择模块、获取模块、查询模块、直接修改模块、判断模块、间接修改模块和执行模块,
所述选择模块,用于,选择单案例和/或案例组;
所述获取模块,用于,根据所述单案例参数和/或案例组参数在测试数据池中获取已选择的所述单案例和/或案例组中相应报文域的内容;
所述查询模块,用于,查询所述单案例和/或案例组中是否存在配置为直接修改报文域的报文域,如果是,则激活所述直接修改模块;如果否,则激活所述判断模块;
所述直接修改模块,用于,则利用所述直接修改关系对所述单案例和/或案例组中相应报文域的内容进行直接修改,激活所述判断模块;
所述判断模块,用于,判断被测系统是否满足测试条件,如果是,则激活执行模块;如果否则激活间接修改模块;
所述间接修改模块,用于,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,激活所述执行模块。
优选地,
所述装置还包括录制单元,用于,录制对被测系统输入的业务报文,对所述业务报文进行报文域切分和解析,激活所述存储单元。
优选地,
所述装置还包括查询单元,用于,查询是否存储过与将要录制的对被测系统输入的业务报文具有相同报文域的业务报文,如果否,则录制所述对被测系统输入的业务报文;如果是,则不进行重复录制。
优选地,
所述装置还包括删除单元,用于,删除录制的所有业务报文,删除存储的所有单案例参数、案例组参数、直接修改关系、和间接修改关系。
本发明还提出一种包含测试案例的执行装置的测试工具,当测试人员第一次对被测系统输入测试案例时,根据测试人员设计测试案例的思维进行相应参数的存储,对被测系统进行测试时,选择了测试案例后,可以自动的在测试资源池中获取测试案例中报文域的内容,并对存储了直接修改关系的报文域进行相应的修改,当被测系统不满足测试条件时,自动地对被测系统的后台进行间接修改,以使被测系统满足测试条件,来完成对被测系统的测试。
相对于现有技术,本发明的有益效果为:存储测试案例的逻辑关系,包含主从域关系、报文域间的相等关系、直接修改关系和间接修改关系,在执行测试案例时,根据存储的相应的逻辑关系自动获取测试数据,并可以直接修改相应的报文域和间接修改被测系统的后台数据使被测系统满足测试条件,自动化地完成测试案例的选取和执行。
附图说明
图1为本发明方法的具体实施例中存储单案例参数的示意图;
图2为本发明方法的具体实施例中存储案例组参数的示意图;
图3为本发明方法的具体实施例的步骤流程图;
图4为本发明方法的具体实施例中获取单案例测试数据的步骤流程图;
图5为本发明方法的具体实施例中获取案例组测试数据的步骤流程图;
图6为本发明装置的具体实施例的框架示意图;
图7为本发明装置的具体实施例的具体示意图一;
图8为本发明装置的具体实施例的具体示意图二。
具体实施方式
本发明提出一种测试案例的执行方法、装置和测试工具,解决了现有的测试工具无法智能化获取测试数据、无法实现更改后台打底数据的问题。
在本发明的具体实施例中,被测系统以针对通讯格式为字符类型的银行系统进行举例说明,但是本领域技术人员也可以选择其他系统来实施本发明公开的技术方案,只要被测系统是基于报文的均可实现本发明。一般在银行系统中,每个测试案例的业务场景一般会包括一个或多个交易,一个交易组成的业务场景称为单案例,而多个交易组成的业务场景称为案例组。交易是银行系统中业务场景的最小单位,例如银行卡存款、查询余额等都称为交易。交易报文是指被测银行系统接收和返回的字符串,分为输入报文和输出报文,存储时输入报文记为I,输出报文记为O。首先需要录制对被测银行系统输入的交易报文,并对交易报文进行切分和解析,在录制的过程中,为了防止对具有同一种报文域格式的交易报文进行重复录制,还需要查询是否存储过与将要录制的对被测系统输入的交易报文具有相同报文域的业务报文,如果否,则录制对被测系统输入的交易报文;如果是,则不进行重复录制。
比如一个交易码为1001的查询卡余额的交易,它的输入报文为:
113 444479TERM4685 65211314 307 1 0 0 0 0 1105020113004259410
666666 110001 110010899060376
解析完以后的输入报文域为:
-1-省市代号:11
-2-柜员号:4479
-3-终端号:4685
-4-卡号:050201130042594
-5-密码:666666
-6-证件类型:110001
-7-证件号:110010899060376
1001的输出报文为:
113 444479 TERM4685 N 050201130042594 10000.00
解析完以后的输出报文域为:
-1-省市代号:11
-2-柜员号:4479
-3-终端号:4685
-4-卡号:050201130042594
-5-余额:10000.00
每支交易的报文域解析完后,每个域都有一个编号,例如卡号的编号为4。对交易报文进行切分和解析可以在进行设计案例之前提前进行,为了可以自动化的获取相应报文域的内容,本发明方法的实施例中,需要在设计案例时,根据设计的单案例来存储单案例参数,单案例参数包括单个交易内配置为主域的报文域和配置为从域的报文域间的主从域关系、单个交易内配置为主域的报文域对应的资源类型;为每个单案例中的单个业务分配唯一的一个编号,参照图1,设置单个交易的一个报文域为主域,将与设置为主域的报文域有匹配关系的报文域设置为从域,配置主从域所对应的数据类型,从域的数据取值依赖于主域的数据取值,具体包括:
以上述交易码为1001的查询卡余额的交易为例,将它设计为一个单案例,设置它的编号为d1,表示第一个单案例,由于这个交易中的姓名和密码依赖于交易中的卡号,所以将卡号设置为主域(zy),存储参数:d1.zy=I1.4,表示该交易的第4个输入报文域也就是对应卡号的报文域为主域,并且设置主域对应的资源类型为card101的卡类测试数据,存储参数:I1.4=card101.cardno;因为交易的第5个输入报文域对应的密码与主域对应的卡号一一对应,所以设置交易中第5个输入报文域为一个从域(cy),存储参数:d1.cy=I1.5,表示交易中第5个输入报文域也就是对应密码的报文域为本交易中与主域对应的一个从域,并且存储参数I1.5=card101.password,表示该交易的第5个输入报文域中的密码从测试资源池中取编号为card101的卡类测试数据中的密码,卡号和密码是一一匹配的。本交易中只要与主域有这种一一对应关系的报文域都可以设置为本交易的从域。
测试案例中不仅包括单案例,还包括案例组,因此本发明中也需要存储案例组参数,案例组参数包括多个交易的执行顺序、一个或多个交易内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个或多个交易内配置为主域的报文域对应的资源类型、多个交易间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系。
如图2所示,本发明方法的实施例中案例组的录制过程具体包括:
步骤201:配置案例组中的各交易的顺序;以查询-存款-查询3个交易组成的案例组为例,设置它的编号为z1,表示第一个案例组,假如查询的交易码为1001,存款交易码为1002,三支交易编号为1.1001(1)、2.1002、3.1001(2),表示第1个执行交易码为1001的查询交易,括号中的数字1表示在该案例组中第1次执行这个交易;第2个执行交易码为1002的存款交易;第3个执行的是交易码为1001的查询交易,括号中的数字2表示在该案例组中第2次执行这个交易;
步骤202:对于案例组中的第一个交易,也就是交易码为1001的查询交易,参照存储单案例参数的方法进行主从域对应关系的配置;
步骤203:配置案例组中交易间的报文域的依赖关系:根据案例组中的各交易的顺序配置每个交易与该交易之前的一个或多个交易的输入报文域和/或输出报文域之间的依赖关系,该依赖关系包括输入报文域到输入报文域、输出报文域到输入报文域两类。
输入报文域到输入报文域的关系指同一个案例组中后一交易的某输入报文域需要同前一交易的某输入报文域相同,或是由前一交易的若干输入报文域拼接而成,例如第2个执行的交易码为1002的存款交易中的卡号应该等于第1个执行的交易码为1001的查询交易中使用的卡号,所以存储参数:I2.4=I1.4,表示第2个执行的交易中第4个输入报文域对应的内容与第1个执行的交易中第4个报文域对应的内容相等;而第3个执行的交易100的查询交易中的卡号与第1个执行的交易码为1001的查询交易中使用的卡号一致,所以存储参数:I3.4=I1.4,表示第3个执行的交易中第4个输入报文域对应的内容与第1个执行的交易中第4个报文域对应的内容相等。
输出报文域到输入报文域的关系指后一交易的某输入报文域依赖于前一交易的输出报文域,例如另一个案例组是交易码为2001和交易码为2002的交易组成,设置案例组的编号为z2,表示第2个案例组,
交易码为2001的交易为由根据身份证号查找相应的卡号的交易,它的输入报文域为:
-1-省市代号:11
-2-柜员号:4479
-3-终端号:4685
-4-证件号:110010899060376
输出报文域为:
-1-卡号:050201130042594
交易码为2002的交易为对交易码为2001的交易查找到的卡号进行存款的交易,它的输入报文域为:
-1-省市代号:11
-2-柜员号:4479
-3-终端号:4685
-4-卡号:050201130042594
-5-存款金额:100.00
第1个执行交易码为2001的交易,它只有一个输出报文域,记为O1.1,第2个执行交易码为2002的交易,它第4个输入报文域记为I2.4,由这个案例组的交易间关系可知第2个执行的交易中需要进行存款的卡号与第1个执行的交易中查找到的卡号相等,所以存储参数:I2.4=O1.1,表示第2个执行的交易码为2002的交易的第4输入报文域对应的卡号与第1个执行的交易码为2001的交易的输出报文域对应的卡号相等。
在设计测试案例时,有的单案例和案例组中的报文域需要进行一定的修改,以第2个案例组为例,需要将第2个案例组的第2个执行的交易码为2002的交易中的存钱金额设置为1000,那么事先对于第2个案例组,需要进行存储参数:I2.5=’1000.00’,表示将第2个执行的交易中的第5个输入报文域的内容从原来的100直接修改为1000。
在设计测试案例时,考虑到测试案例是针对被测系统进行的,需要在被测系统满足测试条件时才能执行相应的测试案例,所以在设计时充分考虑到被测系统的测试条件,被测系统的测试条件有很多种,比如:被测系统对于特定的测试案例需要进行报柜员签到等权限处理,如果没有进行柜员签到,则被测系统不执行没有柜员签到权限的测试案例;测试案例中所包含的特定资源类型的数据如果在被测系统的数据库中不存在,那么被测系统不能正常执行相应的测试案例;或者测试案例中所包含的数据状态不正确,被测系统对于这样的测试数据不能够正常执行,这些都属于被测系统不满足测试条件,所以在本发明中,为被测系统提供一个接口,能够编写脚本来修改被测试的核心系统(我们称为后台系统)的打底数据,例如测试人员编写了一个名为“ARTPTLT”的接口程序,该接口程序将测试案例报文中所使用到的柜员和终端进行签到处理,从而不会在测试过程中报柜员签到的错误。对于上述交易码为1001的查询卡余额的交易,在“ARTPTLT”的接口程序中需要3个参数,分别是省市代号、柜员号、终端号,那么存储为:
I1.1=ARTPTLT$I1.2=ARTPTLT$I1.3=ARTPTLT,分别为该接口程序的3个参数。
对设计好的测试案例的参数进行了相应的存储后,参见图3所示,本发明提出的方法的具体实施例1的步骤包括:
步骤301:选择测试案例;
测试案例包括单案例和案例组,在对被测系统进行测试时,需要对被测系统进行哪方面的性能测试,就选择相应的单案例或案例组,也可以根据需要选择一批单案例和案例组。
步骤302:根据测试案例参数在测试数据池中获取相应报文域的内容;
对于单案例,参见图4所示,根据单案例参数在测试数据池中获取相应报文域的内容包括步骤:
步骤401:获取单案例中的单个业务内配置为主域的报文域;
例如第1个单案例中的交易为交易码为1001的查询卡余额的交易,根据该交易存储的参数d1.zy=I1.4,来获取这个交易中设置为主域的第4个输入报文域。
步骤402:在测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;
当获取了该交易的主域后,根据该交易的主域的参数I1.4=card101.cardno,可知该交易的第4个输入报文域在测试资源池中对应编号为card101的卡类测试数据,而编号为card101的测试数据正是状态正常的借记卡资源,在测试数据池中存有若干条满足要求的卡号,在执行过程中随机获取一个卡号作为主域的内容。
步骤403:在测试资源池中获取与主域的内容相匹配的单个业务中配置为从域的报文域的内容。
根据该交易存储的参数d1.cy=I1.5,来获取这个交易中设置为从域的第5个输入报文域,并且根据存储的参数I1.5=card101.password,在测试资源池中获取编号为card101的卡类测试数据中的密码,因为卡号和密码是一一匹配的,所以在测试案例执行的过程中会取同一条测试数据。该交易中的其他从域的内容也根据存储的参数在测试资源池中获取相应的内容。
对于案例组,参见图5所示,根据案例组参数在测试数据池中获取相应报文域的内容包括步骤:
对于已选择的案例组中配置了主从域关系的报文域:
步骤501:获取配置为主域的报文域;
以第1个案例组为例,因为查询1001(1)-存款1002-查询1001(2)三个交易中的主域均为对应卡号的报文域,由于第2个执行的存款1002交易和第3个执行的查询1001(2)交易中对应卡号的报文域均与第1个执行的查询1001(1)交易中的对应卡号的报文域设置了相等关系,也就是说只要获取了第1个执行的查询1001(1)交易中的对应卡号的报文域,那么第2个执行的存款1002交易和第3个执行的查询1001(2)交易中对应卡号的报文域就等于第1个执行的查询1001(1)交易中的对应卡号的报文域的内容,所以这里只需要获取第1个执行的查询1001(1)交易中的设置为主域的报文域即可;
步骤502:在测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;
当获取了第1个执行的查询1001(1)交易的主域后,根据该交易的主域的参数I1.4=card101.cardno,可知该交易的第4个输入报文域在测试资源池中对应编号为card101的卡类测试数据,而编号为card101的测试数据正是状态正常的借记卡资源,在测试数据池中存有若干条满足要求的卡号,在执行过程中随机获取一个卡号作为主域的内容。
步骤503:在测试资源池中获取与主域的内容相匹配的配置为从域的报文域的内容;
根据第1个执行的查询1001(1)交易存储的参数d1.cy=I1.5,来获取这个交易中设置为从域的第5个输入报文域,并且根据存储的参数I1.5=card101.password,在测试资源池中获取编号为card101的卡类测试数据中的密码,因为卡号和密码是一一匹配的,所以在测试案例执行的过程中会取同一条测试数据。该交易中的其他从域的内容也根据存储的参数在测试资源池中获取相应的内容。
对于已选择的案例组中配置了相等关系的报文域:
步骤504:执行顺序在后的报文域的内容由配置了相等关系的执行在前的报文域的内容所决定。
步骤501中已经获取了第1个执行的查询1001(1)交易中的主域的卡号,根据对于第2个执行的交易码为1002的存款交易存储的参数I2.4=I1.4,获取第2个执行的交易码为1002的存款交易中的卡号为步骤501中获取的第1个执行的查询1001(1)交易中的主域的卡号,第2个执行的交易码为1002的存款交易中如果设置了从域,那么根据主从域关系自动获取与主域内容相对应的从域的内容。
根据对于第3个执行的交易码为1001的查询交易存储的参数I3.4=I1.4,获取第3个执行的交易码为1001的查询交易中的卡号为步骤501中获取的第1个执行的查询1001(1)交易中的主域的卡号,第3个执行的交易码为1001的查询交易中如果设置了从域,那么根据主从域关系自动获取与主域内容相对应的从域的内容。
步骤303:查询测试案例中是否存在配置为直接修改报文域的报文域,如果是,则进入步骤304;如果否,则进入步骤305;
在设计测试案例时,对需要进行修改的单案例和案例组中的报文域已经存储了相应的直接修改关系,所以在执行本发明的方法的过程中,对于已选择的测试案例,需要查询测试案例中是否存在配置为直接修改报文域的报文域,以第2个案例组为例,对于第2个案例组的第2个执行的交易码为2002的交易存在参数:I2.5=’1000.00’,那么表示第2个案例组中存在配置为直接修改报文域的报文域。
步骤304:利用存储的直接修改关系对相应的报文域内容进行直接修改;
对于配置为直接修改报文域的报文域,以第2个案例组为例,对于第2个案例组的第2个执行的交易码为2002的交易存在参数:I2.5=’1000.00’,那么根据参数的设置对第2个执行的交易码为2002的交易中的第5个输入报文域的内容从原来的100改为参数中配置的1000。
步骤305:判断被测系统是否满足被测条件;如果是,则进入步骤307;如果否,则进入步骤306;
对于步骤301中选择的测试案例,被测系统可能不满足测试条件,所以在执行本发明的方法的过程中,需要判断被测系统是否满足被测条件,被测系统的测试条件有很多种,比如:被测系统对于特定的测试案例需要进行报柜员签到等权限处理,如果没有进行柜员签到,则被测系统不执行没有柜员签到权限的测试案例;测试案例中所包含的特定资源类型的数据如果在被测系统的数据库中不存在,那么被测系统不能正常执行相应的测试案例;或者测试案例中所包含的数据状态不正确,被测系统对于这样的测试数据不能够正常执行,这些都属于被测系统不满足测试条件。
步骤306:利用相应的间接修改关系对被测系统的后台进行间接修改以使被测系统满足测试条件,进入步骤307;
以被测系统需要进行柜员签到的权限处理为例,对于上述交易码为1001的查询卡余额的交易,测试人员编写的一个名为“ARTPTLT”的接口程序中对3个参数,分别是省市代号、柜员号、终端号,存储有相应的参数:
I1.1=ARTPTLT$I1.2=ARTPTLT$I1.3=ARTPTLT,分别为该接口程序的3个参数,那么根据这些存储的参数对被测系统的后台数据进行间接修改,对被测系统进行柜员签到的权限处理,使被测系统满足测试条件。
步骤307:如果被测案例进行了直接修改,则在被测系统中执行进行了直接修改后的测试案例;如果测试案例没有进行直接修改,则在被测系统中执行测试案例。
此外,一般情况下,当测试人员第一次对被测系统输入设计好的测试案例时,根据测试人员设计测试案例的思维进行相应参数的存储,在执行本发明的方法的过程中,在选择了测试案例之后,可以不再依赖测试人员的操作,而是自动的在测试资源池中获取测试案例中报文域的内容,并对存储了直接修改关系的报文域进行相应的修改,当被测系统不满足测试条件时,自动地对被测系统的后台进行间接修改,以使被测系统满足测试条件,来完成对被测系统的测试。这些存储的参数可以涵盖测试人员设计的所有测试案例的逻辑关系,可以不用依赖测试人员的手工操作,对被测系统进行自动化测试。
当完成录制过程后,在被测银行系统后期的操作系统升级、个别功能优化及维护等场景,无需再次进行录制过程,只需要进行本方法的测试案例的执行过程就能完成对被测银行系统的测试。当已经录制的测试案例不能满足被测银行系统的测试时,本发明的具体实施例还可以对已经录制的测试案例进行格式化,即删除报文域池中的所有交易报文,删除案例池中的所有案例。这样,就可以重新进行录制和编辑过程,更新报文域池中的报文域和更新案例池中的测试案例。
对应本发明的方法的具体实施例,本发明还提出一种银行系统的测试案例的执行装置,参见图6所示,在装置的具体实施例中,包括存储单元61和执行单元62,
存储单元61,用于,存储单案例参数,单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个业务内配置为主域的报文域对应的资源类型;存储案例组参数,案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;在报文域配置为直接修改报文域时,存储相应报文域的直接修改关系;在报文域配置为后台间接修改报文域时,存储相应报文域的间接修改关系;
执行单元62,用于,选择单案例和/或案例组;根据单案例参数和/或案例组参数在测试数据池中获取已选择的单案例和/或案例组中相应报文域的内容;查询单案例和/或案例组中是否存在配置为直接修改报文域的报文域,如果是,则利用直接修改关系对单案例和/或案例组中相应报文域的内容进行直接修改,在被测系统满足测试条件时,在被测系统中执行直接修改后的单案例和/或案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对被测系统的后台进行间接修改以使被测系统满足测试条件,并在被测系统中执行间接修改后的单案例和/或案例组;如果否,则在被测系统满足测试条件时,在被测系统中执行单案例和/或案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对被测系统的后台进行间接修改以使被测系统满足测试条件,并在被测系统中执行单案例和/或案例组。
参见图7所示,存储单元71包括:单案例存储模块711、案例组存储模块712、直接修改关系存储模块713和间接修改关系存储模块714,
单案例存储模块711,用于,存储单案例参数,单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个业务内配置为主域的报文域对应的资源类型;
案例组存储模块712,用于,存储案例组参数,案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;
直接修改关系存储模块713,用于,存储报文域的直接修改关系;
间接修改关系存储模块714,用于,存储报文域的间接修改关系;
执行单元72包括选择模块721、获取模块722、查询模块723、直接修改模块724、判断模块725、间接修改模块726和执行模块727,
选择模块721,用于,选择单案例和/或案例组;
获取模块722,用于,根据单案例参数和/或案例组参数在测试数据池中获取已选择的单案例和/或案例组中相应报文域的内容;
查询模块723,用于,查询单案例和/或案例组中是否存在配置为直接修改报文域的报文域,如果是,则激活直接修改模块;如果否,则激活判断模块;
直接修改模块724,用于,则利用直接修改关系对单案例和/或案例组中相应报文域的内容进行直接修改,激活判断模块;
判断模块725,用于,判断被测系统是否满足测试条件,如果是,则激活执行模块;如果否则激活间接修改模块;
间接修改模块726,用于,利用相应的间接修改关系对被测系统的后台进行间接修改以使被测系统满足测试条件,激活执行模块;
执行模块727,用于,在被测系统中执行相应的测试案例。
如图8所示,装置还包括录制单元81,用于,录制对被测系统输入的业务报文,对业务报文进行报文域切分和解析,激活存储单元。
为了防止对具有同一种报文域格式的交易报文进行重复录制,装置还包括查询单元82,用于,查询是否存储过与将要录制的对被测系统输入的业务报文具有相同报文域的业务报文,如果否,则录制对被测系统输入的业务报文;如果是,则不进行重复录制。
当完成录制过程后,在被测银行系统后期的操作系统升级、个别功能优化及维护等场景,无需再次进行录制过程,只需要进行本方法的测试案例的执行过程就能完成对被测银行系统的测试。当已经录制的测试案例不能满足被测银行系统的测试时,为了删除所存储的各个逻辑关系和参数,方便进行重新的录制和存储,本发明装置的具体实施例中的装置还包括删除单元83,用于,删除录制的所有业务报文,删除存储的所有单案例参数、案例组参数、直接修改关系、和间接修改关系。
本发明还提出一种包含测试案例的执行装置的测试工具,当测试人员第一次对被测系统输入测试案例时,根据测试人员设计测试案例的思维进行相应参数的存储,对被测系统进行测试时,选择了测试案例后,可以自动的在测试资源池中获取测试案例中报文域的内容,并对存储了直接修改关系的报文域进行相应的修改,当被测系统不满足测试条件时,自动地对被测系统的后台进行间接修改,以使被测系统满足测试条件,来完成对被测系统的测试。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种测试案例的执行方法,包括:
存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个业务内配置为主域的报文域对应的资源类型;
和存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;在报文域配置为直接修改报文域时,存储相应报文域的直接修改关系;在报文域配置为后台间接修改报文域时,存储相应报文域的间接修改关系;
其特征在于:
选择单案例和案例组;
根据所述单案例参数和案例组参数在测试数据池中获取已选择的所述单案例和案例组中相应报文域的内容;
查询所述单案例和案例组中是否存储配置为直接修改报文域的报文域,
如果是,则利用所述直接修改关系对所述单案例和案例组中相应报文域的内容进行直接修改,并在被测系统满足测试条件时,在所述被测系统中执行直接修改后的所述单案例和案例组;以及,在所述被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行间接修改后的所述单案例和案例组;
如果否,则在被测系统满足测试条件时,在所述被测系统中执行所述单案例和案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行所述单案例和/或案例组;
其中,根据所述单案例参数在测试数据池中获取已选择的所述单案例中相应报文域的内容具体为:获取所述单案例中的单个业务内配置为主域的报文域;在所述测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;和,在所述测试资源池中获取与所述主域的内容相匹配的所述单个业务中配置为从域的报文域的内容;
根据所述案例组参数在测试数据池中获取已选择的所述案例组中相应报文域的内容具体为:对于所述已选择的案例组中配置了所述主从域关系的报文域:获取配置为主域的报文域;在所述测试数据池中查找具有主域对应的资源类型的数据,在查找到相应资源类型的数据中随机选取一个数据作为主域的内容;在所述测试资源池中获取与所述主域的内容相匹配的配置为从域的报文域的内容;和,对于所述已选择的案例组中配置了所述相等关系的报文域:执行顺序在后的报文域的内容由配置了所述相等关系的执行在前的报文域的内容所决定。
2.根据权利要求1所述的方法,其特征在于,在所述存储之前还包括:录制对被测系统输入的业务报文,对所述业务报文进行报文域切分和解析。
3.根据权利要求2所述的方法,其特征在于,在所述录制对被测系统输入的业务报文之前还包括:
查询是否存储过与将要录制的对被测系统输入的业务报文具有相同报文域的业务报文,如果否,则录制所述对被测系统输入的业务报文;如果是,则不进行重复录制。
4.根据权利要求1所述的方法,其特征在于,在所述存储之后还包括:删除录制的所有业务报文,删除存储的所有单案例参数、案例组参数、直接修改关系、和间接修改关系。
5.一种测试案例的执行装置,其特征在于,包括存储单元和执行单元,
所述存储单元,用于存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个业务内配置为主域的报文域对应的资源类型;和存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;在报文域配置为直接修改报文域时,存储相应报文域的直接修改关系;在报文域配置为后台间接修改报文域时,存储相应报文域的间接修改关系;
所述执行单元,用于选择单案例和案例组;根据所述单案例参数和案例组参数在测试数据池中获取已选择的所述单案例和案例组中相应报文域的内容;查询所述单案例和案例组中是否存在配置为直接修改报文域的报文域,如果是,则利用所述直接修改关系对所述单案例和案例组中相应报文域的内容进行直接修改,在被测系统满足测试条件时,在所述被测系统中执行直接修改后的所述单案例和案例组;在所述被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行间接修改后的所述单案例和案例组;如果否,则在被测系统满足测试条件时,在所述被测系统中执行所述单案例和案例组;在被测系统不满足测试条件时,利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,并在所述被测系统中执行所述单案例和案例组;
其中,所述存储单元包括:单案例存储模块、案例组存储模块、直接修改关系存储模块和间接修改关系存储模块,
所述单案例存储模块,用于存储单案例参数,所述单案例参数包括单个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、一个业务内配置为主域的报文域对应的资源类型;
所述案例组存储模块,用于存储案例组参数,所述案例组参数包括多个业务的执行顺序、一个或多个业务内配置为主域的报文域和配置为从域的报文域间的主从域关系、所述一个或多个业务内配置为主域的报文域对应的资源类型、多个业务间输入报文域与输入报文域和/或输出报文域与输入报文域间的相等关系;
所述直接修改关系存储模块,用于存储报文域的直接修改关系;
所述间接修改关系存储模块,用于存储报文域的间接修改关系;
所述执行单元包括选择模块、获取模块、查询模块、直接修改模块、判断模块、间接修改模块和执行模块,
所述选择模块,用于选择单案例和案例组;
所述获取模块,用于根据所述单案例参数和案例组参数在测试数据池中获取已选择的所述单案例和案例组中相应报文域的内容;
所述查询模块,用于查询所述单案例和案例组中是否存在配置为直接修改报文域的报文域,如果是,则激活所述直接修改模块;如果否,则激活所述判断模块;
所述直接修改模块,用于则利用所述直接修改关系对所述单案例和案例组中相应报文域的内容进行直接修改,激活所述判断模块;
所述判断模块,用于判断被测系统是否满足测试条件,如果是,则激活执行模块;如果否则激活间接修改模块;
所述间接修改模块,用于利用相应的间接修改关系对所述被测系统的后台进行间接修改以使被测系统满足测试条件,激活所述执行模块。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括录制单元,用于,录制对被测系统输入的业务报文,对所述业务报文进行报文域切分和解析,激活所述存储单元。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括查询单元,用于,查询是否存储过与将要录制的对被测系统输入的业务报文具有相同报文域的业务报文,如果否,则录制所述对被测系统输入的业务报文;如果是,则不进行重复录制。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括删除单元,用于,删除录制的所有业务报文,删除存储的所有单案例参数、案例组参数、直接修改关系、和间接修改关系。
9.一种测试工具,其特征在于,所述测试工具包括权利要求5~8任一项所述的测试案例的执行装置;
当测试人员第一次对被测系统输入测试案例时,根据测试人员设计测试案例的思维进行相应参数的存储,对被测系统进行测试时,选择了测试案例后,可以自动的在测试资源池中获取测试案例中报文域的内容,并对存储了直接修改关系的报文域进行相应的修改,当被测系统不满足测试条件时,自动地对被测系统的后台进行间接修改,以使被测系统满足测试条件,来完成对被测系统的测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210459062.XA CN103810094B (zh) | 2012-11-14 | 2012-11-14 | 一种测试案例的执行方法、装置和测试工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210459062.XA CN103810094B (zh) | 2012-11-14 | 2012-11-14 | 一种测试案例的执行方法、装置和测试工具 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103810094A CN103810094A (zh) | 2014-05-21 |
CN103810094B true CN103810094B (zh) | 2016-10-05 |
Family
ID=50706893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210459062.XA Active CN103810094B (zh) | 2012-11-14 | 2012-11-14 | 一种测试案例的执行方法、装置和测试工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810094B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106034049B (zh) * | 2015-03-10 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种模拟域名注册局测试系统的方法和装置 |
CN106557421A (zh) * | 2016-10-10 | 2017-04-05 | 深圳市证通电子股份有限公司 | Pos应用程序测试方法及装置 |
CN108255698A (zh) * | 2017-02-17 | 2018-07-06 | 平安科技(深圳)有限公司 | 基于可视化界面的测试案例生成方法和装置 |
CN107832227B (zh) * | 2017-11-24 | 2020-04-10 | 平安科技(深圳)有限公司 | 业务系统的接口参数测试方法、装置、设备和存储介质 |
CN111367820B (zh) * | 2020-04-30 | 2023-04-25 | 中国银行股份有限公司 | 一种测试案例的排序方法及装置 |
CN111796578A (zh) * | 2020-06-29 | 2020-10-20 | 中国第一汽车股份有限公司 | 一种车用控制器测试方法、装置、系统和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744054A (zh) * | 2004-08-31 | 2006-03-08 | 中国银联股份有限公司 | 一种自动化测试辅助系统及相应的软件自动测试方法 |
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN101251798A (zh) * | 2008-04-01 | 2008-08-27 | 中兴通讯股份有限公司 | 一种基于关系的测试用例生成方法 |
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102135939A (zh) * | 2011-03-30 | 2011-07-27 | 镇江睿泰信息科技有限公司 | 一种测试用例执行调度装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100333073A1 (en) * | 2009-06-29 | 2010-12-30 | Honeywell International Inc. | Systems and methods for automated generation of software tests based on modeling the software test domain |
US20120253728A1 (en) * | 2011-04-01 | 2012-10-04 | Verizon Patent And Licensing Inc. | Method and system for intelligent automated testing in a multi-vendor, multi-protocol heterogeneous environment |
-
2012
- 2012-11-14 CN CN201210459062.XA patent/CN103810094B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744054A (zh) * | 2004-08-31 | 2006-03-08 | 中国银联股份有限公司 | 一种自动化测试辅助系统及相应的软件自动测试方法 |
CN101135989A (zh) * | 2006-08-31 | 2008-03-05 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试的方法和装置 |
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
CN101251798A (zh) * | 2008-04-01 | 2008-08-27 | 中兴通讯股份有限公司 | 一种基于关系的测试用例生成方法 |
CN101908015A (zh) * | 2009-06-04 | 2010-12-08 | 中国工商银行股份有限公司 | 一种基于构件生成测试案例的装置及方法 |
CN102135939A (zh) * | 2011-03-30 | 2011-07-27 | 镇江睿泰信息科技有限公司 | 一种测试用例执行调度装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103810094A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103810094B (zh) | 一种测试案例的执行方法、装置和测试工具 | |
EP2778929B1 (en) | Test script generation system | |
CN109857667A (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
CN108600148B (zh) | 一种交易报文处理方法及装置 | |
CN107741903A (zh) | 应用程序兼容性测试方法、装置、计算机设备和存储介质 | |
CN103617117B (zh) | 一种基于航空嵌入式软件测试知识库系统 | |
CN102135938A (zh) | 一种软件产品测试方法及系统 | |
CN104217276A (zh) | 基于规则的自动化审计方法及系统 | |
US20150169288A1 (en) | System operation tracing method on distributed system | |
CN103488475B (zh) | 多维数据分析系统和多维数据分析方法 | |
CN104699613B (zh) | 一种航天器测试需求自动生成系统及其方法 | |
CN106951369A (zh) | 一种联调测试的管理方法及装置 | |
CN103164323A (zh) | 数据自动生成方法以及数据自动生成系统 | |
CN103761189A (zh) | 一种测试用例管理方法及系统 | |
CN115934680B (zh) | 一站式大数据分析处理系统 | |
CN104994219B (zh) | 一种数据处理方法和系统 | |
CN109597754A (zh) | 业务流程性接口测试方法、装置、计算机设备及存储介质 | |
US8423564B1 (en) | Methods and apparatus for managing and updating stored information | |
CN107608902A (zh) | 程序接口测试方法及装置 | |
CN101174237B (zh) | 一种自动化测试方法、系统及一种测试设备 | |
CN103955429B (zh) | 确定回归测试范围的方法及装置 | |
CN102981946B (zh) | Etl冒烟测试方法 | |
CN106126416B (zh) | 一种基于流程编排的服务组合路径推导方法 | |
CN109308258A (zh) | 测试数据的构造方法、装置、计算机设备和存储介质 | |
US20130268936A1 (en) | Workflow management system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |