【技术实现步骤摘要】
一种代码测试的方法及装置
[0001]本说明书涉及软件测试领域,尤其涉及一种代码测试的方法及装置。
技术介绍
[0002]在软件开发的过程中,软件代码的测试工作通常发挥着不可或缺的作用,而其中,测试效果的好坏往往取决于测试用例的编写是否合理,随着自动化测试技术的发展,测试过程逐步由人工测试转变为通过自动生成的测试用例进行自动测试,以在减少人工成本的同时保证软件的顺利开发。
[0003]然而,目前采用的测试用例的生成方法,所生成的一个测试用例中通常包含有多个被测对象,而且对被测对象中包含的每个被测方法的调用顺序都是随机的,这种方法构建的测试用例很容易在执行过程中发生执行异常,而且测试效果较差。
[0004]因此,如何在保证测试过程顺利执行的同时,提高测试效果,是一个亟待解决的问题。
技术实现思路
[0005]本说明书提供一种代码测试的方法及装置,以实现精简测试用例语句,减少测试用例的数量,提高测试效果。
[0006]本说明书采用下述技术方案:
[0007]本说明书提供了一种代码测
【技术保护点】
【技术特征摘要】
1.一种代码测试的方法,包括:针对每个被测对象,确定该被测对象对应的所有成员变量和各成员变量对应的变量调用语句,以及根据该被测对象中包含的各被测方法对应的调用顺序,构建方法调用语句序列;根据所述变量调用语句以及所述方法调用语句序列,构建该被测对象对应的初始测试用例,其中,每个初始测试用例仅对应有一个被测对象;根据各初始测试用例,确定优选测试用例,并通过所述优选测试用例,对待测试代码进行测试。2.如权利要求1所述的方法,针对每个被测对象,确定该被测对象对应的所有成员变量和各成员变量对应的变量调用语句,具体包括:针对每个被测对象,确定该被测对象对应的所有成员变量,以及各成员变量对应的变量注入语句;根据各成员变量对应的初始值以及取值范围,确定各成员变量对应的变量初始化语句;将所述变量初始化语句与所述变量注入语句进行组合,构建各成员变量对应的变量调用语句。3.如权利要求1所述的方法,根据各初始测试用例,确定优选测试用例,具体包括:根据各初始测试用例,重新构建测试用例,得到候选测试用例;根据各候选测试用例,确定优选测试用例。4.如权利要求3所述的方法,根据所述各初始测试用例,重新构建测试用例,得到候选测试用例,具体包括:对所述各初始测试用例中所调用的方法对应的方法参数,以及所调用的成员变量对应的成员变量参数进行处理,得到处理后的方法参数和处理后的成员变量参数;根据所述处理后的方法参数和处理后的成员变量参数,以及所述各初始测试用例中包含的方法调用语句和变量调用语句,重新构建测试用例,得到候选测试用例。5.如权利要求3所述的方法,根据所述各初始测试用例,重新构建测试用例,得到候选测试用例,具体包括:针对每个初始测试用例,若该初始测试用例对应的被测对象中不包含确定出的待插入被测方法,则根据所述待插入被测方法对应的方法调用语句、该初始测试用例中包含的方法调用语句和变量调用语句,重新构建测试用例,得到候选测试用例。6.如权利要求3所述的方法,根据各候选测试用例,确定优选测试用例,具体包括:针对每个候选测试用例,从该候选测试用例中确定出除所述初始测试用例包含的方法调用语句以外的其他方法调用语句,作为目标调用语句;根据预设概率,对该候选测试用例中包含的至少部分目标调用语句进行删除,以根据删除所述至少部分目标调用语句的该候选测试用例,确定所述优选测试用例。7.如权利要求3所述的方法,根据各候选测试用例,确定优选测试用例,具体包括:针对每个候选测试用例,若该候选测试用例对应的综合覆盖率大于预设阈值,且使用该候选测试用例进行代码测试后所确定出的覆盖目标,与通过已经确定出的优选测试用例进行代码测试后所确定出的覆盖目标不完全相同,则将该候选测试用例作为优选测试用
例。8.如权利要求1所述的方法,所述方法还包括:遍历所述优选测试用例中的每一行代码,识别出所述优选测试用例中包含的异常代码;若确定按照所述优选测试用例中除所述异常代码以外的其他代码进行代码测试后得到的综合覆盖率的变化量,小于预设变化量,则删除所述异常代码。9.一种代码测试的装置,包括:确定模块,针对每个被测对象,确定...
【专利技术属性】
技术研发人员:张剑飞,周海莲,周智泉,赵红兵,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。