论文部分内容阅读
随着现代科技的发展,计算机软件已经广泛应用于人们生活的各个领域,如通信领域,交通领域,金融领域,医院领域,甚至人们的娱乐领域。在计算机软件的发展过程中,各软件公司为了能够最快的占领市场,均开始采用敏捷式开发作为公司的首选开发模式,由此也带来了繁重的测试任务。版本不断的更新,带来大量的测试任务,如何利用已有的资源在有限的时间内对新版本进行高效测试,成了业界所关注的地方,由此引入了对回归测试的广泛研究。研究指出,回归测试在测试总预算中,消耗了80%的测试总预算,占软件维护成本的50%。回归测试中三类主要的研究内容为测试用例最小化、测试用例选择和测试用例优先化。其中测试用例优先化可以良好的解决回归测试中如何高效使用测试用例这一问题,帮助测试人员达到预期的测试目标,例如高覆盖率和高缺陷检测率,从而提高测试效率,降低测试资源的消耗。因此引起了工业界与学术界对测试用例优先化技术的广泛关注。本文通过分析现有的基于代码覆盖的测试用例优先化技术中将覆盖单元视为同等重要的不足提出了一个新的方法:基于控制流图和变更敏感的测试用例优先化技术。同时文中通过与现有的基于代码覆盖的测试用例优先化技术和随机方法的实验比较,验证了新方法的有效性。本文的具体工作主要包括:1.综述了测试用例优先化技术的相关研究背景。本文介绍了回归测试的概念与作用,从而引出测试用例优先化技术,然后对测试用例优先化技术的发展介绍进行了详细的总结与归纳。2.提出了基于控制流图和变更敏感的测试用例优先化技术。本文介绍了基于控制流图和变更敏感的测试用例优先化技术,通过分析代码的变更情况,同时分析并获得程序的控制流图,以此来对不同的代码赋予不同的权重,从而指导测试者进行测试用例优先化排序。此技术首先引入了控制流图到测试用例优先化技术中用于程序分析,以此来定位相关重要代码,并提出对代码权重设定的角度来进行测试用例优先化,为测试用例优先化技术提供了一类新的技术。3.实验论证。通过进行大量的实验,验证了本文方法的有效性。本文以西门子套件程序和space程序作为实验对象,同时以缺陷检测速度做为算法效果的评价标准。结合与随机算法和传统的基于代码覆盖的算法的比较,以实验结果为依据,验证了算法的有效性。