[发明专利]单元测试方法和装置有效
申请号: | 201810455233.9 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108595342B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 潘福江 | 申请(专利权)人: | 杭州有赞科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单元测试 方法 装置 | ||
本发明公开了一种单元测试方法和装置,其中,方法包括:获取当前单元测试下输入的测试对象,通过反射机制获取与测试对象对应的每个类信息和方法信息,依次根据每个类信息和方法信息依据预设规则和预设代码模板生成单元测试代码;单元测试代码包括组合引索键信息;根据组合引索键信息从数据库中加载关联的配置列表,并对配置列表进行解析,依次读取所有解析得到的测试用例数据,并执行单元测试代码,根据执行结果生成测试报告。不仅实现自动生成单元测试代码,极大提高了单元测试代码的开发效率;而且通过组合引索键信息从数据库中加载关联的配置列表能够实现单元测试的自动化,避免人为因素导致的测试错误,提高测试效率和准确率。
技术领域
本发明涉及软件测试技术领域,尤其涉及一种单元测试方法和装置。
背景技术
单元测试是一种白盒测试,旨在检测软件代码中的错误和漏洞,从源头上保证软件的质量,是对软件每一行代码或代码块进行覆盖测试以判断其正确与否。在软件开发过程中发挥了重要的作用,是非常有效的代码质量保证手段。在现有技术中,单元测试方法主要是结合开源的一些测试框架(如Junit、Testng等)由开发人员进行手工编码,再通过人工编写大量的测试用例代码去覆盖代码各个分支逻辑,以对源程序代码进行测试验证,并通过编译生成测试报告,再通过解读测试报告中令人费解的测试数据,最终才能判断出源程序代码中的错误和漏洞。
上述现有技术存在的技术缺陷在于:在编写测试用例的过程中,需要投入较多精力,甚至投入比业务代码开发更多的时间精力来编写覆盖各个场景的单元测试代码,时间成本较高;而且存在过多的人工干预,存在人为因素导致的测试错误,故使源程序遗留或多或少的漏洞未能及时发现,降低测试效率。
发明内容
本发明的目的是提供一种单元测试方法和装置,不仅实现自动生成单元测试代码,极大提高了单元测试代码的开发效率;而且通过组合引索键信息从数据库中加载关联的配置列表能够实现单元测试的自动化,避免人为因素导致的测试错误,提高测试效率和准确率。
本发明提供了一种单元测试方法,包括以下步骤;
获取当前单元测试下输入的测试对象,通过反射机制获取与所述测试对象对应的每个类信息和方法信息,依次根据每个所述类信息和方法信息依据预设规则和预设代码模板生成单元测试代码;所述单元测试代码包括组合引索键信息;
根据所述组合引索键信息从数据库中加载关联的配置列表,并对所述配置列表进行解析,得到测试用例数据;
依次读取所有的所述测试用例数据,并执行所述单元测试代码,根据执行结果生成测试报告。
作为一种可实施方式,所述根据所述组合引索键信息从数据库中加载关联的配置列表,包括以下步骤;
根据所述组合引索键信息从本地数据库中加载关联的本地配置列表和本地版本信息;
获取测试用例的当前版本信息,将所述本地版本信息与所述当前版本信息进行比对判断;
若所述本地版本信息与所述当前版本信息的版本一致,则将本地配置列表变更为配置列表;
若所述本地版本信息与所述当前版本信息的版本不一致,则根据所述组合引索键信息从云服务器的数据库中加载关联的云端配置列表和云端版本信息,并将所述云端配置列表和云端版本信息进行存储,分别替换本地数据库中所述本地配置列表和本地版本信息。
作为一种可实施方式,所述依次根据每个所述类信息和方法信息依据预设规则和预设代码模板生成单元测试代码,包括以下步骤;
依据所述预设规则对每个类信息进行后缀限定处理,同时,依据所述预设规则对每个方法信息进行前缀限定处理;
依次将限定处理后的每个类信息和与类信息对应的方法信息依据预设代码模板进行执行处理,生成单元测试代码;所述预设代码模板包括入参转换组装模板、执行测试方法模板以及结果预期对比模板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州有赞科技有限公司,未经杭州有赞科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810455233.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:测试用例自动生成方法及系统
- 下一篇:应用程序的测试方法及装置