[发明专利]测试案例生成方法及装置在审
申请号: | 202110048255.5 | 申请日: | 2021-01-14 |
公开(公告)号: | CN112749094A | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 陆新龙;周文泽;吴冕冠;潘玲 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 案例 生成 方法 装置 | ||
本发明提供了一种测试案例生成方法及装置,可用于金融领域或其他领域。所述方法包括:将获取的业务数据输入至软件项目的各函数中,并利用流量录制方式,得到各函数的输入数据及输出数据;根据各函数的输入数据及输出数据,利用数据驱动用例方式自动生成各函数对应的测试案例;根据各函数对应的测试案例及预设的软件项目目录结构,生成所述软件项目的测试案例文件。本发明利用流量录制方式,仅需获取入口业务数据,通过业务数据流转自动获得各内部函数的输入数据,无需针对每一个函数构造相应的输入数据,降低测试数据构造的复杂度,并且提高了测试案例的代码覆盖率及问题检出率。
技术领域
本发明涉及计算机软件技术领域,尤指一种测试案例生成方法及装置。
背景技术
目前,软件项目的业务需求旺盛,单元测试案例构造困难,在有限的时间内,无法即保证功能开发,又保证单元测试案例的充分覆盖;测试数据构造困难,代码中某些分支,不知道通过什么样的输入数据可以到达;构造的测试数据往往只是为了覆盖到代码分支,若能使用业务真实数据,则测试案例检出问题的概率更高。
因此,软件项目中单元测试案例的编写是一个极其耗费开发人员精力的事情,很多时候为了完成覆盖的要求,而编写一堆无实际价值的假测试案例。因此,亟需提供一种新的方案,自动/半自动地生成测试案例,在保证测试案例质量的同时,提升测试案例的编写速度,让开发人员的精力更多的投入到功能代码的开发中。
发明内容
针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种测试案例生成方法及装置,实现提升编写测试案例的效率,降低测试数据构造难度,以及提升测试案例问题检出率。
为了实现上述目的,本发明实施例提供一种测试案例生成方法,所述方法包括:
将获取的业务数据输入至软件项目的各函数中,并利用流量录制方式,得到各函数的输入数据及输出数据;
根据各函数的输入数据及输出数据,利用数据驱动用例方式自动生成各函数对应的测试案例;
根据各函数对应的测试案例及预设的软件项目目录结构,生成所述软件项目的测试案例文件。
可选的,在本发明一实施例中,所述方法还包括:运行所述测试案例文件,确定所述测试案例文件的代码覆盖率及未覆盖代码信息;根据所述未覆盖代码信息,对输入至各函数中的业务数据进行更新。
可选的,在本发明一实施例中,所述根据所述未覆盖代码信息,对输入至各函数中的业务数据进行更新包括:获取对应于所述未覆盖代码信息的业务数据,将对应于所述未覆盖代码信息的业务数据作为更新数据;利用所述更新数据对输入至各函数中的业务数据进行更新。
可选的,在本发明一实施例中,所述业务数据是通过拦截用户输入的业务数据、利用预设的数据生成模型生成业务数据和利用预设的正则表达式生成业务数据三种方式中至少一种获取的。
可选的,在本发明一实施例中,所述方法还包括:将各函数及其对应的输入数据与输出数据存储于数据库。
可选的,在本发明一实施例中,所述根据各函数的输入数据及输出数据,利用数据驱动用例方式自动生成各函数对应的测试案例包括:从数据库中获取各函数的输入数据及输出数据;将各函数的输入数据及输出数据作为测试案例输入数据,并利用数据驱动用例方式,根据所述测试案例输入数据自动生成各函数对应的测试案例。
本发明实施例还提供一种测试案例生成装置,所述装置包括:
业务数据获取模块,用于将获取的业务数据输入至软件项目的各函数中,并利用流量录制方式,得到各函数的输入数据及输出数据;
测试案例模块,用于根据各函数的输入数据及输出数据,利用数据驱动用例方式自动生成各函数对应的测试案例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110048255.5/2.html,转载请声明来源钻瓜专利网。