CN108415830B - 一种软件测试用例的生成方法及装置 - Google Patents
一种软件测试用例的生成方法及装置 Download PDFInfo
- Publication number
- CN108415830B CN108415830B CN201810113816.3A CN201810113816A CN108415830B CN 108415830 B CN108415830 B CN 108415830B CN 201810113816 A CN201810113816 A CN 201810113816A CN 108415830 B CN108415830 B CN 108415830B
- Authority
- CN
- China
- Prior art keywords
- combination
- test
- module
- generating
- test cases
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
本发明公开了一种软件测试用例的生成方法及装置,方法包括以下步骤:根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;根据基础用例库中的测试用例生成测试用例数据;根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。本发明生成测试用例的方法快速简单,在执行测试时既能全面覆盖功能点,又考虑到不同的使用场景和业务流,在保证软件测试质量的同时,有利于提高测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其是一种软件测试用例的生成方法及装置。
背景技术
在软件测试中,执行每一个功能测试用例时往往是没有问题的,但在不同业务流和使用场景下执行这些用例则会触发缺陷。目前软件测试方法一般有两种,第一种是根据功能需求点编写测试用例然后执行测试,第二种是根据业务流和使用场景来编写测试用例然后执行测试;两相对比,第一种方案的每个功能点覆盖较全面,但是没有充分考虑不同功能之间的联系,第二种方案则考虑了不同功能之间的联系但是功能点覆盖不全面。
发明内容
为了解决上述问题,本发明的目的是提供一种软件测试用例的生成方法及装置,在测试时,既能全面覆盖功能点,又考虑到不同的使用场景和业务流,在保证软件测试质量的同时,有利于提高测试效率。
为了弥补现有技术的不足,本发明采用的技术方案是:
一种软件测试用例的生成方法,包括以下步骤:
根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
根据基础用例库中的测试用例生成测试用例数据;
根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;
删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
优选地,根据基础用例库中的测试用例生成测试用例数据,包括:根据基础用例库中的测试用例,利用等价类划分法和边界值分析法生成测试用例数据。
进一步,根据使用场景和业务流分别获取每个功能需求点被触发的组合条件,从而获得a个对应的组合,包括:针对于使用场景,根据功能执行顺序获取b个对应的组合;针对于业务流,根据功能之间的联系获取c个对应的组合;其中,a≥b+c。
进一步,b个对应的组合包括:b1个出现概率为1的组合,b2个出现概率在0到1之间的组合,b3个出现概率为0的组合;其中,b=b1+b2+b3。
一种软件测试用例的生成装置,包括:
测试用例生成模块,用于根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
测试用例数据生成模块,用于根据基础用例库中的测试用例生成测试用例数据;
组合条件获取模块,用于根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;
组合调用模块,用于删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
共享用例提取模块,用于将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
优选地,测试用例数据生成模块利用等价类划分法和边界值分析法生成测试用例数据。
进一步,组合条件获取模块,包括使用场景组合条件获取模块和业务流组合条件获取模块;
使用场景组合条件获取模块,用于根据功能执行顺序获取对应的组合;
业务流组合条件获取模块,用于根据功能之间的联系获取对应的组合。
其中,组合条件获取模块所获取的组合数不小于使用场景组合条件获取模块和业务流组合条件获取模块所获取的组合数之和。
进一步,使用场景组合条件获取模块包括第一模块、第二模块和第三模块;
第一模块,用于获取出现概率为1的组合;
第二模块,用于获取出现概率在0到1之间的组合;
第三模块,用于获取出现概率为0的组合。
其中,第一模块、第二模块和第三模块获取的组合数之和等于使用场景组合条件获取模块所获取的组合数。
本发明的有益效果是:本发明的方法将每个需求点的功能测试和整体场景业务流程融合在一起,既保证了每个需求点的功能,同时在不同场景和业务流下保证各功能之间顺畅运行,不会发生冲突;并且在测试中,本发明可将重复用例提取出来,并作为共享用例置入基础用例库中,能够不断丰富基础用例库的内容,因此组合可更容易地调用基础用例库,有利于准确快速地执行测试用例;因此,本发明生成测试用例的方法快速简单,在执行测试时,既能全面覆盖功能点,又考虑到不同的使用场景和业务流,在保证软件测试质量的同时,有利于提高测试效率。
附图说明
下面结合附图给出本发明较佳实施例,以详细说明本发明的实施方案。
图1是本发明的生成方法的步骤流程图;
图2是本发明的生成方法中获取每个功能需求点被触发的组合条件的步骤流程图;
图3是本发明的生成装置的结构框图。
具体实施方式
实施例一
参照图1,一种软件测试用例的生成方法,包括以下步骤:
根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
根据基础用例库中的测试用例生成测试用例数据;
根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;
删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
具体地,在本实施例中,可根据基础用例库中测试用例的功能需求来直接执行对应的测试用例,也可按照使用场景和/或业务流来执行对应情况下的测试用例,即按照本方法生成软件测试用例后,可任意选择执行相应情况下的用例,单独执行或同时执行均不做限定;每个功能需求点为不可再细分的最小单位,即是执行测试用例的最基础单位;由于在不同场景和业务流的对应关系下可能会出现相同的组合条件,即两者基于不同方面给出组合条件,但归总到一起则有些组合可能会重合,所以需要将这些重复的组合删去。
本实施例的方法将每个需求点的功能测试和整体业务流程融合在一起,既保证了每个需求点的功能,同时在不同场景和业务流下保证各功能之间顺畅运行,不会发生冲突;并且在测试中,本发明可将重复用例提取出来,并作为共享用例置入基础用例库中,能够不断丰富基础用例库的内容,因此组合可更容易地调用基础用例库,有利于准确快速地执行测试用例;因此,本实施例生成测试用例的方法快速简单,在执行测试时,既能全面覆盖功能点,又考虑到不同的使用场景和业务流,在保证软件测试质量的同时,有利于提高测试效率。
其中,优选地,根据基础用例库中的测试用例生成测试用例数据,包括:根据基础用例库中的测试用例,利用等价类划分法和边界值分析法生成测试用例数据。
具体地,等价类划分法和边界值分析法是本领域的常用测试方法,但并不限定,也可用其它的黑盒测试方法。
等价类划分法将程序所有可能的有效或无效输入数据划分成若干个等价类,然后从每个部分中选取具有代表性的数据作为测试用例并进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证了测试用例具有完整性和代表性;利用这一方法设计测试用例可以不考虑程序的内部结构,而是以需求说明书为依据,选择适当典型子集,认真分析和推敲需求说明书的各项需求,尤其是功能需求。
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常边界值分析法是作为对等价类划分法的补充,在这种情况下,其测试用例来自于等价类的边界。
其中,参照图2,根据使用场景和业务流分别获取每个功能需求点被触发的组合条件,从而获得a个对应的组合,包括:针对于使用场景,根据功能执行顺序获取b个对应的组合;针对于业务流,根据功能之间的联系获取c个对应的组合;其中,a≥b+c。
其中,参照图2,b个对应的组合包括:b1个出现概率为1的组合,b2个出现概率在0到1之间的组合,b3个出现概率为0的组合;其中,b=b1+b2+b3。
具体地,a、b、c、b1、b2和b3并非是一个限定值,根据不同场景和业务流,其可能会发生变化,但在一般情况下b3为0;
统计不同概率下的组合有利于了解到何种场景下的测试执行得最多,配合功能相互影响的组合,即可方便地了解到场景和业务流下的所有组合;这样,将每个需求的功能测试和整体业务流程融合在一起,在不同场景和流程下保证各功能之间顺畅运行,不会发生冲突。
实施例二
参照图3,一种软件测试用例的生成装置,包括:
测试用例生成模块,用于根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
测试用例数据生成模块,用于根据基础用例库中的测试用例生成测试用例数据;
组合条件获取模块,用于根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;
组合调用模块,用于删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
共享用例提取模块,用于将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
优选地,测试用例数据生成模块利用等价类划分法和边界值分析法生成测试用例数据。
其中,组合条件获取模块,包括使用场景组合条件获取模块和业务流组合条件获取模块;
使用场景组合条件获取模块,用于根据功能执行顺序获取对应的组合;
业务流组合条件获取模块,用于根据功能之间的联系获取对应的组合。
其中,组合条件获取模块所获取的组合数不小于使用场景组合条件获取模块和业务流组合条件获取模块所获取的组合数之和。
其中,使用场景组合条件获取模块包括第一模块、第二模块和第三模块;
第一模块,用于获取出现概率为1的组合;
第二模块,用于获取出现概率在0到1之间的组合;
第三模块,用于获取出现概率为0的组合。
其中,第一模块、第二模块和第三模块获取的组合数之和等于使用场景组合条件获取模块所获取的组合数。
以上内容对本发明的较佳实施例和基本原理作了详细论述,但本发明并不局限于上述实施方式,熟悉本领域的技术人员应该了解在不违背本发明精神的前提下还会有各种等同变形和替换,这些等同变形和替换都落入要求保护的本发明范围内。
Claims (7)
1.一种软件测试用例的生成方法,其特征在于,包括以下步骤:
根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
根据基础用例库中的测试用例生成测试用例数据;
根据使用场景和业务流分别获取每个功能需求点被触发的组合条件,从而获得a个对应的组合,包括:针对于使用场景,根据功能执行顺序获取b个对应的组合;针对于业务流,根据功能之间的联系获取c个对应的组合;其中,a≥b+c;
删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
2.根据权利要求1所述的一种软件测试用例的生成方法,其特征在于,根据基础用例库中的测试用例生成测试用例数据,包括:根据基础用例库中的测试用例,利用等价类划分法和边界值分析法生成测试用例数据。
3.根据权利要求1所述的一种软件测试用例的生成方法,其特征在于,b个对应的组合包括:b1个出现概率为1的组合,b2个出现概率在0到1之间的组合,b3个出现概率为0的组合;其中,b=b1+b2+b3。
4.一种软件测试用例的生成装置,其特征在于,包括:
测试用例生成模块,用于根据软件需求说明书生成每个功能需求点对应的测试用例,并将这些测试用例放入基础用例库中;
测试用例数据生成模块,用于根据基础用例库中的测试用例生成测试用例数据;
组合条件获取模块,用于根据使用场景和业务流分别获取每个功能需求点被触发的组合条件;
组合调用模块,用于删除所述组合条件中重复的组合,根据余下的组合条件对测试用例数据进行组合调用,获得全部的组合测试用例;
共享用例提取模块,用于将组合测试用例中可重复使用的测试用例提取出来,并作为共享用例放入基础用例库中。
5.根据权利要求4所述的一种软件测试用例的生成装置,其特征在于,所述测试用例数据生成模块利用等价类划分法和边界值分析法生成测试用例数据。
6.根据权利要求4所述的一种软件测试用例的生成装置,其特征在于,所述组合条件获取模块,包括使用场景组合条件获取模块和业务流组合条件获取模块;
所述使用场景组合条件获取模块,用于根据功能执行顺序获取对应的组合;
所述业务流组合条件获取模块,用于根据功能之间的联系获取对应的组合;
其中,组合条件获取模块所获取的组合数不小于使用场景组合条件获取模块和业务流组合条件获取模块所获取的组合数之和。
7.根据权利要求6所述的一种软件测试用例的生成装置,其特征在于,所述使用场景组合条件获取模块包括第一模块、第二模块和第三模块;
第一模块,用于获取出现概率为1的组合;
第二模块,用于获取出现概率在0到1之间的组合;
第三模块,用于获取出现概率为0的组合;
其中,第一模块、第二模块和第三模块获取的组合数之和等于使用场景组合条件获取模块所获取的组合数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810113816.3A CN108415830B (zh) | 2018-02-05 | 2018-02-05 | 一种软件测试用例的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810113816.3A CN108415830B (zh) | 2018-02-05 | 2018-02-05 | 一种软件测试用例的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415830A CN108415830A (zh) | 2018-08-17 |
CN108415830B true CN108415830B (zh) | 2022-05-24 |
Family
ID=63127882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810113816.3A Active CN108415830B (zh) | 2018-02-05 | 2018-02-05 | 一种软件测试用例的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108415830B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669436B (zh) * | 2018-12-06 | 2021-04-13 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN109614335B (zh) * | 2018-12-10 | 2021-10-15 | 艾瑞克·李 | 模块灰盒行为规格说明和灰盒测试用例设计方法 |
CN109815121B (zh) * | 2018-12-15 | 2023-07-18 | 中国平安人寿保险股份有限公司 | 接口自动化测试用例生成方法及相关设备 |
CN110008132B (zh) * | 2019-04-15 | 2022-11-08 | 珠海全志科技股份有限公司 | 测试用例的设计方法、装置、计算机设备及存储介质 |
CN110287118B (zh) * | 2019-06-28 | 2022-09-16 | 四川长虹电器股份有限公司 | 测试用例的测试数据生成方法及软件测试方法 |
CN110955593B (zh) * | 2019-10-28 | 2023-07-14 | 北京三快在线科技有限公司 | 客户端测试方法、装置、电子设备及可读存储介质 |
CN111930630B (zh) * | 2020-08-17 | 2024-01-05 | 电信科学技术第十研究所有限公司 | 基于数据流的大数据测试用例的生成方法及装置 |
CN113220578A (zh) * | 2021-05-17 | 2021-08-06 | 上海中通吉网络技术有限公司 | 一种功能测试用例的生成方法 |
CN113567797B (zh) * | 2021-09-27 | 2022-02-22 | 北京全路通信信号研究设计院集团有限公司 | 一种适用于轨道电路产品性能测试案例设计方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148277A (en) * | 1997-12-18 | 2000-11-14 | Nortel Networks Corporation | Apparatus and method for generating model reference tests |
CN102646226A (zh) * | 2012-02-22 | 2012-08-22 | 浪潮电子信息产业股份有限公司 | 一种缩减软件开发和测试周期的方法 |
CN103902439B (zh) * | 2012-12-25 | 2016-08-24 | 北大方正集团有限公司 | 一种测试用例的管理方法、装置及系统 |
-
2018
- 2018-02-05 CN CN201810113816.3A patent/CN108415830B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108415830A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415830B (zh) | 一种软件测试用例的生成方法及装置 | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN109388566B (zh) | 一种代码覆盖率分析方法、装置、设备及存储介质 | |
US11809406B2 (en) | Event records in a log file | |
CN111209185A (zh) | 基于关键词的自动化测试方法及计算机可读存储介质 | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN114238134A (zh) | 一种测试结果展示方法、装置、设备及存储介质 | |
CN112181749A (zh) | 硬件测试方法、装置、电子设备和存储介质 | |
CN109902027B (zh) | 一种便于实施的tpc-ds测试方法以及系统 | |
CN110059002B (zh) | 测试数据的生成方法、测试设备、存储介质及装置 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN111258876B (zh) | 一种微服务架构下的精确回归测试方法及装置 | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN110865941A (zh) | 接口测试用例生成方法、装置和系统 | |
CN111352838A (zh) | 一种包文件生成方法、包文件生成装置及电子设备 | |
CN109815121B (zh) | 接口自动化测试用例生成方法及相关设备 | |
CN113806231B (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
CN112363921A (zh) | 代码测试方法、装置、存储介质及计算机设备 | |
CN114519008A (zh) | 一种回归测试用例的推荐方法、装置、介质及设备 | |
CN115114136A (zh) | 测试数据的生成方法、装置、电子设备及程序产品 | |
CN112783775A (zh) | 特殊字符输入测试方法及装置 | |
CN112380115A (zh) | 一种回归测试方法、装置、电子设备及存储介质 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN113672282B (zh) | 数据处理方法、设备、产品及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |