欢迎来到天天文库
浏览记录
ID:41533014
大小:330.50 KB
页数:23页
时间:2019-08-27
《软件工程翻译费下载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录一文献翻译2面向对象软件的进化测试21.引言32.相关工作33.测试框架43.1进化测试53.2静态分析54.实验64.1评价64.2随机测试74.3有静态分析的随机测试84.4进化的测试85.结论和讨论116.致谢117.参考文献11二哈尔滨工程大学图书馆系统的评价13三网上招聘系统需求规格说明书141.引言141.1项目名称:141.2项目背景和内容概要151.3系统的目标151.4角色定义152.功能及业务流程162.1系统主UseCase图162.2用例分析193数据描述223.1原始数据描述223.2数据流向图224.
2、界面要求235.性能需求235.1可靠性需求235.2安全性需求235.3时间特性要求245.4可维护性和可扩展性246.运行环境需求247.需求确认2423一文献翻译面向对象软件的进化测试LucasSerpaSilva1MaartenvanSomeren21阿姆斯特丹大学,科学园1071098XG,荷兰阿姆斯特丹,+410762020757,lssilva@gmail.com2阿姆斯特丹大学,科学园1071098XG,荷兰阿姆斯特丹,+310205256791,M.W.vanSomeren@uva.nl摘要:据估计,软件开发成本的
3、80%是用于检测和修复缺陷。为了解决这个问题,人们已经开发了一些工具和测试技术,以改善现有的测试框架。虽然如静态分析,抽验和进化测试技术已被用于自动化测试过程中,目前尚不清楚什么是最好的办法。进化测试以前的研究主要集中在程序的编程语言,和代码覆盖为主要的优化参数。在这项工作中,我们提出了一个把遗传算法与静态分析相结合的方法来自动测试Eiffel类,以发现故障的数目作为优化参数。在22个Eiffel类上总共进行115次实验来评估进化测试的有效性和通过运行5,30和60分钟的随机测试用例生成器产生的结果进行对比。结果表明:和一个随机的测
4、试方法相比,遗传算法与静态分析相结合的方法,可以大大提高发现故障的数目。在某些情况下,进化测试在15分钟内发现的故障多于随机测试策略在60分钟内发现的故障。关键字:进化计算,软件测试1.引言在过去的50年里软件在工业的各个领域的影响力越来越大,导致对复杂的和可靠的软件的需求不断增加。据一项由国家标准与技术研究所进行的研究[18]表明,约80%的开发成本是用于识别和纠正缺陷的。同样的研究发现,软件的错误花费了美国经济的约为59.5亿美元每年,其中三分之一归因于差的软件测试基础设施。许多已经开发的能够自动化执行测试的工具,如JUnit[
5、3]和GoboTest[2],在努力改善现有的测试基础设施。然而,自动化生成测试数据仍然是一个研究的主题。最近,已经使用的一些方法,如启发式算法,随机测试生成和静态分析测试已经用于完全自动化测试过程,但是面向对象软件的一些工具的应用,仍然受到限制。一些工具已经使用了随机测试用例生成器(Jartege[14],自动测试[13],Dart[6])。使测试用例的生成自动化,但多项研究发现进化的测试更有效率和在代码覆盖率上优于随机测试[15,11,17,8]。在这个项目中,我们使用遗传算法自动生成对Eiffel类的测试用例[5]。23这项工
6、作的基本假设是,和随机测试相比,进化测试能在更短的时间内发现更多的错误。我们认为,遗传算法是自动化测试的一个好方法的主要原因之一是因为它可以适应被测试的代码。这是合理的假设,每个类都有一个输入数据的最佳的集合,而这个集合将来能够触发所有的错误。使用这样的假设,然后可以使用遗传算法进化出适应每个类的测试策略。该项目使用的错误的数量来代替代码覆盖最为遗传算法的主要优化参数,和通过遗传算法与静态分析相结合的方法,来提高目前工艺的水平。它还提供了一个面向对象的程序的进化测试的一个最好的实验结果。2.相关工作90年代初以来,已经有许多面向应用
7、程序的进化测试的研究[16,17,9,15,11,23,8]。在这些研究的大多数中,分支覆盖是用来评估所生成测试用例的质量的。最近已经有许多面向对象语言的进化测试算法[19,10,22],他们也是优化代码覆盖的。在过程性的程序中,生成测试用例的输入数据是原语值,如整数,而进化算法是测试面向对象的程序的,它能够创建对象,它必须确保当调用测试时,对象的类型是兼容的。在[19]中一个关于分支覆盖的遗传算法被用来测试6个Java类。要解决的对象类型的兼容性,染色体根据语法进行编码。然后这个语法被用于,以确保变异和交叉操作不会损坏染色体。在[
8、23]中一棵树被用来代表调用方法的序列。这些树包含这样的一些信息,哪些方法应该是被顺序调用的,哪些目标对象和参数对象应为单独的方法调用使用的。它为测试类实现了100%的分支覆盖率。有关进化测试的已经完成的工作中,大部分使用分支覆盖量作
此文档下载收益归作者所有