本发明涉及软件测试,具体涉及一种基于模块化业务流程的测试用例设计方法及其框架。
背景技术:
1、支撑软件研发模式的开发模型随着不同时代、不同产品形态及其对成本、质量和效率的不同要求经历了从瀑布模型、快速原型模型、迭代模型、螺旋模型到当前运用广泛的敏捷模型。无论哪种模型,测试都为其中的重要环节之一,也是软件质量保证重要措施之一。软件测试经历了长期的发展历程,早期的软件呈现出结构简单、功能有限、小规模特点,此时期的测试等同于调试。随着软件规模越来越大,需要验证的范围越来越广,如接口逻辑、功能模块、不同功能模块间的耦合等,需要引入一个独立的测试组织进行独立测试,在这个阶段中,还未形成测试方法论,测试主要依靠猜想和推断,软件交付后依然存在大量问题。随着软件测试经验的沉淀、行业中对软件质量的重视以及作为软件质量保证重要措施之一的软件测试意义的凸显,经过行业专家持续的探究,1983年ieee在北卡罗纳大学召开的首次关于软件测试的技术会议中对软件测试进行了定义:软件测试是使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差异。软件测试已然成为一门学科,成为一个需要经过设计、开发和维护等完整阶段的过程,拥有理念、原则、流程、方法和技术。纵然如此,在普遍的软件开发模型中,测试工作几乎都在软件功能模块完成或者整个软件完成之后才开始,此时测试发现缺陷,开发再进行修改,必然会消耗大量的人力物力时间成本。直到当前盛行的敏捷模型,其优化了软件测试理念即“开发未动,测试先行”,测试人员从软件需求分析阶段参与其中,了解整个软件的需求、设计等,且可以提前开发测试代码,以便尽早识别和修正潜在缺陷,如此,软件开发与测试工作的效率都得到极大提高,软件质量也更有保障。随着人工智能、大数据的迅猛发展,软件测试必然受到越来越多重视,软件测试思想和方法势必也需要持续探究和演化。
2、国家标准信息技术、办公机械分类中的软件开发和系统文件子级分类对计算机软件测试规范做了明确的说明,用于指导软件测试工作的具体开展。其中,将测试过程划分成四项活动,按照顺序分别是:测试策划、测试设计、测试执行、测试总结。
3、测试策划:主要是进行测试需求分析,确定需要测试的内容或质量特性,制定测试计划。
4、测试设计:依据测试需求来分析并选用已有的测试用例或设计新的测试用例,确定测试用例执行顺序,评审测试用例的正确性、有效性和覆盖充分性。
5、测试执行:执行测试用例,获取测试结果,分析并判定测试结果。对测试过程的正常或异常终止情况进行核对,根据核对结果,对未达到测试终止条件的测试用例,决定是停止测试,还是需要修改或补充测试用例集,并进一步测试。
6、测试总结:整理和分析测试数据,评价测试效果和被测软件项,描述测试状态,完成软件测试报告,并通过测试评审。
7、对于测试策划,进行测试需求分析,确定需要测试的质量特性为功能性、可靠性、可使用性、效率、可维护性、可移植性,确定需要测试的内容为软件模块或业务流程或业务流程定制需求点。对于测试设计,依据测试需求分析所确定需要测试的内容或质量特性,采用常用的黑盒测试方法即边界值等价类方法、场景法等进行测试用例设计。然而,测试需求分析所确定需要测试的内容或质量特性颗粒度过大,以此作为黑盒测试方法设计测试用例的入口,最终所形成的测试用例缺乏覆盖充分性,难以保障其正确性和有效性。同时,考虑到测试团队成员的更新替换,对于新员工而言,缺乏对软件业务的熟悉以及测试技能的不足,采用上述方式形成的测试用例质量更加堪忧。在整个软件测试过程中,测试设计活动形成的测试用例可类比于开发输出的代码,其重要性不言而喻,若最终形成的测试用例质量无法保障,将直接影响软件测试本身的质量和效果,进而软件质量保障也会大打折扣。考虑到当前软件的需求分析和系统设计多采用模块化业务流程的思路来开展需求规划和设计。
8、为此提出基于模块化业务流程的测试用例设计方法及其框架。
技术实现思路
1、本发明的目的在于:为解决上述背景技术中提出的问题,本发明提供了基于模块化业务流程的测试用例设计方法及其框架。
2、本发明为了实现上述目的具体采用以下技术方案:
3、基于模块化业务流程的测试用例设计方法,包括步骤:
4、s1、基于模块化业务流程和测试需求,采用输入、逻辑处理、输出的思路细化测试需求,形成业务逻辑处理;
5、s2、从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度进一步详细分析,识别出影响因素;
6、s3、基于影响因素采用黑盒测试方法设计验证点,形成测试方案;
7、s4、依据测试方案编写测试用例;
8、s5、测试用例管理和维护。
9、进一步地,所述模块化业务流程,针对不同软件,从功能维度对软件进行模块化分类,如系统管理、业务模块、统计分析等,然后基于每个模块,着眼于用户角度进行业务流程梳理,如系统管理模块中的用户角色权限管理、基础数据管理等,所述测试需求是测试策划中进行测试需求分析所确定需要测试的内容或质量特性,所述业务逻辑处理涉及业务流程图、业务流程开展相关的配置(如参数配置等)、业务流程开展相关的接口、业务流程开展相关的数据库表、业务流程开展相关的日志,使用思维导图来承载。
10、进一步地,所述规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度:
11、规则约束:业务流程开展需要遵循的规则和约束;
12、正常场景:业务流程开展时,输入符合要求的数据,经过逻辑处理后,给出预期的输出;
13、异常场景:业务流程开展时,输入不符合要求的数据,经过逻辑处理后,软件给出友好的提示;
14、交互场景:业务流程开展相关的数据可作为其它业务流程开展的输入或者输出,不同渠道开展同一业务流程的交互影响;
15、特殊场景:软件运行的软硬件环境出现异常时的场景;
16、界面场景:业务流程开展相关的每个界面界面风格统一、文字描述正确友好、排版友好、界面上的按钮可用且正确;
17、所述影响因素是从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度影响业务流程开展的要素点。
18、进一步地,所述黑盒测试方法包含常见的边界值等价类方法、场景法等,边界值等价类方法:边界值分析使用等于、小于或大于边界值的数据开展测试,等价类将输入域划分成若干部分,在每部分中选取代表性数据开展测试,边界值等价类方法聚焦数据,互为补充,结合使用,场景法:以事件流为核心,从软件某个初始态开始到达某个结束状态为止所流经的路径构成一个用例场景,聚焦业务流程,所述测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景,并且依据用户关心软件功能的程度标识测试场景级别,正常场景级别为l eve l 1,规则约束、异常场景、交互场景l eve l 2,特殊场景l eve l 3,界面场景l eve l4;测试方案使用思维导图承载。
19、进一步地,所述依据测试方案编写测试用例,使用模块、业务流程树状目录结构规划测试用例;使用用例标题、用例编号、前置条件、测试步骤、预期结果、用例级别基本要素模板体现具体的测试用例内容,用例级别等同于测试场景级别;结合模块化业务流程和测试需求,将测试方案中的验证点和检查点扩充到测试用例模板中,形成测试用例。
20、进一步地,所述测试用例管理和维护,使用模块、业务流程树状目录结构规划测试用例;针对业务流程定制需求点,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对回归测试中需要执行的测试用例,依据用例级别以及具体的测试执行情况有策略的进行选择。
21、基于模块化业务流程的测试用例设计框架,包括业务逻辑处理形成模块、影响因素识别模块、测试方案形成模块、测试用例形成模块、测试用例管理和维护模块,其中:所述的业务逻辑处理形成模块,基于模块化业务流程和测试需求,采用输入、逻辑处理、输出的思路细化测试需求,形成业务流程图、业务流程开展相关的配置、业务流程开展相关的接口、业务流程开展相关的数据库表、业务流程开展相关的日志。
22、进一步地,所述的影响因素识别模块,从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度进一步详细分析影响业务流程开展的要素点。
23、进一步地,所述的测试方案形成模块,基于影响因素采用黑盒测试方法设计验证点,黑盒测试方法包含常见的边界值等价类方法、场景法等,测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景,并且依据用户关心软件功能的程度标识测试场景级别,正常场景级别为l eve l 1,规则约束、异常场景、交互场景l eve l 2,特殊场景l eve l 3,界面场景l eve l4。
24、进一步地,所述的测试用例形成模块,依据测试方案编写测试用例,使用模块、业务流程树状目录结构规划测试用例;使用用例编号、用例标题、用例级别、预置条件、操作步骤、预期结果基本要素模板体现具体的测试用例内容,用例级别等同于测试场景级别;结合模块化业务流程和测试需求,将测试方案中的验证点和检查点扩充到测试用例模板中,形成测试用例,所述的测试用例管理和维护模块,使用模块、业务流程树状目录结构规划测试用例;针对业务流程定制需求点,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对回归测试中需要执行的测试用例,依据用例级别以及具体的测试执行情况有策略的进行选择。
25、本发明的有益效果如下:
26、1、本发明提供的测试用例设计方法、框架,基于模块化业务流程和测试需求,采用输入、逻辑处理、输出的思路细化测试需求,形成业务逻辑处理即业务流程图、业务流程开展相关的配置(如参数配置等)、业务流程开展相关的接口、业务流程开展相关的数据库表、业务流程开展相关的日志。再从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度进一步详细分析识别出影响业务流程开展的要素点。可见本发明一方面采用输入、逻辑处理、输出的思路细化测试需求,且从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度进一步详细分析测试需求,将测试需求分析所确定需要测试的内容或质量特性颗粒度细化成要素点,作为黑盒测试方法设计测试用例的入口,使得测试设计考虑全面,提升测试用例覆盖充分性,同时,细化分析后的测试需求,其业务流程的细节清晰明了,能够保障测试用例的正确性和有效性。另一方面不局限于某个测试需求测试用例的设计,能够提高测试用例设计的普适性。
27、2、本发明提供的测试用例设计方法、框架,基于影响因素采用黑盒测试方法设计验证点,形成测试方案,依据测试方案编写测试用例。黑盒测试方法包含常见的边界值等价类方法、场景法等,边界值等价类方法聚焦数据,场景法聚焦业务流程,根据影响因素的特质选择合适的黑盒测试方法设计验证点。同时,测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景。可见本发明一方面基于影响因素采用合适的黑盒测试方法设计验证点,能够降低最终形成的测试用例的冗余度以及提升测试用例覆盖度。另一方面依据所形成的测试方案编写测试用例。测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景,检查点和验证点的考量体现了充分的完整性和细节性,将测试方案作为测试用例编写的依据,能够保证测试用例的正确性和有效性以及提升测试用例的覆盖度。
28、3、本发明提供的测试用例设计方法、框架,依据用户关心软件功能的程度标识测试场景级别,正常场景级别为l eve l 1,规则约束、异常场景、交互场景l eve l 2,特殊场景l eve l 3,界面场景l eve l4;使用模块、业务流程树状目录结构规划测试用例;针对业务流程定制需求点,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例。针对回归测试中需要执行的测试用例,依据用例级别以及具体的测试执行情况有策略的进行选择。可见本发明一方面使用模块、业务流程树状目录结构规划测试用例,针对业务流程定制需求点,无需从头开始,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例,能够提升测试用例设计效率,对于测试团队成员更新替换下的新员工,在提升其测试用例设计效率的同时也能够提升其测试用例设计质量。另一方面针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例,能够始终保留一份软件的完整测试方案和测试用例,进而提升测试用例的覆盖充分性,保障测试用例的正确性和有效性。另一方面依据用户关心软件功能的程度标识测试场景级别,并在回归测试中依据用例级别以及具体的测试执行情况有策略的选择要执行的测试用例,有助于提升测试执行效率和质量。
1.基于模块化业务流程的测试用例设计方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于模块化业务流程的测试用例设计方法,其特征在于,所述模块化业务流程,针对不同软件,从功能维度对软件进行模块化分类,如系统管理、业务模块、统计分析等,然后基于每个模块,着眼于用户角度进行业务流程梳理,如系统管理模块中的用户角色权限管理、基础数据管理等,所述测试需求是测试策划中进行测试需求分析所确定需要测试的内容或质量特性,所述业务逻辑处理涉及业务流程图、业务流程开展相关的配置(如参数配置等)、业务流程开展相关的接口、业务流程开展相关的数据库表、业务流程开展相关的日志,使用思维导图来承载。
3.根据权利要求1所述的基于模块化业务流程的测试用例设计方法,其特征在于,所述规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度:
4.根据权利要求1所述的基于模块化业务流程的测试用例设计方法,其特征在于,所述黑盒测试方法包含常见的边界值等价类方法、场景法等,边界值等价类方法:边界值分析使用等于、小于或大于边界值的数据开展测试,等价类将输入域划分成若干部分,在每部分中选取代表性数据开展测试,边界值等价类方法聚焦数据,互为补充,结合使用,场景法:以事件流为核心,从软件某个初始态开始到达某个结束状态为止所流经的路径构成一个用例场景,聚焦业务流程,所述测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景,并且依据用户关心软件功能的程度标识测试场景级别,正常场景级别为level 1,规则约束、异常场景、交互场景level 2,特殊场景level 3,界面场景level4;测试方案使用思维导图承载。
5.根据权利要求1所述的基于模块化业务流程的测试用例设计方法,其特征在于,所述依据测试方案编写测试用例,使用模块、业务流程树状目录结构规划测试用例;使用用例标题、用例编号、前置条件、测试步骤、预期结果、用例级别基本要素模板体现具体的测试用例内容,用例级别等同于测试场景级别;结合模块化业务流程和测试需求,将测试方案中的验证点和检查点扩充到测试用例模板中,形成测试用例。
6.根据权利要求1所述的基于模块化业务流程的测试用例设计方法,其特征在于,所述测试用例管理和维护,使用模块、业务流程树状目录结构规划测试用例;针对业务流程定制需求点,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对回归测试中需要执行的测试用例,依据用例级别以及具体的测试执行情况有策略的进行选择。
7.基于模块化业务流程的测试用例设计框架,其特征在于,包括业务逻辑处理形成模块、影响因素识别模块、测试方案形成模块、测试用例形成模块、测试用例管理和维护模块,其中:所述的业务逻辑处理形成模块,基于模块化业务流程和测试需求,采用输入、逻辑处理、输出的思路细化测试需求,形成业务流程图、业务流程开展相关的配置、业务流程开展相关的接口、业务流程开展相关的数据库表、业务流程开展相关的日志。
8.根据权利要求7所述的基于模块化业务流程的测试用例设计框架,其特征在于,所述的影响因素识别模块,从规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度进一步详细分析影响业务流程开展的要素点。
9.根据权利要求7所述的基于模块化业务流程的测试用例设计框架,其特征在于,所述的测试方案形成模块,基于影响因素采用黑盒测试方法设计验证点,黑盒测试方法包含常见的边界值等价类方法、场景法等,测试方案包含检查点和验证点,检查点包括业务流程开展的业务检查、接口检查、数据库检查、日志检查,验证点包括规则约束、正常场景、异常场景、交互场景、特殊场景、界面场景维度的测试场景,并且依据用户关心软件功能的程度标识测试场景级别,正常场景级别为level 1,规则约束、异常场景、交互场景level 2,特殊场景level 3,界面场景level4。
10.根据权利要求7所述的基于模块化业务流程的测试用例设计框架,其特征在于,所述的测试用例形成模块,依据测试方案编写测试用例,使用模块、业务流程树状目录结构规划测试用例;使用用例编号、用例标题、用例级别、预置条件、操作步骤、预期结果基本要素模板体现具体的测试用例内容,用例级别等同于测试场景级别;结合模块化业务流程和测试需求,将测试方案中的验证点和检查点扩充到测试用例模板中,形成测试用例,所述的测试用例管理和维护模块,使用模块、业务流程树状目录结构规划测试用例;针对业务流程定制需求点,在现有业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对测试执行中识别的测试用例新增、删除、修改情况,在相应业务流程的测试方案基础上进行优化,再基于优化后的测试方案完善测试用例;针对回归测试中需要执行的测试用例,依据用例级别以及具体的测试执行情况有策略的进行选择。
