面向对象软件测试的研究
- 格式:pptx
- 大小:1.14 MB
- 文档页数:53


基于面向对象的软件测试技术分析
【摘 要】本文通过分析面向对象软件测试的技术特点,针对几种常用的测试方法进行探讨,并以某网上购物系统为例对软件测试方法的实现进行分析,以期通过本文的阐述有效提升程序员的软件测试技能,促进软件测试技术发展。
【关键词】面向对象;软件测试;编码;程序
1.面向对象软件测试的技术特点
从程序的组织结构方面来讲,传统测试技术不完全适用于面向对象软件的测试。传统程序的测试过程是选定一组数据,交给待测程序处理,通过比较实际执行结果和预期执行结果,判断程序是否含有错误。因此,传统软件测试技术与过程式程序中数据和操作分离的特点相适应。而面向对象软件不是把程序看成是工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合,在面向对象程序中,对象是一组属性以及这组属性上的专用操作的封装体,每个对象就像一个传统意义上的小程序,有自己的数据、操作、功能和目的。
而在面向对象的系统中,系统的功能体现在对象间的协作上,相同的功能可能驻留在不同的对象中,操作序列是由对象问的消息传递决定的。不同对象有自己的不同状态,而且同一对象在不同的状态下对消息的响应可能完全不同。
为实现某一特定的功能,有可能要激活调用属于不同对象类的多个方法(c++中的成员函数),形成方法的启用链。显然,基于功能分解的自顶向下或自底向上的集成测试策略并不适用于以面向对象方法构造的软件。
面向对象软件语言特有的一些概念和机制,如数据抽象、继承、多态、动态绑定和消息传递都对测试有着深刻的影响。其中有的因素使测试复杂化,导致测试工作量加大,有的因素有助于测试过程中重用已有的测试资源,从而有利于减少测试的工作量,有的因素两方面兼而有之。但总的来讲,在这些因素的共同作用下,测试面向对象比测试传统软件更加困难。
2.面向对象软件测试的常用方法
2.1基于类流图的测试
类流图是一种用来表示类的行为特性,且在结构上与传统控制流图相似的有向图。假设对于一个给定的类c,o代表它的方法集,那么它的类流图g中的结点分别表示o中的每一个方法,有向边(o1,o2)表示方法o2可在方法o1之后被调用,事实上也就是方法o1的后置条件满足方法o2的前置条件。有了类流图,类的方法序列就可以很方便地由对图的遍历得到,其覆盖准则也包括点覆盖、边覆盖、路径覆盖等。某些有向边旁标有判断条件,类似于流程图中的逻辑条件,可以用来确定变量的取值。
第27卷 VO1.27 第11期 NO.1 l 计算机工程与设计 Computer Engineering and Design 2006年6月 June 2006
面向对象软件类测试研究新进展
张雪萍 (1.河南工业大学计算机科学系,河南郑州450052;2.解放军信息工程大学测绘学院,河南郑州450052) 摘要:软件测试是软件开发过程中不可缺少的一环,是保证软件质量和提高软件可靠性的关键。近年来,随着面向对象软 件开发方法应用的更加广泛和研究的不断深入,面向对象软件测试已成为软件工程领域的一个重要研究课题。类是面向对 象软件的基本构成单元,类测试是面向对象软件测试的关键。从基于状态、基于规范、基于UML、基于方法序列、基于数据流 等6方面论述了类测试的目前研究成果,分析了研究现状,探讨了进一步工作的方向。 关键词:类测试;基于状态;基于规范;基于UML;基于方法序列;基于数据流 中图法分类号:TP3ll 文献标识码:A 文章编号:1000-7024(2006)ll-1954—03 Research progress about class testing of obj ect—oriented software ZHANG Xue—ping ’ (1.Department ofComputer Science,Henan Unive ̄ity of Technology,Zhengzhou 450052,China;2.Institute of Surveying and Mapping,Chinese People’S Liberation Army Information Engineering University,Zhengzhou 45o052,China) Abstract:SoRware testing is indispensable to soRware development,and is the key to soRware quality and reliability.Recently, object-oriented soRware testing has become an important research topic in soRware engineering with the extensive using and deepening study ofthe development of object.0riented soRware. Class is the basis composition of object_oriented soRware, and class testing is the key to object-oriented soRware testing.Various class testing methods proposed,such as state-based testing,specification-based testing,UML-based testing,MtSS-based testing,and data flow-based testing are surveyed.Finally,directions of future research are also discussed. Key words:class testing;state-based;specification-based;UML-based;MtSS-based;data flow-based
面向对象的类测试技术研究
摘要:类是面向对象软件的基本构成单元,类测试是面向对象软件测试的关键。从基于服务的、基于对象动态测试模型的、基于流图的四个方面论述了类测试的思想和方法。
关键词:面向对象 软件测试 类 类测试
1 面向对象软件的类测试
类的概念是面向对象程序设计的核心概念。把数据和对象的操作和处理封装在一个程序模块中的方法,可以说是人们积几十年程序设计实践的经验总结。把程序以类的形式组织成若干模块,使其获得了最佳的结构特性,类的概念的引入使程序设计技术发生了革命性的转变。从结构程序设计中以函数作为程序的基本模块转变为面向对象程序设计中,以类作为程序的基本模块,这一变化使程序设计技术出现了质的飞跃。类的概念抓住了程序的本质。程序的基本元素是数据,而函数是围绕数据进行的处理和操作。类的使用使得:
程序设计本身更有条理了;程序的可读性好了:程序设计的过程真正像是机器部件的组装;程序由多个程序员设计变得方便和自然;由于程序的零部件化,使得程序的可重用性变成切实可行的事情。
正是由于面向对象软件构件的基础是类,所以类的测试显得尤为重要。类测试是面向对象软件测试的关键。面向对象软件的类测试与传统软件的单元测试相对应,但和传统的单元测试不一样。类测试时不仅要将操作作为类的一部分,同时要把对象与其状态结合起来,进行对象状态行为的测试。类的测试按顺序分为以下三个部分:
(1)基于服务的测试:测试类中的每一个方法;(2)基于状态的测试:考察类的实例在其生命周期各个状态下的情况;(3)基于响应状态的测试:从类和对象的责任出发,以外界向对象发送特定的消息序列的方法来测试对象的各个响应状态。
2 类测试技术
(1)基于服务的类测试技术
基于服务的类测试主要考察封装在类中的一个方法对数据进行的操作。它可以采用传统的白盒测试方法,如:控制流测试、数据流测试、循环测试、排错测试、分域测试等。但由于受面向对象软件测试技术发展水平等方面因素的限制,测试人员在选择测试用例时往往都是根据直觉和经验来进行,给测试带来很大的盲目性;再者由于测试人员的个性及倾向性也使得选择的测试用例仅能测试出其所熟悉的某一方面的错误,许多隐含的其它错误不能被检测出来,这在无形中降低了软件的可靠性。
面向对象测试技术的研究与应用
更耘 林垡
(信包产业部第 f, 研究所 南京210014-)
摘要 面向对象的测斌技术是面向对象开发方法 一个重要方面 对软件质量和软件重用至关重要。本文描进了有关面向 对象测试的一些关键问题,提出了一缸面向对象的剥试方法涪出了;l1周Rational公司的测试工具TestMate对c++程序进行面向对
象剥试的样 =
关键词 面向对象 类涮试 粪安倒化 测试工县TestMate
REsEARcHANDAPPLICA )NOFOBJECT—ORIENTEDTESTTECHNOLOGY
Xia Yun 1Jn Hila (1,v'b,rr,at/on Mbr/str ̄28th Re ̄rchl&stltute.Noz,jir ̄220014)
Abaxaet Objm—Oriented Test(OCT)technology is a very,important asi2eot of OO development method.It is of great inqxa'tm ̄e tO sdh
quality.ard reusahili ̄Inthis article WE-desedbe some key prubiems ahmt OOT atfirst andthen.Inhodl1ce衄OOTmethod.An o(H of0 +pro・ is gi' ̄'ell as aII example bymaking use ofthetesting—tc ̄l--RafiormJ TestMate
Keywccds Obi ̄t—orieraed Class一 ̄estlng C1 一irtstandafion Testing一:o。l TestMate
1引 言
面向对象方法的使用日盏普及,但面向对象的测
试技术仍不成熟,很少有这方面的文献或专著可供参
考,一般都是把传统的钡4试方法应用到面向对象的钡4