生成测试用例的方法及系统与流程

文档序号:12665602阅读:335来源:国知局
生成测试用例的方法及系统与流程

本发明涉及计算机技术领域,更为具体而言,涉及生成测试用例的方法及系统。



背景技术:

软件的功能测试是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只是检查程序功能是否按照需求规格说明书的规定正常使用。测试用例是为某个特殊目标而编制的一组测试数据以及预期结果的文档。

现有的测试用例是由测试人员根据需求规则手动设计,造成了测试用例的产出效率低,设计人员的工作负担重,设计的过程和痕迹不易保留,以及,测试用例的设计和执行较难由不同的人员分开操作等问题。



技术实现要素:

为解决上述技术问题,本发明提供一种生成测试用例的方法及系统。

一方面,本发明的实施方式提供了一种生成测试用例的方法,所述方法包括:

接收要素关系表;

根据所述要素关系表生成测试用例。

另一方面,本发明实施方式提供了一种生成测试用例的系统,所述系统包括:

接收模块,用于接收要素关系表;

生成模块,用于根据所述要素关系表生成测试用例。

本发明创造性地提出“要素关系表”的概念,将需求规则转化为“要素与关系”,以标准而清晰的形式将测试用例的设计要点保留下来,使得测试知识可以较为方便的交接与传承,也便于分开操作测试用例的设计与执行过程;同时,根据“要素关系表”自动生成测试用例,能够提高测试用例产出的效率,减轻测试人员的负担。

附图说明

图1是根据本发明实施方式的生成测试用例的方法的流程图;

图2是根据本发明实施方式的要素关系表的示意图;

图3示出了图1所示的处理S2的一种实施方式;

图4是根据本发明实施方式的测试数据的示意图;

图5示出了图1所示的处理S2的另一种实施方式;

图6是根据本发明实施方式的生成测试用例的系统的结构示意图;

图7示出了图6所示的生成模块2的一种实施方式;

图8示出了图6所示的生成模块2的另一种实施方式。

具体实施方式

以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或步骤可以按各种不同配置进行组合和设计。

对于未在本说明书中进行具体说明的技术术语,除非另有特定说明,都应以本领域最宽泛的意思进行解释。

【方法实施方式1】

图1是根据本发明实施方式的一种生成测试用例的方法的流程图。参见图1,所述方法包括:

S1:接收要素关系表。

S2:根据接收的要素关系表生成测试用例。

在本发明实施方式中,如图2所示,所述要素关系表可以包括,但不限于:测试要素(系统功能的基本单元)以及要素间的关联关系(描述多个要素之间的关联性)。其中,要素之间的关联关系可以包括约束关系以及组合关系。约束关系描述一个要素集合(单个要素或者多个要素)的等价类取值对另一个要素集合(单个要素或者多个要素)的等价类取值产生影响的关系,一般具有确定性,可以通过业务规则显性描述;组合关系描述需要测试的不同要素的等价类取值的组合,一般在业务规则中无显性描述,需通过分析确定。

如图2所示,要素关系表中的要素部分包括要素名值对(要素名称和要素取值),其中,要素的取值包括有效取值和无效取值。要素关系表中的规则部分包括要素之间的关系规则。例如,图2中的REL1“C:凭单凭单”为一条约束规则,表示在交易类别为凭单时,凭单印标志只能为凭单;图2中的REL3“凭单协议+牌告+浮动”为一条组合规则,表示在交易类别为凭单时,利率信息可以选取协议或者牌告或者浮动。

【方法实施方式2】

本实施方式所提供的方法包括图1中的处理S1至S2,在此不再赘述。如图3所示,在本实施方式中,处理S2通过下述方式实现:

S21:从接收的要素关系表中解析出要素关系规则。

S22:生成用于测试解析出的要素关系规则的测试数据。

S23:基于生成的测试数据生成测试用例。

具体而言,处理S23可以通过下述方式实现:将生成的测试数据进行整合和去重处理,添加测试数据的编号、测试目的、测试步骤等信息以生成测试用例。

在本发明的可选实施方式中,解析出的要素关系规则可包括:组合关系规则。相应地,用于测试解析出的要素关系规则的测试数据包括:用于覆盖解析出的组合关系规则所限定的所有要素名值对组的正测试数据。

以图2所示的要素关系表为例,用于覆盖解析出的组合关系规则(例如,图2中的REL3)所限定的所有要素名值对组(例如,“凭单协议”、“凭单牌告”、以及“凭单浮动”)的正测试数据例如包括图4中的TestCase_1、TestCase_2、以及TestCase_3。

在本发明的另一可选实施方式中,解析出的要素关系规则可包括:约束关系规则。相应地,用于测试解析出的要素关系规则的测试数据包括:用于覆盖解析出的约束关系规则所限定的所有要素名值对组的正测试数据,和,用于覆盖解析出的约束关系规则的违规要素名值对组的反测试数据。

以图2所示的要素关系表为例,用于覆盖解析出的约束关系规则(例如,图2中的REL1和REL2)所限定的所有要素名值对组(例如,“凭单凭单”以及“不通兑开户机构”)的正测试数据例如包括图4中的TestCase_4和TestCase_6;用于覆盖解析出的约束关系规则的违规要素名值对组(例如,“凭单凭印”以及“不通兑一级行内非开”)的反测试数据例如包括图4中的TestCase_5和TestCase_7。

优选地,在解析出的约束关系规则为多个的情形下,不同的约束关系规则的违规要素名值对组被覆盖到不同的反测试数据中。例如,REL1的违规要素名值对组(“凭单凭印”)被覆盖到TestCase_5中,REL2的违规要素名值对组(“不通兑一级行内非开”)被覆盖到TestCase_7中。

其中,正测试数据是指为了验证软件产品可以正常地完成某项功能而不会报错的测试数据;反测试数据是指为了验证软件产品在遇到某种预先设定好的不合规则的场景时,做出错误提示并不再进行后续处理的测试数据;违规要素名值对组是指不符合相应的约束关系规则的要素名值对组,例如,图2中的REL1(C:凭单凭单)的一个违规要素名值对组为(“凭单凭印”)。

【方法实施方式3】

本实施方式所提供的方法包括图1中的处理S1至S2,在此不再赘述。如图5所示,在本实施方式中,处理S2通过下述方式实现:

S21’至S22’同S21至S22,在此不再赘述。

S23’:识别接收的要素关系表中是否存在未被通过执行处理S22’而生成的测试数据覆盖的要素名值对,若是,则执行S24’,若否,则执行S25’。

S24’:生成用于测试未被覆盖的要素名值对的测试数据。

S25’:基于生成的测试数据生成测试用例。

以图2所示的要素关系表为例,该要素关系表中存在未被通过执行处理S22’而生成的测试数据覆盖的要素名值对,例如,(交易类别:不凭单)、(凭单印标志:凭单印)、(凭单印标志:凭印)、以及(凭单印标志:空)。因此,还需要再生成用于测试未被覆盖的要素名值对的测试数据,例如,图4中的TestCase_8、TestCase_9、TestCase_10、以及TestCase_11。

【系统实施方式1】

图6是根据本发明实施方式的生成测试用例的系统的结构示意图。参见图6,所述系统10包括:接收模块1以及生成模块2,具体地:

接收模块1用于接收要素关系表。

生成模块2用于根据接收模块1接收的要素关系表生成测试用例。

【系统实施方式2】

本实施方式所提供的系统包括了图6所示的全部模块,在此不再赘述。如图7所示,在本实施方式中,生成模块2包括:解析单元21、第一测试数据生成单元22、测试用例生成单元23,具体地:

解析单元21用于从接收模块1接收的要素关系表中解析出要素关系规则。

第一测试数据生成单元22用于生成用于测试解析单元21解析出的要素关系规则的测试数据。

测试用例生成单元23用于基于第一测试数据生成单元22生成的测试数据生成测试用例。

在本发明的一些实施方式中,解析单元21解析出的要素关系规则包括:组合关系规则,相应地,用于测试解析单元21解析出的要素关系规则的测试数据包括:用于覆盖解析出的组合关系规则所限定的所有要素名值对组的正测试数据。

在本发明的一些实施方式中,解析单元21解析出的要素关系规则包括:约束关系规则,相应地,用于测试解析单元21解析出的要素关系规则的测试数据包括:用于覆盖解析出的约束关系规则所限定的所有要素名值对组的正测试数据,和用于覆盖解析出的约束关系规则的违规要素名值对组的反测试数据。

优选地,在约束关系规则为多个的情形下,不同的约束关系规则的违规要素名值对组被覆盖到不同的反测试数据中。

【系统实施方式3】

本实施方式所提供的系统包括了图6所示的全部模块,在此不再赘述。如图8所示,在本实施方式中,生成模块2包括:解析单元21’、第一测试数据生成单元22’、识别单元23’、第二测试数据生成单元24’、测试用例生成单元25’,具体地:

解析单元21’和第一测试数据生成单元22’分别同解析单元21和第一测试数据生成单元22,在此不再赘述。

识别单元23’用于识别接收模块1接收的要素关系表中是否存在未被第一测试数据生成单元22’生成的测试数据覆盖的要素名值对。

第二测试数据生成单元24’用于在识别单元23’识别出存在未被覆盖的要素名值对的情形下,生成用于测试未被覆盖的要素名值对的测试数据。

测试用例生成单元25’用于基于第一测试数据生成单元22’和第二测试数据生成单元24’生成的测试数据生成测试用例。

本发明创造性地提出“要素关系表”的概念,将需求规则转化为“要素与关系”,以标准而清晰的形式将测试用例的设计要点保留下来,使得测试知识可以较为方便的交接与传承,也便于分开操作测试用例的设计与执行过程;同时,根据“要素关系表”自动生成测试用例,能够提高测试用例产出的效率,减轻测试人员的负担。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。

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