试谈软件测试技术及其发展.docVIP

  • 1
  • 0
  • 约3.13千字
  • 约 7页
  • 2018-11-30 发布于福建
  • 举报
试谈软件测试技术及其发展

试谈软件测试技术及其发展   [摘要]讨论了面向对象的集成测试策略,分析了类和对象层?p基于构件开发方法的测试,并研究了基于CMMI的软件测试流程的探索。   [关键词]软件测试 面向对象 集成测试   中图分类号:TP3 文献标识码:A 文章编号:1002-6908(2007)1220083-01      软件测试是软件质量保证的重要手段,有研究表明:越早发现软件中存在的问题,开发费用就越低,软件质量越高,软件发布后的维护费用越低。一个好的、成熟的软件测试过程能够最大限度的保证软件测试的质量和有效性。通过对测试过程的度量,可以使测试过程规范化、可视化;对度量数据的分析,可以测量出测试过程的有效性及存在的问题,明确测试过程的改进方向,从而保证软件的质量。      一、面向对象的集成测试策略      面向对象软件没有层次的控制结构,传统的自顶向下和自底向上集成策略就没有意义。由于构成类的成分有直接和间接的交互,传统的增量集成方法(一次集成一个操作到类中)也不可行。面向对象的集成测试采用两种新的测试策略。   (一)基于线程的测试。这种测试策略集成对回应系统的一个输入或事件所需要的一组类(称为一个线程)。分别集成并测试每个线程,同时应用回归测试保证没有产生副作用。   (二)基于使用的测试。这种测试策略通过测试那些几乎不使用服务器类的类(称为独立类)而开始构造系统,在独立类测试完成后,再增加使用独立类的类(称为依赖类)进行测试,一直到构造完整个系统。   在测试面向对象的软件过程中,还需要注意发现不同类之间的协作错误。集群测试就是这样一个面向对象的集成测试步骤。这个测试步骤通过设计一些测试序列,来发现一组协作类(通过研究对象模型确定)在协作过程中可能发生的错误。      二、类和对象层      面向对象软件的类测试与传统软件的单元测试相对应,但有别于传统的单元测试。类包括一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在。同时,一个对象有它自己的状态和依赖于状态的行为,对象操作既与对象的状态有关,又可能改变对象的状态。因此,类测试不能孤立地测试单个操作,而要将操作作为类的一部分;同时要把对象与其状态结合起来,进行对象状态行为的测试.类测试包括五方面的内容:基于属性的测试、基于方法的测试、基于事件的测试、基于状态的测试、基于响应状态的测试。基于属性的测试相当于传统测试中的白盒(white box)测试。对属性的测试主要是对其属性定义完备性的测试.首先,测试属性是否能惟一标识对象.例如在连锁配送管理信息系统里,地区的属性有其自身的编码还有它所属省份的编码及所属城市的编码,这样可以惟一确定一个地区.其次,对属性的测试还要考虑定义的属性是否对相应的对象和分类结构的每个现实实例都适用,是否能不依赖于其他属性被独立理解。最后,对操作属性的测试主要考虑定义的属性是否能够支持整个系统的功能集合。基于方法的测试是纯粹的白盒测试,是对其程序源码的测试.主要考察封装在类中的一个方法对数据进行的操作。它与传统的单元测试相对应,可以采用传统的单元测试方法:控制流测试、数据流测试、排错测试、分域测试等。方法是与数据一起封装在类中的,并通过向所在对象发送消息来驱动,其执行与对象状态相关,也有可能改变对象的状态。基于事件的测试、基于状态的测试、基于响应状态的测试相当于传统测试中的黑盒(black box)测试.事件是程序的接口,对事件的测试就是对程序接口的测试.对状态的测试即考察类的实例在其生命周期各个状态下的情况.对响应状态的测试,则从类和对象的责任出发,以外界向对象发送特定的消息序列来测试对象。      三、基于构件开发方法的测试      基于构件的开发方法关注于解决方案的结构、确认应使用什么样的构件、对已有的构件进行选择、对构件加以包装和集成以及对最终解决方案的测试和部署等。它主张构件的规格说明与其设计和实现分离,重点关注于接口的设计方法。基于CBD的以上特点,对测试CBD软件需要一些新的测试技术和方法,这些方法以现在已经成熟并大量使用的传统测试技术和面向对象的测试技术为基础,并对其进行相应的扩展和修改。   Harrold认为应该从构件生产者和构件使用者两个不同的角度来看待构件软件的测试问题。构件生产者把构件看作是独立于使用构件的环境的,因此生产者用上下文独立的方式测试构件的所有功能。相反,构件使用者的应用程序提供了构件的运行环境,所以使用者不能把构件看作独立的单元,要考虑与应用程序相关的构件功能。另外,构件生产者拥有构件的源代码而构件的使用者通常都没有构件的源代码。对于商业构件来说,构件的生产者和使用者很可能不同,这会导致一些问题:生产者对构件本身的测试不充分,使用者对此难以确定;生产

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档