CN103049382A - 用于软件模块测试的测试案例生成方法及装置 - Google Patents

用于软件模块测试的测试案例生成方法及装置 Download PDF

Info

Publication number
CN103049382A
CN103049382A CN2012105807959A CN201210580795A CN103049382A CN 103049382 A CN103049382 A CN 103049382A CN 2012105807959 A CN2012105807959 A CN 2012105807959A CN 201210580795 A CN201210580795 A CN 201210580795A CN 103049382 A CN103049382 A CN 103049382A
Authority
CN
China
Prior art keywords
field
value
test cases
crucial
software module
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.)
Granted
Application number
CN2012105807959A
Other languages
English (en)
Other versions
CN103049382B (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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN201210580795.9A priority Critical patent/CN103049382B/zh
Publication of CN103049382A publication Critical patent/CN103049382A/zh
Application granted granted Critical
Publication of CN103049382B publication Critical patent/CN103049382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种用于软件模块测试的测试案例生成方法及装置,其中,所述测试案例生成方法包括以下步骤:根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;对不同层次的栏位进行分析取值;将所述取值填入可执行的测试案例表中以生成可执行的测试案例。本发明通过将软件模块分为不同层次,依据不同层次进行分析取值,在保证案例的完整性的同时,提高案例的有效性,从而在质量得到保证的同时,大大降低测试成本。

Description

用于软件模块测试的测试案例生成方法及装置
技术领域
本发明涉及计算机软件测试技术,更为具体而言,涉及一种用于软件模块测试的测试案例生成方法及装置。
背景技术
在软件开发的过程中,为保证开发质量,测试是必不可少的手段,而测试工作执行的主要客体就是测试案例,当前测试案例的分析方法分为白盒测试和黑盒测试两种。其中,白盒测试又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,它是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,清楚盒子内部的东西以及里面是如何运作的;黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用,在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。通过以上描述可知,白盒测试的主体为技术开发人员,而黑盒测试的主体一般为应用人员,而这两种测试分析方法的客体都为测试案例。在实际情况下,两种分析方法设计出发点不同,但最终产生的案例互有交叉;而不管采用哪种测试分析方法,都会因为主体本身的限制而产生案例客体的遗漏。
理论上,基于“输入决定输出”的原理,对一个软件模块而言,用其输入栏位的所有取值,包括错误值进行排列组合而达到全部覆盖是最完整的测试方法,排除了案例的遗漏问题,但这种方法会产生巨量的案例,而且其中绝大部分都是没有实际意义的无效案例或者等价案例。因此,用这种方式来进行测试,虽然能得到较高的质量,但其相对成本很高。
发明内容
本发明提供了一种用于软件模块测试的测试案例生成方法及装置,在保证案例的完整性的同时,提高案例的有效性,从而在质量得到保证的同时,大大降低测试成本。
一方面,本发明提供了一种用于软件模块测试的测试案例生成方法,其中,所述测试案例包括正例和反例,所述正例是指按照既定的正确值进行取值,得到预期的逻辑结果的测试案例,所述反例是指不按照既定的正确值进行取值,得到预期的错误结果的测试案例。
其中,所述测试案例生成方法包括步骤:根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;对不同层次的栏位进行分析取值;将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
另一方面,本发明提供了一种用于软件模块测试的测试案例生成装置,包括:
栏位分层模块,用于根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;
栏位取值模块,用于对不同层次的栏位进行分析取值;
案例生成模块,用于将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
本发明通过将软件模块的输入栏位划分为不同层次,依据不同层次进行分析取值,在保证案例的完整性的同时,提高案例的有效性,从而在质量得到保证的同时,大大降低测试成本。
附图说明
图1示出了本发明的用于软件模块测试的测试案例生成方法的实施例1;
图2示出了本发明的用于软件模块测试的测试案例生成方法的实施例2;
图3示出了本发明的用于软件模块测试的测试案例生成装置的一种实施方式。
具体实施方式
本发明的发明人在实现本发明过程中发现一个软件模块的输入栏位通常具有以下特性:
1、并不是所有的输入栏位都是同等重要的;
2、同一输入栏位的取值可以是存在等价的;
3、不同输入栏位的取值之间是有关联的。
本文中术语“等价”是指同一输入栏位的不同取值不会对输出造成实质影响,则这些不同取值是等价的。例如,同样是整存整取的存款种类有好几个,如果这些存款种类仅仅是记账科目的不同,其他没有差异的话,则可以选择其中一种即可。再例如,对于币别,如果在功能/模块没有特殊要求,则英镑和港币只需要选择一种即可。
基于上述输入栏位的特性,根据输入栏位的重要程度可以将输入栏位分层,根据同一输入栏位的等价取值可以用等价法筛选,根据不同输入栏位之间的关联关系可以缩减及确定一些关联栏位的取值范围,从而在最大程度避免测试案例遗漏的同时,提高案例的质量和效率。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的各种实施方式进行详细描述。
【实施例1】
参见图1,其图示了本发明的一种用于软件模块测试的测试案例生成方法的实施例1。根据本发明各种实施方式,所述测试案例包括正例和反例,所述正例是指按照既定的正确值进行取值,得到预期的逻辑结果的测试案例,所述反例是指不按照既定的正确值进行取值,得到预期的错误结果的测试案例。
在实施例1中,所述用于软件模块测试的测试案例生成方法包括:
步骤S101,根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;
步骤S102,对不同层次的栏位进行分析取值;
步骤S103,将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
其中,步骤S101包括:获取所述输入栏位的属性,根据获得的属性将所述输入栏位划分为关键栏位、主要栏位、辅助栏位和关联栏位中的任意一种或多种;其中,
所述关键栏位为所述软件模块根据既定需求要完成的目标;
所述主要栏位为所述软件模块的为完成既定目标而围绕所述关键栏位必须进行输入操作的输入栏位;
所述辅助栏位所述辅助栏位为不影响所述软件模块的输出结果的输入栏位,不影响/参与模块/功能的逻辑,比如:备注或者一些仅用于记录功能/模块信息的栏位,如交易人地址/电话等等。
所述关联栏位为不能独立取值并且其取值依赖于所述关键栏位、主要栏位、辅助栏位的输入栏位。
每个层次的栏位都可能有关联栏位,并有一对一、一对多、多对一或多对多的关系,根据具体情况而定,比如:银行系统支取方式由四位代码构成,分别代表“凭单/凭证/凭印/凭密,那么对应支取方式的关联栏位就会有存单存折印刷号/证件种类及号码/印鉴号码/密码,这四个栏位,它们的取值与否是与支取方式的取值对应的,例:当支取方式为“1101”时,则正例时存单存折印刷号/证件种类及号码/密码是必须对应取值的。
以上通过将软件模块的输入栏位分为不同层次,依据不同层次进行分析取值,在保证案例的完整性的同时,提高案例的有效性,从而在质量得到保证的同时,大大降低测试成本。
【实施例2】
参见图2,其图示了本发明的一种用于软件模块测试的测试案例生成方法的实施例2。
在实施例1中,所述用于软件模块测试的测试案例生成方法包括:
步骤S201,梳理软件模块的输入栏位,如表1,软件模块共有7个输入栏,简要表示为F1-F7。
表1:
F1 F2 F3 F4 F5 F6 F7
步骤S202,分析输入栏位并划分栏位层次,具体而言,获取所述输入栏位的属性,根据获得的属性将所述输入栏位划分为关键栏位、主要栏位、辅助栏位和关联栏位。
例如,通过分层分析,该软件模块的输入栏位分布如下:
关键栏位:F1【表示为KF1】
关键栏位关联栏位:KF1有一个关联栏位F3【表示为RKF1_1】
主要栏位:F2【表述为SF1】
          F4【表述为SF2】
主要栏位关联栏位:SF1有两个关联栏位,分别为F5和F6,表示为RSF1_1和RSF1_2;
SF2没有关联栏位。
辅助栏位:F7【表述为JF1】
辅助栏位关联栏位:JF1没有关联栏位。
表2:
Figure BDA00002663736800051
步骤S203,利用黑盒测试分析方法、白盒测试分析方法用全部列举的方式列出关键栏位的所有可能取值,并且所述取值使用虚拟值,包括需要测试的错误值。需要说明的是,本发明并不局限于此,还可以基于其他影响模块输入取值的要素等角度出发穷举关键栏位的所有可能取值,这些要素是指在用白盒/黑盒方法都不能识别的取值,有些是经验积累,抑或是生产出了问题以后的教训等等。
步骤S204,利用等价法进行筛选,具体而言,在对输出没有实质影响的前提下,等价取值中选择其中一个取值。
步骤S205,对筛选剩下的取值与其关联栏位进行排列组合,由此产生出由关键栏位主导的测试案例,并填入关键栏位测试案例分析表,如表3所示。
所述排列组合具体可以包括以关键栏位为键值,和其关联栏位的取值进行全排列组合,换句话说,关键栏位每取一个值,其关联栏位所有取值和其组合一遍。
可选地,在利用等价法排除的同时,可以根据需要设计所排除的取值的反例。本领域技术人员应当理解,这需要根据软件模块的需求来进行具体分析,例如,一般零存整取和教育储蓄是等价的,但教育储蓄有2万元存款的上限,这时就要考虑2万元以上的反例。
步骤S206,根据关键栏位与关联栏位之间的关联关系在关键栏位测试案例分析表中填入关键栏位的关联栏位的取值。
并且,可选地,可以根据需要针对关联栏位的其中一个栏位取值设计反例。例如,存款种类是关键栏位,存期是其关联栏位之一,可以考虑在目前规定的存期(如5年)之外,设计没有的取值,比如10年。
在本实施例中,假设场景为KF1有3个正确取值【V1-V3】,并需要测试错误值【V4】,RKF1_1有2个取值【V1-V2】,也需要测错误值【V3】,则关键栏位测试案例如下表所示,总共生成有6个正例,2个反例。
表3:
Figure BDA00002663736800061
步骤S207,列举出主要栏位的所有可能取值,并且所述取值时用虚拟值,暂时不包括错误值,具体而言,主要栏位基于由所述关键栏位主导的正例穷举所有可能取值,随后可以随机取值,以产生由所述主要栏位主导的测试案例,并填入主要栏位测试案例分析表,如表4所示。
可选地,再从所述白盒测试分析方法或黑盒测试分析方法以及经验/教训等各个角度出发,分析考虑是否需要对主要栏位的错误值设计反例。本领域技术人员应当理解,是否对主要栏位的错误值设计反例可以根据具体需求而定,例如,交易类别是主要栏位,转出账号是其关联栏位并在需求中规定不能从内部账转账,则案例设计时,当交易类别取值为转账时,除转出账号除活期账号/卡号/定期账号等正常值以外,还需取值内部账作为反例。并且,取主要栏位的反例时,其他输入栏位可参照任一正例的取值。
步骤S208,根据所述主要栏位与关联栏位之间的关联关系在主要栏位测试案例分表中填入主要栏位的关联栏位的取值。
可选地,如上所述,可以根据需要针对关联栏位的其中一个栏位取值设计反例。
在本实施例中,假设SF1有2个取值【V1-V2】,无错误值,RSF1_1有2个取值【V1-V2】,需测试错误值【V3】,RSF1_2有1个取值【V1】,无错误值,SF2有4个取值【V1-V4】,需测试错误值【V5】,JF1取值不影响交易逻辑或结果,取值定义【V】,则主要栏位测试案例分析表如下表所示,在关键栏位测试案例的基础上,新增了2个反例。
表4:
SF1 RSF1_1 RSF1_2 SF2 JF1 案例号 备注
V1 V1 V1 V1 V Z-K1-1
V2 V2 V1 V2 V Z-K1-2
V1 V3 V1 V2 V F-K0-S1-1
V2 V1 V1 V3 V Z-K2-1
V1 V2 V1 V4 V Z-K2-2
V1 V1 V1 V5 V F-K0-S0-S1-1
V1 V1 V1 V1 V Z-K2-3
V1 V1 V1 V1 V Z-K3-1
步骤S209,在以上步骤产生的案例基础上,列举辅助栏位可能的取值,用虚拟值表示,由于划分辅助栏位的原则是该栏位的取值不直接影响模块执行的逻辑或结果,因此可随机填入相应案例中,如表4所示。本领域技术人员应当理解,当然也可以将辅助栏位的取值随机填入专门的辅助栏位测试案例分析表中。
步骤S210,基于所述预设的虚拟值与测试案例的实际值的对应关系,根据所述关键栏位测试案例分析表、主要栏位测试案例分析表和辅助栏位测试案例分析表中的虚拟值查询实际值,将所述实际值填入可执行的测试案例表(如表5所示)中以生成测试软件模块时可执行的测试案例。
其中,在本发明的各个实施方式中,所述虚拟值是一种归纳的取值范围,而实际值是系统可执行的代码。在产生各个栏位测试案例分析表时采用虚拟值代替实际值的优点在于,当代码发生变化时,不用修改软件模块的案例分析表。
表5:
Figure BDA00002663736800081
由上述可知,在本发明的各个实施方式中,案例号由三部分构成,第一部分为正反例标识部分,所有案例号都以大写的英文字母“Z”和“F”开头,“Z”表示正例,“F”表示反例;第二部分为栏位层次标识部分,K表示关键栏位,S表示主要栏位,J表示辅助栏位,在每个栏位层次标识后都有1位数字,表示该栏位的第几个取值,如K3表示关键栏位的第3个取值,S2表示主要栏位的第2个取值,当该值为0时,该案例肯定为反例,表示其对应的栏位取值为任意正确值;第三部分为顺序号。各部分之间都用破折号“—”连接。如:Z-K2—5,表示在关键栏位取值2的情况下的第5个正例;F—K5-10则表示在关键栏位取值5的情况下的第10个反例。如果关键栏位有多个,则在案例号的第二部分中增加,如Z-K3-K7-K1-3,表示该交易有3个关键栏位,依次的顺序号为1、2、3,该案例是在关键栏位1第3个取值、关键栏位2第7个取值、关键栏位3第1个取值的情况下设计的第三个正例;类似地,上例中F-K0-K8-1表示关键栏位2第8个取值为错误值时设计的第一个反例,F-K0-S0-S4-1表示主要栏位2第4个取值为错误值时设计的第一个反例。
采用上述编码规则,本发明实施方式不但能够保证案例的完整性和有效性,而且在软件模块的迭代开发过程中,可以保证后续的案例识别和维护。
以上结合各种实施方式对本发明的用于生成测试案例的方法进行了说明,所述说明仅仅是示例性的,并非旨在限制本发明的保护范围,本领域技术人员根据本发明权利要求的教导,可以对上述实施方式进行修改、变化,例如,根据软件模块的实际情况,可以将输入栏位分为关键栏位、主要栏位和关联栏位,而不包含辅助栏位,当然在某些实施方式中,输入栏位可分为关键栏位、主要栏位和辅助栏位,而不包含关联栏位,本领域技术人员应当理解,这些修改和变化也落入本发明权利要求的保护范围之内。同时,基于上述测试案例生成方法,本发明还提供了一种用于软件模块测试的测试案例生成装置,下面结合附图予以具体说明,其中各个功能模块的作用和执行操作可以参考上述方法实施例的说明。
参见图3,其图示了本发明的一种用于软件模块测试的测试案例生成装置的实施方式。根据该实施方式,所述测试案例生成装置包括:
栏位分层模块3100,用于根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位,例如划分为关键栏位、主要栏位、辅助栏位和关联栏位中的任意一种或多种;
栏位取值模块3200,用于对不同层次的栏位进行分析取值;
案例生成模块3300,用于将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
其中,所述栏位取值模块3200可以包括:
关键栏位取值单元3201,用于执行下述操作:
利用黑盒测试分析方法、白盒测试分析方法穷举所述关键栏位的所有可能取值,并利用等价法对所穷举出的取值进行筛选,然后对经过所述筛选剩下的取值与其关联栏位进行排列组合,以产生由所述关键栏位主导的测试案例,并填入关键栏位测试案例分析表;
主要栏位取值单元3202,用于执行下述操作:
基于由所述关键栏位主导的正例穷举所有可能取值,然后进行随机取值,以产生由所述主要栏位主导的测试案例,并填入主要栏位测试案例分析表;
辅助栏位取值单元3203,用于执行下述操作:
在所述产生的关键栏位测试案例和主要栏位测试案例的基础上,列举辅助栏位可能的取值,并随机填入辅助栏位测试案例分析表中;
关联栏位取值单元3204,用于执行下述操作:
根据所述关键栏位与所述关联栏位之间的关联关系,在所述关键栏位测试案例分析表中填入所述关键栏位的关联栏位的取值;或者根据所述主要栏位与所述关联栏位之间的关联关系,在所述主要栏位测试案例分析表中填入所述主要栏位的关联栏位的取值;或者根据所述辅助栏位与所述关联栏位之间的关联关系,在所述辅助栏位测试案例分析表中填入所述辅助栏位的关联栏位的取值。
需要说明的是,上述模块、单元具体的操作实施例可以参考上述实施例1和2中相应的说明,在此不再重复。
为了进一步说明本发明的实施方式的技术方案及其优点,采用本发明实施方式对银行交易使用的软件模块进行了一些实例分析,分析结果如下表所示:
表6:
Figure BDA00002663736800101
Figure BDA00002663736800111
通过实例分析,可以发现:输入栏位个数与案例数量成正比;占比越小,说明输入栏位之间的关联性越强。
传统的白盒、黑盒测试分析方法由两种不同的主体分别完成,由于分析主体的限制,案例的完整性受到限制,而用输入栏位取值全排列组合的方式来产生案例,则会产生大量的无效案例和等价案例,案例的有效性差强人意,测试成本大大增加。然而本发明以白盒和黑盒测试分析方法为基础,利用“输入决定输出”的基本原理,并综合使用了分层分析、关联分析、等价分析、特别场景等一系列处理,在保证案例完整性的同时,极大程度地提高了案例的有效性,大大降低了测试成本。
同时,本发明还设计了一套完整的案例号编排规则,使得获取的测试案例能够被不同的主体或在不同的测试阶段使用,并且在其迭代开发过程中不断维护以保证案例的有效性,有助于对已有案例的识别和后续维护工作,从而进一步降低测试成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本领技术人员应当理解,以上所公开的仅为本发明的实施方式而已,当然不能以此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所涵盖的范围。

Claims (17)

1.一种用于软件模块测试的测试案例生成方法,其特征在于,所述测试案例包括正例和反例,其中,所述正例是指按照既定的正确值进行取值,得到预期的逻辑结果的测试案例,所述反例是指不按照既定的正确值进行取值,得到预期的错误结果的测试案例;
其中,所述测试案例生成方法包括以下步骤:
根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;
对不同层次的栏位进行分析取值;
将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
2.如权利要求1所述的测试案例生成方法,其特征在于,所述根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位的步骤包括:
获取所述输入栏位的属性,根据获得的属性将所述输入栏位划分为关键栏位、主要栏位、辅助栏位和关联栏位中的任意一种或多种;其中,
所述关键栏位为所述软件模块根据既定需求要完成的目标;
所述主要栏位为所述软件模块的为完成既定目标而围绕所述关键栏位必须进行输入操作的输入栏位;
所述辅助栏位为不影响所述软件模块的输出结果的输入栏位;
所述关联栏位为不能独立取值并且其取值依赖于所述关键栏位、主要栏位、辅助栏位的输入栏位。
3.如权利要求2所述的测试案例生成方法,其特征在于,所述对不同层次的栏位进行分析取值的步骤包括:
利用黑盒测试分析方法、白盒测试分析方法穷举所述关键栏位的所有可能取值;
利用等价法对所穷举出的取值进行筛选;
对经过所述筛选剩下的取值与其关联栏位进行排列组合,以产生由所述关键栏位主导的测试案例,并填入关键栏位测试案例分析表;
根据所述关键栏位与所述关联栏位之间的关联关系,在所述关键栏位测试案例分析表中填入所述关键栏位的关联栏位的取值。
4.如权利要求3所述的测试案例生成方法,其特征在于,所述对不同层次的栏位进行分析取值的步骤还包括:
所述主要栏位基于由所述关键栏位主导的正例穷举所有可能取值,然后进行随机取值,以产生由所述主要栏位主导的测试案例,并填入主要栏位测试案例分析表;
根据所述主要栏位与所述关联栏位之间的关联关系,在所述主要栏位测试案例分表中填入所述主要栏位的关联栏位的取值。
5.如权利要求4所述的测试案例生成方法,其特征在于,所述对不同层次的栏位进行分析取值的步骤进一步包括:
在基于所述关键栏位和主要栏位所产生的测试案例基础上,列举所述辅助栏位可能的取值,并随机填入辅助栏位测试案例分析表中;
根据所述辅助栏位与所述关联栏位之间的关联关系,在所述辅助栏位测试案例分析表中填入所述辅助栏位的关联栏位的取值。
6.如权利要求2至5任意一项所述的测试案例生成方法,其特征在于,所述取值使用虚拟值,并且预设有所述虚拟值与测试案例的实际值的对应关系。
7.如权利要求6所述的测试案例生成方法,其特征在于,所述将所述取值填入可执行的测试案例表中的步骤包括:
基于所述预设的虚拟值与测试案例的实际值的对应关系,根据所述关键栏位测试案例分析表、主要栏位测试案例分析表和辅助栏位测试案例分析表中的虚拟值查询实际值,将所述实际值填入可执行的测试案例表中。
8.如权利要求3所述的测试案例生成方法,其特征在于,所述排列组合包括:
所述关键栏位每取一个值,其关联栏位的所有取值与该关键栏位的取值组合一遍。
9.如权利要求3所述的测试案例生成方法,其特征在于,所述对不同层次的栏位进行分析取值的步骤还包括:
在利用所述等价法对所穷举出的取值进行筛选时,对被排除的取值设计反例。
10.如权利要求3或4所述的测试案例生成方法,其特征在于,所述对不同层次的栏位进行分析取值的步骤还包括:
对所述关联栏位的其中一个栏位的取值设计反例。
11.如权利要求1至5任意一项所述的测试案例生成方法,其特征在于,所述测试案例分析表或测试案例表中的案例号由三部分构成,其中,第一部分为正反例标识部分,第二部分为栏位层次标识部分,第三部分为顺序号。
12.一种用于软件模块测试的测试案例生成装置,其特征在于,
所述测试案例包括正例和反例,其中,所述正例是指按照既定的正确值进行取值,得到预期的逻辑结果的测试案例,所述反例是指不按照既定的正确值进行取值,得到预期的错误结果的测试案例;
其中,所述测试案例生成装置包括:
栏位分层模块,用于根据软件模块的输入栏位的属性将所述输入栏位划分为不同层次的栏位;
栏位取值模块,用于对不同层次的栏位进行分析取值;
案例生成模块,用于将所述取值填入可执行的测试案例表中以生成可执行的测试案例。
13.如权利要求12所述的测试案例生成装置,其特征在于,所述软件模块的输入栏位被划分为关键栏位、主要栏位、辅助栏位和关联栏位中的任意一种或多种,其中,
所述关键栏位为所述软件模块根据既定需求要完成的目标;
所述主要栏位为所述软件模块的为完成既定目标而围绕所述关键栏位必须进行输入操作的输入栏位;
所述辅助栏位为不影响所述软件模块的输出结果的输入栏位;
所述关联栏位为不能独立取值并且其取值依赖于所述关键栏位、主要栏位、辅助栏位的输入栏位。
14.如权利要求13所述的测试案例生成装置,其特征在于,所述栏位取值模块包括:
关键栏位取值单元,用于执行下述操作:
利用黑盒测试分析方法、白盒测试分析方法穷举所述关键栏位的所有可能取值,并利用等价法对所穷举出的取值进行筛选,然后对经过所述筛选剩下的取值与其关联栏位进行排列组合,以产生由所述关键栏位主导的测试案例,并填入关键栏位测试案例分析表;
主要栏位取值单元,用于执行下述操作:
基于由所述关键栏位主导的正例穷举所有可能取值,然后进行随机取值,以产生由所述主要栏位主导的测试案例,并填入主要栏位测试案例分析表;
辅助栏位取值单元,用于执行下述操作:
在基于所述关键栏位和主要栏位所产生的测试案例的基础上,列举辅助栏位可能的取值,并随机填入辅助栏位测试案例分析表中;
关联栏位取值单元,用于执行下述操作:
根据所述关键栏位与所述关联栏位之间的关联关系,在所述关键栏位测试案例分析表中填入所述关键栏位的关联栏位的取值;或者
根据所述主要栏位与所述关联栏位之间的关联关系,在所述主要栏位测试案例分析表中填入所述主要栏位的关联栏位的取值;或者
根据所述辅助栏位与所述关联栏位之间的关联关系,在所述辅助栏位测试案例分析表中填入所述辅助栏位的关联栏位的取值。
15.如权利要求14所述的测试案例生成装置,其特征在于,所述取值用虚拟值表示,并且预设有所述虚拟值与测试案例的实际值的对应关系。
16.如权利要求15所述的测试案例生成装置,其特征在于,所述案例生成模块基于所述预设的虚拟值与测试案例的实际值的对应关系,根据所述关键栏位测试案例分析表、主要栏位测试案例分析表和辅助栏位测试案例分析表中的虚拟值查询实际值,将所述实际值填入可执行的测试案例表中。
17.如权利要求14所述的测试案例生成装置,其特征在于,
所述关键栏位取值单元进一步用于在利用所述等价法对所穷举出的取值进行筛选时对被排除的取值设计反例;
所述关联栏位取值单元进一步用于对所述关联栏位的其中一个栏位取值设计反例。
CN201210580795.9A 2012-12-27 2012-12-27 用于软件模块测试的测试案例生成方法及装置 Active CN103049382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210580795.9A CN103049382B (zh) 2012-12-27 2012-12-27 用于软件模块测试的测试案例生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210580795.9A CN103049382B (zh) 2012-12-27 2012-12-27 用于软件模块测试的测试案例生成方法及装置

Publications (2)

Publication Number Publication Date
CN103049382A true CN103049382A (zh) 2013-04-17
CN103049382B CN103049382B (zh) 2015-08-05

Family

ID=48062029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210580795.9A Active CN103049382B (zh) 2012-12-27 2012-12-27 用于软件模块测试的测试案例生成方法及装置

Country Status (1)

Country Link
CN (1) CN103049382B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281523A (zh) * 2014-10-27 2015-01-14 中国建设银行股份有限公司 一种需求可测性分析方法及系统
CN105955890A (zh) * 2016-05-13 2016-09-21 中国建设银行股份有限公司 一种功能测试案例的生成方法及装置
CN108255698A (zh) * 2017-02-17 2018-07-06 平安科技(深圳)有限公司 基于可视化界面的测试案例生成方法和装置
CN108427614A (zh) * 2018-05-11 2018-08-21 中国银行股份有限公司 一种基于Admitester工具的接口测试方法及装置
CN112346983A (zh) * 2020-11-24 2021-02-09 中信银行股份有限公司 一种测试案例自动化生成的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183332A (zh) * 2007-11-21 2008-05-21 北京中星微电子有限公司 一种根据程序内容自动生成测试数据集的方法和装置
CN101251798A (zh) * 2008-04-01 2008-08-27 中兴通讯股份有限公司 一种基于关系的测试用例生成方法
CN101377759A (zh) * 2008-08-26 2009-03-04 中国工商银行股份有限公司 自动化界面测试系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183332A (zh) * 2007-11-21 2008-05-21 北京中星微电子有限公司 一种根据程序内容自动生成测试数据集的方法和装置
CN101251798A (zh) * 2008-04-01 2008-08-27 中兴通讯股份有限公司 一种基于关系的测试用例生成方法
CN101377759A (zh) * 2008-08-26 2009-03-04 中国工商银行股份有限公司 自动化界面测试系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281523A (zh) * 2014-10-27 2015-01-14 中国建设银行股份有限公司 一种需求可测性分析方法及系统
CN104281523B (zh) * 2014-10-27 2017-06-16 中国建设银行股份有限公司 一种需求可测性分析方法及系统
CN105955890A (zh) * 2016-05-13 2016-09-21 中国建设银行股份有限公司 一种功能测试案例的生成方法及装置
CN105955890B (zh) * 2016-05-13 2018-10-19 中国建设银行股份有限公司 一种功能测试案例的生成方法及装置
CN108255698A (zh) * 2017-02-17 2018-07-06 平安科技(深圳)有限公司 基于可视化界面的测试案例生成方法和装置
CN108427614A (zh) * 2018-05-11 2018-08-21 中国银行股份有限公司 一种基于Admitester工具的接口测试方法及装置
CN108427614B (zh) * 2018-05-11 2021-05-18 中国银行股份有限公司 一种基于Admitester工具的接口测试方法及装置
CN112346983A (zh) * 2020-11-24 2021-02-09 中信银行股份有限公司 一种测试案例自动化生成的方法和系统
CN112346983B (zh) * 2020-11-24 2024-05-17 中信银行股份有限公司 一种测试案例自动化生成的方法和系统

Also Published As

Publication number Publication date
CN103049382B (zh) 2015-08-05

Similar Documents

Publication Publication Date Title
Tan et al. Optimal transportation under controlled stochastic dynamics
CN103049382B (zh) 用于软件模块测试的测试案例生成方法及装置
CN1819383B (zh) 判定不稳定平衡点的稳定性的方法
Biagini et al. Stochastic calculus for fractional Brownian motion and applications
Pfeffer Derivation and integration
CN102187346B (zh) 用于使敏感信息安全的系统和过程
CN104765745B (zh) 对数据库中的加载数据进行逻辑验证的方法和系统
Gerlach et al. Comparing the efficiency of numerical techniques for the integration of variational equations
CN108985066A (zh) 一种智能合约安全漏洞检测方法、装置、终端及存储介质
CN110659983A (zh) 银行账务数据处理方法、装置、电子设备及存储介质
CN105988930A (zh) 测试用例生成方法和装置
CN111325619A (zh) 一种基于联合学习的信用卡欺诈检测模型更新方法及装置
Zhao et al. Analysis of the average confirmation time of transactions in a blockchain system
CN105279613A (zh) 一种账务处理方法及系统
CN106815725A (zh) 一种交易验证方法和装置
CN106780283A (zh) 隐写信息编码方法和装置以及隐写信息解码方法和装置
CN107679157A (zh) 自动编码方法和系统
Li et al. Structure reduction of liveness‐enforcing Petri nets using mixed integer programming
CN102681936B (zh) 一种针对金融系统测试结果的验证方法及装置
Jung et al. A heterogeneous CPU–GPU parallel approach to a multigrid poisson solver for incompressible fluid simulation
Wang Montclair State University, USA
CN104572921A (zh) 一种跨数据中心的数据同步方法和装置
Burzoni et al. Robust martingale selection problem and its connections to the no‐arbitrage theory
CN102495788B (zh) 一种嵌入式系统内存统计方法及装置
CN108062325A (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
C14 Grant of patent or utility model
GR01 Patent grant