hw软件测试(周)9

hw软件测试(周)9

ID:45265265

大小:238.00 KB

页数:65页

时间:2019-11-11

hw软件测试(周)9_第1页
hw软件测试(周)9_第2页
hw软件测试(周)9_第3页
hw软件测试(周)9_第4页
hw软件测试(周)9_第5页
资源描述:

《hw软件测试(周)9》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Unit4面向对象测试扩大测试的视角32预备知识1测试OOA和OOD模型33OO软件的测试用例设计35面向对象的测试策略4类间测试用例设计37在类级别上可用的测试方法64.1预备知识(1)对象对象是现实世界中存在的一个事物。对象可以是物理的,如一张桌子,也可以是抽象的,如一个开发项目或一个计划。在面向对象开发中,对象就是模块,它是把数据结构和操作这些数据的方法紧密地结合在一起而构成的模块。4.1.1面向对象的基本概念(2)类和实例     具有相同特征和行为的所有对象构成一个类,属于某个类的对象称为该类的实例(Instance)。类

2、抽象地描述了属于该类的全部对象的属性(用数据结构表示)和操作(也称为服务或方法,在C++中即成员函数)。可将类看作一个抽象数据类型(AbstractDataType,简称ADT)的实现。(3)继承继承是子类(也称派生类)自动共享其父类和祖先类属性和操作(即共性部分)的机制。子类在继承共性部分的基础上,还可有增加或修改自身特有的属性和操作。子类只继承一个父类的属性和操作,称为单重继承;子类若继承了多个父类的属性和操作,则称为多重继承。继承是面向对象开发方法独有的机制。继承机制的好处是:使共有的属性和操作能够共享,避免了类中的重复定义,

3、增加了代码的可重用性。由于代码重用性高,因而缩短了代码的总长度,使程序简短、结构清晰、易于理解。对于具有继承关系的父类和多个子类的相同部分的修改,只需在父类中进行即可。(4)消息两个对象之间的通信单元称为消息,它是要求接收消息的对象执行类中定义的某操作的规格说明。消息机制类似于面向过程开发中的函数调用。(5)封装封装(Encapsulation)也可理解为信息隐藏。对象是封装的最基本单位,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。封装机制具有如下优点:简化了

4、对对象的使用。外部程序仅通过接口访问对象,而不必知道对象内部的具体实现。为软件模块的安全性提供了强有力的保障,因为对象内部数据结构是不能被外界访问的。减小了类之间的相互依赖性,使程序结构更为紧凑、清晰,提高了软件部件的重用性,且使得对软件的修改、测试、维护等工作更易于进行。(6)抽象抽象有两方面的意义:尽管问题域中的事物是复杂的,但是分析人员并不需要了解和描述它们的一切,只需要分析研究其中与系统目标有关的事物及其本质性特征。通过舍弃个体事物在细节上的差异,抽取其共同特征而得到一批事物的抽象概念。(7)多态性一个操作在不同的类中可有不

5、同的实现方式,这称为多态性(Polymophism)。因而属于不同类的对象,收到同一消息可以产生不同的结果。      多态性增强了软件的灵活性、重用性和可维护性。继承和多态面向对象软件测试的重要性尽管面向对象开发方法提供了一系列可使人们以更高的效率开发出高质量的软件的机制,但最终软件的质量如何,还与开发过程中技术实施的具体情况有关,与开发人员的水平有关,故需要严格测试。面向对象软件部件的重用率高,若不尽早进行严格的测试,错误的繁衍将给后期测试活动及软件维护带来极大的麻烦。继承、封装、多态等机制的使用给面向对象软件带来了新的出错可能

6、性,使得测试的侧重点发生了较大的变化。也就是说应重点针对这些机制的使用对软件进行测试。4.1.2面向对象软件测试的重要性分别从3个方面论述面向对象软件的特点及其对软件测试的影响。1.面向对象程序执行的动态性2.封装、继承和多态3.演化、迭代的开发模式4.1.3面向对象软件的特点面向对象程序执行的动态性传统程序的执行路径是在程序开发时定义的,程序执行的过程是主动的,其程序流程可以用一个控制流图从头到尾地表示;面向对象程序中方法的执行通常不是主动的,程序的执行路径是在运行过程中动态地确定的。封装对测试的影响封装把数据及对数据的操作封装在

7、一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故障的扩散。但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。继承对测试的影响继承实现了共享父类中定义的数据和操作,同时也可定义新的特征。子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性。使代码的重用率得到了提高也使故障的传播几率增加多态对测试的影响多态是指类中具有相似功能的不同函数用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。传统软件测试中经常使用静态分析技

8、术对代码进行分析;面向对象软件中,由于动态绑定和多态性的存在所带来的不确定性,给测试覆盖率的满足增大了难度。4.2扩大测试的视角面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA),面向对象设计(OOD),和面向对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。