一种生成测试用例的方法和装置的制作方法

文档序号:6463265阅读:118来源:国知局
专利名称:一种生成测试用例的方法和装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种生成测试用例的方法和装置。

背景技术
随着软件业的日益壮大和逐步走向成熟,系统测试的重要性是勿庸置疑的。如何以最少的人力和资源的投入,在最短的时间内完成测试,发现系统缺陷,则设计测试用例的最终目的。
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实所写程序是否满足某个特定需求。测试用例是按一定的顺序执行的与测试目标相关的测试活动的描述,是确定“怎样”测试。测试用例被看作是有效发现系统缺陷的最小测试执行单元。在测试工作中,测试用例的设计是非常重要的,是测试执行的正确性、有效性的基础。如何有效地设计测试用例,一直是测试人员所关注的问题;设计好测试用例,也是保证测试工作的关键因素之一。
现有技术中各种系统几乎都是多模块多业务运作的,业务和业务之间存在关联,模块和模块之间也存在关联,但是现有技术中测试用例的设计方法还局限于分析单个模块内的单功能点或关联功能点之间,因此会造成测试不完全的问题,导致被测系统存在的问题不能被及早发现。


发明内容
本发明提供一种设计测试用例的方法,用以解决现有技术中多交互模块的关联性无法测试的问题。
本发明实施例提供一种生成测试用例的方法,该方法包括以下步骤 根据被测系统各功能模块间关键属性的关联性生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系; 根据所述映射表中各关键属性间的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系; 根据所述业务流并结合所述映射表中保存的关联关系,输出以业务流为单位的测试用例。
所述生成业务流包括以所述关键属性中的至少一个作为基点,根据述映射表中保存的关联性生成包含该基点的业务流。
所述业务流包括以所述基点为起始点的顺序业务流,和/或,逆序业务流。
所述生成业务流后,进一步还包括,删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
结合上述方法本发明实施例还提供一种生成测试用例的装置,其中包括 映射表生成模块,用于根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系; 业务流生成模块,用于根据所述映射表中保存的关联性生成业务流; 测试用例输出模块,用于根据所述业务流和映射表中保存的关联关系,输出以业务流为单位的测试用例。
其中,所述映射表生成模块包括 第一子模块,用于得到各关键属性的关联性和关键属性之间的关联关系; 第二子模块,用于生成映射表,并将得到的各关键属性的关联性以及关键属性之间的关联关系保存到所述映射表中。
其中,所述业务流生成模块还用于删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
本发明的有益效果如下采用本发明实施例中的方法和装置,针对被测系统的业务流程以关键属性间关联性来生成测试用例,实现了测试用例对多交互模块间的连接关系的测试,提高了测试用例的完备性。



图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所示 表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所示 表8 应用本发明的方法和装置,以业务流为单位输出测试用例,从多个模块间交互的角度出发进行分析,提高了测试用例对复杂业务的测试覆盖率,在业务流的列举中对重复项和无意义项的删减,减少了测试用例中的重复测试,提高了测试执行效率。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种生成测试用例的方法,其特征在于,该方法包括以下步骤
根据被测系统各功能模块间关键属性的关联性生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系;
根据所述映射表中各关键属性间的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;
根据所述业务流并结合所述映射表中保存的关联关系,输出以业务流为单位的测试用例。
2、如权利要求1所述的方法,其特征在于,被测试系统包括软件系统和/或硬件系统。
3、如权利要求1所述的方法,其特征在于,所述生成业务流,包括
以所述关键属性中的至少一个作为基点,根据所述映射表中保存的关联性生成包含该基点的业务流。
4、如权利要求3所述的方法,其特征在于,所述业务流为
以所述基点为起始点的顺序业务流,和/或,逆序业务流。
5、如权利要求1所述的方法,其特征在于,所述生成业务流后,进一步包括
删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
6、一种生成测试用例的装置,其特征在于,包括
映射表生成模块,用于根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系;
业务流生成模块,用于根据所述映射表中保存的关联性生成业务流;
测试用例输出模块,用于根据所述业务流和映射表中保存的关联关系,输出以业务流为单位的测试用例。
7、如权利要求6所述的装置,其特征在于,所述映射表生成模块包括
第一子模块,用于得到各关键属性的关联性和关键属性之间的关联关系;
第二子模块,用于生成映射表,并将得到的各关键属性的关联性以及关键属性之间的关联关系保存到所述映射表中。
8、如权利要求6所述的装置,其特征在于,所述业务流生成模块还用于删减业务流中相互包含的重复项以及与被测系统流程不一致的无意义项。
全文摘要
本发明公开了一种生成测试用例的方法和装置,以解决测试用例测试不完全的问题。该方法为根据被测系统各功能模块间关键属性的关联性,生成映射表,其中所述映射表包含关键属性间的关联性以及存在关联性的关键属性的关联关系;进一步根据所述映射表中各关键属性的关联性,生成业务流,所述业务流是指各模块间关键属性的连接关系;所述业务流并结合映射表中保存的关联关系,获得以业务流为单位的测试用例。根据本发明提出的方案,从多个模块间交互的角度出发进行分析,提高了测试用例的完备性。
文档编号G06F11/36GK101251825SQ20081010337
公开日2008年8月27日 申请日期2008年4月3日 优先权日2008年4月3日
发明者湧 王, 郑庆达, 王哲煊 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1