面向对象软件测试综述
摘要:面向对象的软件测试是面向对象软件开发的不可缺少的一环,是保证软件质量、提高软件可靠性的关键。结合传统软件测试的方法和技术,并针对面向对象软件所具有的特征,将面向对象软件测试层次 划分为三层:类测试、类簇测试和系统测试。本文阐述了面向对象软件测试的基本原理及意义以及它与传统软件测试的区别,讨论了几种已有的面向对象的软件测试工具。
关键词:软件测试;类测试;测试工具;
Abstract:Object-oriented software testing is indispensable to the development of object-oriented software,and is the key to software quality and reliability.Combining with the method and technique of traditional testing,and according to the characteristics of object-oriented software,divides hiberarchy of object-oriented software testing into three layers: class
testing,class cluster testing,system testing. This paper describes the basic principles and the significance of object-oriented software testing.It also says the distinction of the traditional software testing and the object-oriented software testing.,and it discusses several existing object-oriented software testing tools.
Keywords:software testing;class testing;testing tools;
1、引言
软件测试在软件生存期中占有非常突出的重要位置。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。 随着软件的质量和可靠性越来越受到人们的关注,软件测试作与之相应的重要保障手段之一也越来越得到重视。自20世纪80年代以来,面向对象方法和技术的研究已遍及计算机软件、硬件和应用各领域,在软件工程领域更是得到了广泛的重视,但研究的重点和成果主要集中于面向对象分析与技术方法学领域(即软件的开发前期),而面向对象软件测试技术的研究还比较薄弱。面向对象软件的封闭性、继承性、多态性和动态连接等特性使面向对象软件测试不能完全采用传统的测试思想和方法,面向对象软件测试的研究成为十分紧迫的任务。
国内外面向对象软件测试目前还处于探索性的研究阶段,其层次的划分还未达成共识,但一般地,从面向对象程序的结构出发,将面向对象软件的测试分为四个层次:方法测试、类测试、类簇测试、系统测试。其中方法测试和系统测试可采用传统的测试进行测试,但类测试和类簇测试是面向对象测试过程所特有的,不能直接使用传统测试方法。目前,有关类簇测试的研究还很少,面向对象软件测试的研究主要集中于类测试。 2 、软件测试技术
软件测试就是“为了发现程序中的错误而执行程序的过程”,所以为了发现程序中的错误,力求设计出最能暴露错误的测试方案。所以软件测试决不能证明程序是正确的。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。
2.1软件测试的方法
2.2.1 黑盒测试
黑盒测试又称为功能测试,是一种面向设计的测试。这种测试在完全不考虑测试对象内部结构的情况下,把被测程序当作一个黑盒,根据程序的功能和外部特性得到测试数据。进行黑盒测试在所必须具备的文档有产品描述、用户文档及安装指令。软件的黑盒测试被用来证实软件功能的正确性和可操作性。
2.2.2 白盒测试
白盒测试是假定测试对象的内部是已知的,允许测试者检查测试对象的内部结构,并使用其结构信息来设计测试安全和测试对象是否满足规范的要求,测试者可以完全不考虑测试对象的功能。进行白盒测试所具备的文档有设计文档和程序文档。
2.2 传统软件测试的步骤
传统的软件测试过程可以按四