首页> 中国专利> 一种基于UML图的高度自动化软件测试方法

一种基于UML图的高度自动化软件测试方法

摘要

本发明提供一种基于UML图的高度自动化软件测试方法,包括测试用例自动生成步骤和测试用例自动执行步骤。本发明通过分析UML图,并结合组合覆盖算法,通过关键字调用规则自动生成检错能力更高、覆盖更完整的测试用例;测试过程高度自动化,极大地提高了测试速度,减少了测试遗漏,检错性高,覆盖率大,响应快,用例维护简单,特别适用于软件迭代周期短、测试工作强度大的敏捷开发模式,可以大幅降低软件功能测试人员的工作强度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-15

    未缴年费专利权终止 IPC(主分类):G06F11/36 专利号:ZL2015104334519 申请日:20150722 授权公告日:20180109

    专利权的终止

  • 2018-01-09

    授权

    授权

  • 2015-12-02

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150722

    实质审查的生效

  • 2015-11-04

    公开

    公开

说明书

技术领域

本发明涉及软件测试技术领域,具体是一种基于UML图的高度自动化软件测试方法。

背景技术

软件测试是在预设条件下运行系统或应用程序,评估运行结果,预设条件应包括正常条件和异常条件。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较,测试过程以人为驱动。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念,自动化测试是程序自动执行测试的过程。

目前,行业内自动化测试研究工作主要集中在测试脚本的运行上,部分程度上提升了测试效率。对测试用例的自动生成、优化组合及文本用例自动转换为自动化用例脚本的研究较为缺少,尚无一套从测试需求至测试结果分析端到端全自动化测试的工具。

在软件敏捷开发模式中,版本迭代频繁,测试需求频繁变更,用例维护难度大,测试工作强度大,如何能有效缩短回归测试的周期,提升测试用例覆盖度,减少缺陷漏测率,已成为测试领域重点关注且亟待解决的问题。

发明内容

本发明的目的在于提供一种基于UML图的高度自动化软件测试方法,大幅降低软件功能测试人员的工作强度。

本发明的技术方案为:

一种基于UML图的高度自动化软件测试方法,包括以下步骤:

(1)测试用例自动生成步骤,包括:

(11)分析待测试软件系统需求和设计,生成系统模块集;

(12)确定系统操作的关键字,并以界面对象名称为参数,对所述关键字编写用于界面操作的关键字组件函数;

(13)画出待测试软件系统各个模块的UML活动图,并在所述活动图中确定每个操作的关键字、界面对象名称和操作参数以及每个验证的界面对象名称和验证期望参数;

(14)将待测试软件系统各个模块的活动图转换为相应的有向图;

(15)遍历有向图,将有向图中的关键字作为测试步骤,操作参数作为测试数据,验证期望参数作为预期结果组装成测试用例存储到测试用例集中,若遇到需要并行输入多个参数的活动节点,则采用组合算法生成参数组合测试用例;

(16)利用UML用例图,画出待测试软件系统的模块关联关系图;

(17)根据模块关联关系图,抽取有关联关系的模块,采用组合算法将其中的测试用例生成跨模块的操作组合测试用例并存储到测试用例集中;

(18)采用测试用例生成算法将测试用例集中的用例按照测试用例模板填写数据项到测试用例文件的各项中;

(2)测试用例自动执行步骤,包括:

(21)待测试软件系统界面成型后,通过自动化测试工具获取界面对象库,并将界面对象库中的界面对象名称设置为活动图中已确定的界面对象名称;

(22)关键字驱动主程序循环读入测试用例文件中的每一行操作信息,调用对应的关键字组件函数,所述关键字组件函数根据界面对象名称到界面对象库中查找匹配的界面对象信息,然后在待测试软件系统界面上对查找到的相应界面对象进行自动操作;

(23)读取测试用例文件中当前用例的验证信息,通过验证函数验证界面对象是否符合预期结果;

(24)输出测试报告和日志信息。

所述的基于UML图的高度自动化软件测试方法,步骤(15)中,采用深度优先搜索算法遍历有向图。

所述的基于UML图的高度自动化软件测试方法,步骤(15)中,所述组合算法具体为两两组合覆盖算法。

所述的基于UML图的高度自动化软件测试方法,步骤(15)中,还包括根据设定的参数约束和兼容性测试及硬件配置项约束,对生成的参数组合测试用例进行约简。

由上述技术方案可知,本发明通过分析UML图,并结合组合覆盖算法,通过关键字调用规则自动生成检错能力更高、覆盖更完整的测试用例;测试过程高度自动化,极大地提高了测试速度,减少了测试遗漏,检错性高,覆盖率大,响应快,用例维护简单,特别适用于软件迭代周期短、测试工作强度大的敏捷开发模式,可以大幅降低软件功能测试人员的工作强度。

附图说明

图1是本发明的测试用例自动生成流程图;

图2是本发明的测试用例自动执行流程图。

具体实施方式

下面结合附图和具体实施例进一步说明本发明。

一种基于UML图的高度自动化软件测试方法,包括测试用例自动生成步骤和测试用例自动执行步骤:

S1、如图1所示,测试用例自动生成步骤,具体包括:

S11、分析待测试软件系统需求和设计,生成系统模块集。

S12、确定系统操作的关键字,这些关键字类似于“点击”、“输入”、“复制”和“粘贴”等等;

对这些关键字编写可以用于界面操作的组件函数,这些组件函数的参数为界面对象名称。

S13、画出待测试软件系统各个模块的UML活动图,根据步骤S12中已确定的关键字和界面对象名称,在活动图中确定每个操作的关键字、界面对象名称和操作参数以及每个验证的界面对象名称和验证期望参数;

每个操作活动填写当前操作的描述,操作转换标明测试执行需要用到的关键字,并在操作转换的详细描述中,将当前操作的界面对象名称写入发送对象选项,将操作参数的约束正则表达式或实际数据写入输入参数选项,并根据特定的用户需求和实际逻辑在配置文件中设定参数约束和兼容性测试及硬件配置项约束;

在一个操作活动将要结束时可以添加预期结果的验证活动和验证转换,在验证转换的详细描述中,将验证的界面对象名称写入发送对象选项,将验证期望参数写入输入参数选项以完成一次测试的验证。

S14、将待测试软件系统各个模块的活动图转换为相应的有向图。

S15、采用深度优先搜索算法遍历有向图,将有向图中的关键字作为测试步骤,操作参数作为测试数据,验证期望参数作为预期结果组装成测试用例存储到测试用例集中;在此过程中,若遇到需要并行输入多个参数的活动节点,则采用两两组合覆盖算法生成参数组合测试用例以实现模块内的参数组合,并根据设定的参数约束和兼容性测试及硬件配置项约束,去除不符合约束规则的参数组合测试用例,将约简后的参数组合测试用例存储到测试用例集中。

其中,采用两两组合覆盖算法生成参数组合测试用例,示例如下:

假定某个模块具有参数A、B、C,每个参数的取值如表1所示:

表1

将各参数进行两两组合生成元组合数据,如表2所示:

表2

对每个元组合数据进行匹配,生成参数组合测试用例:

例如,对于(A1,B1)需要补充的是参数C,我们在包含C参数的元组合中查找,(A1,C1)包含C参数且A1是重合参数,符合两两组合覆盖标准,因此可以将这两个元组合标记为已匹配,同时输出去除重复参数的用例(A1,B1,C1)。通过循环匹配,当所有元组合匹配完毕后输出18个测试用例,如表3所示:

表3

通过比较这些用例,我们发现有三个用例构成后在前面已经输出过相同的,因此在输出用例时必须与已输出的用例进行比较,如果有相同的用例已经输出,就不再输出。

最终输出有效的两两覆盖组合用例15个,比所有参数全组合构成的27个用例减少12个,实现了测试用例集的简化。参数个数越多,简化效果越明显,但覆盖率和检错能力没有下降。

S16、利用UML用例图,画出待测试软件系统的模块关联关系图;

S17、根据模块关联关系图,抽取有关联关系的模块,采用组合算法将其中的测试用例生成跨模块的操作组合测试用例并存储到测试用例集中。

S18、采用测试用例生成算法将测试用例集中的用例按照测试用例模板填写数据项到测试用例文件的各项中。

S2、如图2所示,测试用例自动生成步骤,具体包括:

S21、待测试软件系统界面成型后,通过自动化测试工具获取界面对象库,并将界面对象库中的界面对象名称设置为步骤S13中活动图已确定的界面对象名称。

S22、自动测试框架的关键字驱动主程序循环读入测试用例文件中的每一行操作信息,调用对应的关键字组件函数,该关键字组件函数根据当前的界面对象名称参数到界面对象库中查找匹配的界面对象信息,然后在待测试软件系统界面上对查找到的相应界面对象进行自动操作。

S23、读取测试用例文件中当前用例的验证信息,通过验证函数验证界面对象是否符合预期结果。

S24、输出测试报告和日志信息。

当项目需求更新时,更新相应活动图和界面对象库便可自动生成可自动执行的测试用例。同时调用回归优先级算法找出其他有关联关系的模块对测试用例进行排序,优先执行关联模块测试用例。

当有新项目需要自动化测试时,由于关键字动作是通用的,可以直接重用关键字组件函数,因此,只需要完成新项目的活动图设计,新建界面对象库,便可快速生成可执行的自动化测试用例。

以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号