[发明专利]一种基于概率统计的软件测试基本路径进化生成方法有效
申请号: | 202010127165.0 | 申请日: | 2020-02-28 |
公开(公告)号: | CN111338957B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 夏春艳;李玉莹;张岩;许金;乔力;郭冰 | 申请(专利权)人: | 牡丹江师范学院;南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/126;G06N7/01 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 157012 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 概率 统计 软件 测试 基本 路径 进化 生成 方法 | ||
本发明涉及一种基于概率统计的软件测试基本路径进化生成方法。该方法给定被测程序,首先,利用条件概率关系和最大似然估计法,度量被测程序条件语句间的相关性类型,进而判定被测程序的互斥边关系,以此作为可行路径的识别依据;其次,采用遗传算法生成可行的基本路径,遗传算法的个体采用十进制编码方式代表进化路径,个体评价完成后,判断进化个体是否含有互斥边,含有互斥边的个体代表的是不可行路径,不参与进化过程;再次,对不含有互斥边的个体进行选择、交叉、变异和繁殖操作,重复上述过程,直到达到最大迭代次数或者生成所有的可行路径为止;然后,检验生成的可行路径是否为基本路径,将线性无关的独立路径存入基本路径集;最后,输出可行的基本路径集合。本发明目的在于为被测程序自动生成可行的基本路径,再根据可行的基本路径生成或者选择测试数据,解决了目前被测软件路径数目众多的情况下,全路径覆盖测试难以达到,测试质量难以得到保障的问题,最终帮助测试人员提高软件测试效率,同时保障软件测试的质量。
技术领域
本发明涉及软件测试、程序分析和概率统计领域,尤其适用于软件测试中基本路径生成领域,其目的在于为被测程序自动生成可行的基本路径,是一种帮助软件测试人员提高软件测试效率,保障软件质量的方法。
背景技术
软件测试是软件生命周期中重要的组成部分,是保障软件质量、提高软件可靠性的重要手段。路径测试是软件测试的主要方法,许多软件测试问题都可以归结为面向路径的测试数据生成问题,但是复杂被测软件路径数目众多,全路径覆盖测试难以实现。基本路径测试是指在测试过程中,尽可能地覆盖程序中所有的可行基本路径,它是一种覆盖率高且检错能力较强的结构测试方法。该方法设计出的测试用例能够保证被测程序的每个可执行语句至少执行一次,能够检测到被测程序中65%的错误。目前,已经存在一些基本路径生成方法,但大多方法都没有考虑生成的基本路径是否为可行路径。基本路径可行性的度量主要取决于测试人员的经验,这导致基本路径对应的测试数据的质量很难保证,并且测试人员判断基本路径的可行性也需要花费大量的时间。因此,如果能够采用一定方法为被测程序自动生成可行的基本路径,再根据可行的基本路径生成或者选择测试数据,可以有效的降低测试人员的工作压力,提高软件研发的生产效率,并且能够保障软件测试的质量,提高软件产品的可靠性。
在实际基本路径测试中,首先需要确定被测程序的基本路径,然后再生成经过每一条基本路径的测试数据。此时,自动生成的基本路径是否可行,直接影响到测试数据的质量和测试结果。目前,有学者针对基本路径的生成方法进行研究,如张广梅等研究了应用控制流图的深度优先搜索方法生成基本路径,但是该方法没有考虑生成的基本路径中是否含有不可行路径。金斌等在2007年11月21日公开的发明专利中,提出了应用于白盒路径测试的测试用例生成方法,该发明主要是保证不同测试人员寻找的基本独立路径集大体一致。因此,这些方法并没有很好地解决生成可行基本路径质量的问题。
对此,本发明提出了一种基于概率统计的软件测试可行基本路径进化生成方法,自动生成被测程序的可行基本路径,进而生成覆盖可行基本路径的测试数据,在降低工作量的同时保障软件测试数据的质量。首先,利用条件概率关系和最大似然估计法,度量被测程序条件语句间的相关性类型;其次,根据条件语句间的相关性类型,判定被测程序中的互斥边关系,以此作为可行路径的识别依据;再次,在遗传算法的个体评价完成后,判断染色体是否含有互斥边,原因是含有互斥边的染色体代表的是不可行路径,不参与进化过程;然后,对不含有互斥边的进化个体进行选择、交叉、变异和繁殖操作,重复上述过程,直到达到最大迭代次数或者生成所有的可行路径为止;最后,检验生成的可行路径是否为基本路径,满足线性无关的独立路径为可行的基本路径。通过该方法,生成的路径均为可行的基本路径,可以在任何基本路径测试中进行应用,能够大大减少软件测试的工作量,更有利于查找被测程序中的缺陷,保障软件测试的质量,从而提高软件测试的效率和软件产品的可靠性。
发明内容
本发明通过提供一种基于概率统计的软件测试基本路径进化生成方法,来有效解决目前存在的复杂被测软件路径数目众多的情况下,全路径覆盖测试难以达到所导致的测试质量难以得到保障的问题,最终提高了软件测试效率,同时保障了软件测试质量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于牡丹江师范学院;南京大学,未经牡丹江师范学院;南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010127165.0/2.html,转载请声明来源钻瓜专利网。