[发明专利]一种基于UML图的高度自动化软件测试方法有效
申请号: | 201510433451.9 | 申请日: | 2015-07-22 |
公开(公告)号: | CN105022691B | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 吴斌;刘朋熙;夏同飞;汪春燕;李浩;杨金凤 | 申请(专利权)人: | 国家电网公司;国网安徽省电力公司;国网信息通信产业有限公司;安徽南瑞继远软件有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 合肥天明专利事务所(普通合伙)34115 | 代理人: | 金凯,宋倩 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 uml 高度 自动化 软件 测试 方法 | ||
技术领域
本发明涉及软件测试技术领域,具体是一种基于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所示,测试用例自动生成步骤,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网安徽省电力公司;国网信息通信产业有限公司;安徽南瑞继远软件有限公司,未经国家电网公司;国网安徽省电力公司;国网信息通信产业有限公司;安徽南瑞继远软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510433451.9/2.html,转载请声明来源钻瓜专利网。