CN101251825B - 一种生成测试用例的方法和装置 - Google Patents
一种生成测试用例的方法和装置 Download PDFInfo
- Publication number
- CN101251825B CN101251825B CN2008101033721A CN200810103372A CN101251825B CN 101251825 B CN101251825 B CN 101251825B CN 2008101033721 A CN2008101033721 A CN 2008101033721A CN 200810103372 A CN200810103372 A CN 200810103372A CN 101251825 B CN101251825 B CN 101251825B
- Authority
- CN
- China
- Prior art keywords
- business stream
- relevance
- mapping table
- determinant attribute
- determinant
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种生成测试用例的方法和装置,以解决测试用例测试不完全的问题。该方法为:根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系;进一步根据所述映射表中各关键属性的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;所述业务流并结合映射表中保存的关联关系,获得以业务流为单位的测试用例。根据本发明提出的方案,从多个模块间交互的角度出发进行分析,提高了测试用例的完备性。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种生成测试用例的方法和装置。
背景技术
随着软件业的日益壮大和逐步走向成熟,系统测试的重要性是勿庸置疑的。如何以最少的人力和资源的投入,在最短的时间内完成测试,发现系统缺陷,则设计测试用例的最终目的。
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实所写程序是否满足某个特定需求。测试用例是按一定的顺序执行的与测试目标相关的测试活动的描述,是确定“怎样”测试。测试用例被看作是有效发现系统缺陷的最小测试执行单元。在测试工作中,测试用例的设计是非常重要的,是测试执行的正确性、有效性的基础。如何有效地设计测试用例,一直是测试人员所关注的问题;设计好测试用例,也是保证测试工作的关键因素之一。
现有技术中各种系统几乎都是多模块多业务运作的,业务和业务之间存在关联,模块和模块之间也存在关联,但是现有技术中测试用例的设计方法还局限于分析单个模块内的单功能点或关联功能点之间,因此会造成测试不完全的问题,导致被测系统存在的问题不能被及早发现。
发明内容
本发明提供一种设计测试用例的方法,用以解决现有技术中多交互模块的关联性无法测试的问题。
本发明实施例提供一种生成测试用例的方法,该方法包括以下步骤:
根据被测系统各功能模块间关键属性的关联性生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系,所述关联性是指两关键属性之间存在的内在联系;
根据所述映射表中各关键属性间的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;
根据所述业务流并结合所述映射表中保存的关联关系,输出以业务流为单位的测试用例。
所述生成业务流包括:以所述关键属性中的至少一个作为基点,根据述映射表中保存的关联性生成包含该基点的业务流。
所述业务流包括以所述基点为起始点的顺序业务流,和/或,逆序业务流。
生成业务流后,进一步还包括,删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
结合上述方法本发明实施例还提供一种生成测试用例的装置,其中包括:
映射表生成模块,用于根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系,所述关联性是指两关键属性之间存在的内在联系;
业务流生成模块,用于根据所述映射表中保存的关联性生成业务流;
测试用例输出模块,用于根据所述业务流和映射表中保存的关联关系,输出以业务流为单位的测试用例。
其中,所述映射表生成模块包括:
第一子模块,用于得到各关键属性的关联性和关键属性之间的关联关系;
第二子模块,用于生成映射表,并将得到的各关键属性的关联性以及关键属性之间的关联关系保存到所述映射表中。
其中,所述业务流生成模块还用于删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
本发明的有益效果如下:采用本发明实施例中的方法和装置,针对被测系统的业务流程以关键属性间关联性来生成测试用例,实现了测试用例对多交互模块间的连接关系的测试,提高了测试用例的完备性。
附图说明
图1为本发明实施列一种生成测试用例的方法的流程图;
图2为本发明实施例一种生成测试用例的业务功能图;
图3为本发明实施例一种生成测试用例的装置图;
图4为本发明是实施例具体应用中的用户管理系统业务功能图。
具体实施方式
在本发明实施例中,针对被测系统的业务来进行分析设计测试用例,不局限于单个模块内的单功能点或关联功能点之间,而是紧密的结合本测系统的业务流程。本发明实施例是根据被测系统各功能模块间关键属性的关联性生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系;根据所述映射表中各关键属性间的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;根据所述业务流并结合所述映射表中保存的关联关系,输出以业务流为单位的测试用例。
本发明实施例的具体步骤如图1所示:
步骤101、生成映射表。
现有技术中基本上采用的是功能分解的方式来描述系统功能,通过描述细分的系统模块功能来达到描述整个系统功能的目的,该系统可以是软件系统,也可以是硬件系统,还可以是软硬件结合的系统。进行功能分解后的系统包括:功能模块1、功能模块2、功能模块3....能模块N,其中,功能模块1包括:属性1.1(关键属性)、属性1.2(非关键属性)...属性1.N,功能模块2包括:属性2.1(关键属性)、属性2.2(关键属性).....属性2.N.....,功能模块N的各属性。
本发明实施例中,首先将所有属性列成表格的形式可以如表1所示。
表1
进一步每一个功能模块都以自身为基点与其余的功能模块逐一进行组合,并且两功能模块组合后,生成以各自的关键属性为行宽和列宽的矩阵,其中两功能模块的组合不存在顺序性。
进一步在有关联性的两关键属性对应的矩阵交叉点标注存在关联测试对象,其中所述关联性是指两关键属性之间存在的内在联系;然后根据被测系统的流程得出存在关联性的两关键属性的关联关系,其中所述关联关系是指存在关联性的各关键属性的连接关系,如表2所示,模块1的关键属性1和模块2的关键属性1之间不具有关联性,模块1的关键属性1与模块2的关键属性2之间具有关联性,并且两者之间的关联关系是“具体测试步骤”,如根据被测系统流程关联关系可以是:先完成模块2关键属性2的操作再实施模块1关键属性1。
表2
根据所述矩阵中内容,将所有存在关联性的关键属性,以及关键属性之间的关联关系都存储到映射表中。
步骤102、业务流的生成。
以每个模块为单位列出其关键属性,并在所述映射表中查找关键属性之间的关联性,根据查表结果对存在关联性的关键属性进行连线生成业务功能图,如图2所示;
进一步以业务功能图中某个关键属性作为基点,根据基点与其它关键属性的连线可得到与该基点相关的业务流,所述业务流是指模块间关键属性的连接关系,因业务流存在双向性,所以在生成业务流是必须将顺序和逆序的业务流都包含到业务流集合中。
其中业务功能图中每个关键属性都必须作为基点进行分析,并生成包含该基点的业务流;
进一步,对业务流集合中的重复项和无意义项进行删减,得到最终需要测试的业务流集合。
其中无意义项包括:
1、业务流中各关键属性之间的流向关系与被测系统的流程不一致;
2、各关键属性间不存在逻辑依赖关系的业务流。
步骤103、测试用例输出。
如图2所示的连接关系,以所述业务流为单位并结合映射表中存储的各关键属性之间的关联关系,输出测试用例,如表3所示:
业务流 | 测试用例输入 | 预期结果 |
模块1关键属性2-模块2关键属性2 | 具体的测试步骤 | 该测试用例的预期结果 |
模块1关键属性3-模块2关键1 | 具体的测试步骤 | 该测试用例的预期结果 |
表3
根据本发明实施例提供的上述方法,本发明另提供一种相应的实现装置,其结构示意图如图3所示,主要包括:
映射表生成模块310:用于根据各关键属性间的关联性生成映射表;
查找被测系统中是否存在连接所述关键属性的关联节点,若存在关联节点则将与该关键属性存在关联性的关键属性以及存在关联性的关键属性的关联关系都保存到映射表中。
业务流生成模块320:用于根据所述映射表生成业务流集合;
其中所述业务流生成模块还用于删减业务流集合中相互包含的重复项以及与被测系统流程不一致的无意义项。
以被测系统中的某个关键属性为基点,查找映射表中各关键属性之间的关联性生成业务流集合。
测试用例输出模块330:用于输出以所述业务流为单位并结合所述关联关系的测试用例。
进一步映射表生成模块310还包括:
第一子模块311:用于得到各关键属性的关联性和关键属性之间的关联关系;
第二子模块312:用于生成映射表,并将得到的各关键属性的关联性以及关键属性之间的关联关系保存到映射表中。
下面以一用户信息管理系统为例进行说明,该系统进行功能分解后包括:用户管理模块包括属性:添加用户(关键属性)、用户名(关键属性)、用户电话(非关键属性),登录模块包括属性:登录(关键属性)退出(非关键属性),日志管理模块包括属性:查询日志(关键属性)、删除日志(关键属性)。1、根据所列出的各模块属性,生成表4。
表4
2、根据表4中所列举的关键属性,将该系统中的三个模块进行两两组合,列矩阵分关键属性间的关联性以及存在关联性的关键属性的关联关系,分别生成表5、6、7。
表5
表6
表7
根据表5、6、7中内容,将所有存在关联性的关键属性,以及关键属性间的关联关系都保存到映射表中。
3、以每个功能模块为单位将该功能模块对应的所有关键属性列出,并根据映射表保存的各关键属性之间的关联性,生成业务功能图,如图4所示;
以某个关键属性为基点,列出与该基点相对应的业务流,生成业务流集合,该业务流集合中不仅包含以所述基点为起始点的顺序业务流还包括逆序业务流,进一步系统中每个关键属性都将以自身作为基点生成与基点对应的业务流。
为了更为简便的描述业务流,所以将所有的关键属性都将用数字和字母代替:1代表关键属性(添加用户)、2代表(用户名)、A代表(登录)、a代表(查询日志)、b代表(删除日志)。
该实施例的业务流集合中共28条业务流:1-A、1-a、1-b、1-A-a、1-A-b、1-a-A、1-b-A、2-A、2-A-a、2-A-b、A-1、A-2、A-a、A-b、A-1-a、A-1-b、A-a-1、A-b-1、a-1、a-A、a-1-A、a-A-1、a-A-2、b-1、b-A、b-1-A、b-A-1、b-A-2。
其中,删除1-a、1-b、A-1、A-2、a-1、a-A、b-1、b-A在测试过程中不存在实际意义的项,以及其他所有包含这些无意义项的业务流,经删减后剩余业务流如下:
1-A、1-A-a、1-A-b、2-A、2-A-a、2-A-b、A-a、A-b、A-a-1、A-b-1
而其中,1-A和1-a被1-A-a包含,为重复项,因此三项合并为一项1-A-a,同理1-b和1-A-b合并1-A-b;
2-A-a和2-A-b由于登录时验证用户名与登录后查询或删除日志之间不存在逻辑依赖关系,因此删除2-A-a和2-A-b;
最终共生成5条业务流:2-A、A-a、A-b、1-A-a、1-A-b。
4、根据最终得到的业务流并结合映射表中包存的关键属性之间的关联关系,输出细化测试用例如表8所示:
业务流 | 测试用例输入 | 预期结果 |
2-A | 登录时验证用户名 | 为正确有效用户时登录成功,否则登录失败 |
A-b | 登录验证用户名后,删除日志 | 删除日志成功 |
1-A-a | 添加用户后,使用新用户登录,登录后查询日志 | 用户添加成功;新用户登录成功;查询日志成功 |
1-A-b | 添加用户后,使用新用户登录,登录后删除日志 | 用户添加成功;新用户登录成功;删除日志成功 |
A-a | 登录后查询日志 | 查询成功 |
表8
应用本发明的方法和装置,以业务流为单位输出测试用例,从多个模块间交互的角度出发进行分析,提高了测试用例对复杂业务的测试覆盖率,在业务流的列举中对重复项和无意义项的删减,减少了测试用例中的重复测试,提高了测试执行效率。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种生成测试用例的方法,其特征在于,该方法包括以下步骤:
根据被测系统各功能模块间关键属性的关联性生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系,所述关联性是指两关键属性之间存在的内在联系;
根据所述映射表中各关键属性间的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;
根据所述业务流并结合所述映射表中保存的关联关系,输出以业务流为单位的测试用例。
2.如权利要求1所述的方法,其特征在于,被测试系统包括软件系统和/或硬件系统。
3.如权利要求1所述的方法,其特征在于,所述生成业务流,包括:
以所述关键属性中的至少一个作为基点,根据所述映射表中保存的关联性生成包含该基点的业务流。
4.如权利要求3所述的方法,其特征在于,所述业务流为:
以所述基点为起始点的顺序业务流,和/或,逆序业务流。
5.如权利要求1所述的方法,其特征在于,生成业务流后,进一步包括:
删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
6.一种生成测试用例的装置,其特征在于,包括:
映射表生成模块,用于根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系,所述关联性是指两关键属性之间存在的内在联系;
业务流生成模块,用于根据所述映射表中保存的关联性生成业务流;
测试用例输出模块,用于根据所述业务流和映射表中保存的关联关系,输出以业务流为单位的测试用例。
7.如权利要求6所述的装置,其特征在于,所述映射表生成模块包括:
第一子模块,用于得到各关键属性的关联性和关键属性之间的关联关系;
第二子模块,用于生成映射表,并将得到的各关键属性的关联性以及关键属性之间的关联关系保存到所述映射表中。
8.如权利要求6所述的装置,其特征在于,所述业务流生成模块还用于删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101033721A CN101251825B (zh) | 2008-04-03 | 2008-04-03 | 一种生成测试用例的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101033721A CN101251825B (zh) | 2008-04-03 | 2008-04-03 | 一种生成测试用例的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101251825A CN101251825A (zh) | 2008-08-27 |
CN101251825B true CN101251825B (zh) | 2010-04-14 |
Family
ID=39955222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101033721A Expired - Fee Related CN101251825B (zh) | 2008-04-03 | 2008-04-03 | 一种生成测试用例的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101251825B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2279472A4 (en) | 2008-04-05 | 2013-11-20 | Social Communications Co | APPARATUS AND METHODS BASED ON A SHARED VIRTUAL SPACE COMMUNICATION ENVIRONMENT |
WO2010065909A2 (en) | 2008-12-05 | 2010-06-10 | Social Communications Company | Managing interactions in a network communications environment |
CN103186466B (zh) * | 2011-12-31 | 2016-06-15 | 中国银联股份有限公司 | 基于关联测试用例自动生成的信息交互测试装置及方法 |
JP5675676B2 (ja) * | 2012-03-01 | 2015-02-25 | 株式会社日立製作所 | 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム |
CN102831058B (zh) * | 2012-08-17 | 2015-03-11 | 北京星网锐捷网络技术有限公司 | 一种测试方法和装置 |
CN103699478A (zh) * | 2012-09-27 | 2014-04-02 | 中国银联股份有限公司 | 一种测试案例生成系统和方法 |
CN102968373B (zh) * | 2012-11-29 | 2016-02-17 | 安科智慧城市技术(中国)有限公司 | 一种测试系统的维护方法及装置 |
CN106874175A (zh) * | 2015-12-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 测试用例的自动生成方法和装置 |
CN107783876A (zh) * | 2016-08-29 | 2018-03-09 | 博彦科技股份有限公司 | 跨执行端的业务测试方法和装置 |
CN108073510A (zh) * | 2016-11-15 | 2018-05-25 | 中国移动通信集团安徽有限公司 | 软件测试方法及装置 |
CN106844193B (zh) * | 2016-12-17 | 2019-10-11 | 福建瑞之付微电子有限公司 | 一种嵌入式模块交叉测试的系统化设计方法 |
CN107818419B (zh) * | 2017-11-03 | 2021-08-10 | 中国银行股份有限公司 | 一种功能测试范围的确定方法及装置 |
CN110008119A (zh) * | 2019-03-14 | 2019-07-12 | 平安信托有限责任公司 | 报表测试方法、装置、计算机设备和存储介质 |
CN112148620B (zh) * | 2020-10-12 | 2024-04-12 | 中国农业银行股份有限公司 | 一种测试案例生成方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041330A (en) * | 1997-07-24 | 2000-03-21 | Telecordia Technologies, Inc. | System and method for generating year 2000 test cases |
CN1527509A (zh) * | 2003-03-06 | 2004-09-08 | 华为技术有限公司 | 一种测试方法 |
CN1731747A (zh) * | 2005-07-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 自动化测试框架系统及方法 |
-
2008
- 2008-04-03 CN CN2008101033721A patent/CN101251825B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041330A (en) * | 1997-07-24 | 2000-03-21 | Telecordia Technologies, Inc. | System and method for generating year 2000 test cases |
CN1527509A (zh) * | 2003-03-06 | 2004-09-08 | 华为技术有限公司 | 一种测试方法 |
CN1731747A (zh) * | 2005-07-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 自动化测试框架系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101251825A (zh) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101251825B (zh) | 一种生成测试用例的方法和装置 | |
US11809458B2 (en) | System and method for providing database abstraction and data linkage | |
CN101377758B (zh) | 一种生成测试用例的方法和装置 | |
CN100568179C (zh) | 一种基于关系的测试用例生成方法 | |
CN107798038B (zh) | 数据响应方法及数据响应设备 | |
US9483387B1 (en) | Tree comparison functionality for services | |
Ma et al. | Big graph search: challenges and techniques | |
CN101894149B (zh) | 跟踪查询单据的方法和装置 | |
US20140379667A1 (en) | Data quality assessment | |
CN102831122B (zh) | 工作流表的数据保存方法、查询方法及装置 | |
CN104750727B (zh) | 一种列式内存存储查询装置及列式内存存储查询方法 | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN110134705A (zh) | 一种数据查询方法、缓存服务器及终端 | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
Campeanu | A mapping study on microservice architectures of Internet of Things and cloud computing solutions | |
CN109783543A (zh) | 数据查询方法、装置、设备和存储介质 | |
CN104731587A (zh) | 单元测试数据生成方法和单元测试数据生成系统 | |
CN108334625A (zh) | 用户信息的处理方法、装置、计算机设备和存储介质 | |
CN109002470A (zh) | 知识图谱构建方法及装置、客户端 | |
Song et al. | Graph repairing under neighborhood constraints | |
CN111047434B (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
Zhou et al. | Influential community search over large heterogeneous information networks | |
CN108345658A (zh) | 算法计算轨迹的分解处理方法、服务器及存储介质 | |
CN102193988A (zh) | 一种图形数据库节点数据的检索方法及系统 | |
CN108334565A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100414 Termination date: 20140403 |