咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于机器学习的软件故障定位和测试用例生成 收藏
基于机器学习的软件故障定位和测试用例生成

基于机器学习的软件故障定位和测试用例生成

作     者:何宇泽 

作者单位:北方工业大学 

学位级别:硕士

导师姓名:杨波;吴艳

授予年度:2020年

学科分类:08[工学] 081104[工学-模式识别与智能系统] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 081202[工学-计算机软件与理论] 

主      题:软件测试 软件故障定位 测试用例生成 XGBoost 遗传算法 

摘      要:随着信息技术的高速发展和应用领域的扩大,计算机软件的规模和复杂程度也与日俱增,给软件开发和调试技术带来了新的挑战。软件测试是保证软件质量的关键环节,贯穿软件开发的生命周期。软件调试和测试用例生成是软件测试的两大重点研究内容。调试是软件测试中的重要环节,其目的是发现存在于软件中的故障,并对其进行修正以确保软件按照设计预期运作。而测试用例生成则是通过一定方式按照软件的设计说明产生测试用例,通过将生成的测试用例输入到目标软件运行,可以动态地获取程序的行为信息,并通过程序的运行结果判断其中是否存在故障。频谱故障定位方法是故障定位领域的主流研究内容,该方法通过将一定数量的测试用例对可能存在故障的程序进行执行,并收集程序语句的覆盖信息和测试用例的执行结果,其目的在于找到与程序预期执行结果不同的测试用例和执行时所覆盖的语句,并基于此进行故障定位。现有的频谱故障方法已有很多种,但是在精确度和故障定位效率等方面仍然存在提升空间。本文在现有的研究基础上将机器学习算法XGBoost引入频谱故障定位技术,并提出了一种新型故障定位方法,该方法通过使用XGBoost模型进行分类后的特征排名获取关键语句信息,并在此基础上按照搜索策略对执行流上的语句进行检查从而生成完整可疑度语句列表。此外,频谱故障定位的运行离不开测试用例的支持,同时测试用例的质量对频谱型故障定位方法的精度也有较大影响。鉴于当前专门针对频谱故障定位方法进行测试用例生成、辅助故障定位的研究还比较少这一情况,本文同时提出了一种利用改进遗传算法生成测试用例的方法,能够为频谱故障定位生成高质量的测试用例,在保证其运行的同时提高定位精度。该方法以三个参数构建适应度函数,以少量初始测试用例作为初代种群,并输入XGBoost模型中获取潜在故障语句信息,然后通过适应度函数引导遗传算法迭代,最终生成高质量的测试用例。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分