[发明专利]测试用例生成方法及装置、存储介质、电子设备有效
申请号: | 201710312624.0 | 申请日: | 2017-05-05 |
公开(公告)号: | CN108804304B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 王秀萍 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 100195 北京市海淀区杏石口路65号西杉*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 生成 方法 装置 存储 介质 电子设备 | ||
本公开提供了一种测试用例生成方法及装置、存储介质、电子设备,该方法包括:接收包括与测试覆盖率对应的覆盖率标签的待测代码;对所述待测代码中的每行代码进行扫描以得到多个字符串,并分别分析每个所述字符串的约束条件;将全部所述字符串的所述约束条件以树形结构进行存储以得到所述待测代码的树形数据结构;基于所述覆盖率标签对所述树形数据结构进行遍历以得到与所述覆盖率标签对应的测试路径;根据所述测试路径以及与所述测试路径对应的所述字符串的约束条件生成测试用例。本公开实现了测试用例的自动化生成,降低了对测试工作人员的要求以及白盒测试的开发成本,提高了测试用例生成的效率。
技术领域
本公开涉及软件测试技术领域,尤其涉及一种测试用例生成方法及测试用例生成装置、存储介质、电子设备。
背景技术
软件测试是软件开发的重要过程之一,已经融入到软件产品生命周期的各个阶段中,目的是尽可能多的发现软件中的错误,保证软件质量。在软件测试工作中,测试用例由测试输入数据以及与之对应的输出结果组成。测试用例的设计非常重要,是测试执行的正确性以及有效性的基础。如何有效地设计测试用例,一直是测试工作人员关注的问题。
白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从代码的控制结构导出测试用例。在白盒测试中,可以根据覆盖率进行测试用例设计。上述覆盖率可以包括语句覆盖率、判定覆盖率、条件覆盖率以及路径覆盖率。目前白盒测试的步骤可以包括:分析程序设计说明书、代码走读、划分代码结构、标记代码节点、获取基本路径以及设计测试用例。通过白盒测试可以检测代码中的每条分支和路径,揭示隐藏在代码中的错误并对代码进行比较彻底的测试。
然而,一方面,在白盒测试中基于单一覆盖率设计的测试用例,即使100%覆盖也不能确保代码的健壮性,基于多种覆盖率设计的测试用例,虽然可以相互补充,但是测试用例太多,复杂度高,操作难度大;另一方面,通过白盒测试设计测试用例对测试工作人员的要求较高,且设计测试用例的工作过于分散、复杂,无法自动化。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种测试用例生成方法及测试用例生成装置、存储介质、电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种测试用例生成方法,包括:
接收包括与测试覆盖率对应的覆盖率标签的待测代码;
对所述待测代码中的每行代码进行扫描以得到多个字符串,并分别分析每个所述字符串的约束条件;
将全部所述字符串的所述约束条件以树形结构进行存储以得到所述待测代码的树形数据结构;
基于所述覆盖率标签对所述树形数据结构进行遍历以得到与所述覆盖率标签对应的测试路径;
根据所述测试路径以及与所述测试路径对应的所述字符串的约束条件生成测试用例。
在本公开的一种示例性实施例中,所述根据所述测试路径以及与所述测试路径对应的所述字符串的约束条件生成测试用例包括:
根据所述测试路径以及与所述测试路径对应的所述字符串的约束条件确定与所述测试路径对应的候选测试用例,其中所述候选测试用例包括与所述测试路径对应的各变量的数值以及期望输出值;
根据所述候选测试用例中的与所述测试路径对应的变量的数值执行所述待测代码以得到实际输出值,并判断所述期望输出值与所述实际输出值是否相同;
在判断所述期望输出值与所述实际输出值相同时,将候选测试用例确定为与所述测试路径对应的所述测试用例。
在本公开的一种示例性实施例中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710312624.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提供数据的方法和系统
- 下一篇:一种自动化测试的方法及装置