【技术实现步骤摘要】
本专利技术涉及软件自动化测试中的测试用例生成,特别涉及在现有测试用例基础上,应用符号执行方法,通过设定覆盖目标和选择种子测试用例,限制约束求解的范围,以反馈和迭代的方式高效率生成测试用例。
技术介绍
在软件测试过程中,测试用例生成是最重要的环节之一。有效的测试用例生成可以提高测试执行效果,同时降低测试成本和时间。目前测试用例生成基本靠人工来完成,耗时耗力,难以达到理想的程序覆盖率,因此需要有效的自动化测试用例生成方法。自动化测试用例生成的效果一般由程序覆盖率来度量,较高的覆盖率意味着更高的缺陷检测概率和软件质量保证能力。一个好的测试用例生成方法能够以较少的测试用例数量来达到较高的·程序覆盖率。现有的自动化测试用例生成方法包含三个类别随机测试、基于搜索的测试以及符合执行。其中随机测试方法采用随机的方式生成测试用例输入,常生成过多的测试用例,且难以完成对特定程序覆盖目标的处理;基于搜索的测试方法采用遗传算法等来达到指定程序路径的覆盖,常需要过多的时间来生成测试用例,且受到搜索空间的限制;符号执行方法采用符号变量来执行程序,通过求解约束表达式来达到程序覆盖目标;在面对 ...
【技术保护点】
一种基于符号执行的带反馈测试用例生成方法,其特征在于包括以下步骤:1)执行已有的测试用例并收集测试用例覆盖信息;确定每个测试用例在执行时覆盖的被测程序中的语句块;汇总所有测试用例所覆盖的语句块,确定被测程序中尚未覆盖的语句块集合;2)根据被测程序的控制流图确定符号执行的覆盖目标;覆盖目标是被测程序中尚未覆盖的某个语句块;3)对被测程序插桩,植入引导符号执行的控制代码;控制代码包括标记语句和判定语句;4)从已有测试用例集中选择合适的种子测试用例,用于启动符号执行方法;5)针对覆盖目标应用符号执行方法生成新的测试用例;将新生成的多个测试用例补充到已有的测试用例集合中;6)上述5 ...
【技术特征摘要】
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。