面向对象的软件测试基础

面向对象的软件测试基础

ID:38341440

大小:301.81 KB

页数:49页

时间:2019-06-10

面向对象的软件测试基础_第1页
面向对象的软件测试基础_第2页
面向对象的软件测试基础_第3页
面向对象的软件测试基础_第4页
面向对象的软件测试基础_第5页
资源描述:

《面向对象的软件测试基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章面向对象的软件测试基础罗东俊ZSUJONE@126.COM主要内容10.1从测试视角看待面向对象10.2面向对象测试的层次10.3面向对象测试模型10.4面向对象测试部分的例子110.1从测试视角看待面向对象10.1.1测试面向对象软件的不同10.1.2测试视角10.1.3从测试视角的角度看待面向对象的概念210.1.1测试面向对象软件的不同从编程语言看,面向对象编程特点对测试产生了影响封装把数据及对数据的操作封装在一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故

2、障的扩散;但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。继承实现了共享父类中定义的数据和操作,同时也可以定义新的特征,子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性,继承使代码的重用率得到了提高,但同时也使故障的传播几率增加多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性,给测试覆盖率的活动带来新的困难。3测试面向对象软件的不同另一方面,面向对象的开发过程以及分析和设计方法也对测试产生了影响分析、设计和编码实现密切相关,分析模型可以映射为设计

3、模型,设计模型又可以映射为代码。因此,分析阶段开始测试,提炼以后可用于设计阶段,设计阶段的测试提炼后又可用于实现阶段的测试。4例如在传统的面向过程程序中,对于函数y=Function(x),只需考虑函数Function()本身的行为特点在面向对象程序中,不得不同时考虑基类函数Base::Function()的行为和继承类函数Derived::Function()的行为。通常,传统软件中存在的依赖关系有:变量间的数据依赖;模块间的调用依赖;变量与其类型间的定义依赖;模块与其变量间的功能依赖。而在面向对象软件中,除了存在上述依赖

4、关系外,还存在以下的依赖关系:类与类间的依赖;类与操作间的依赖;类与消息间的依赖;类与变量间的依赖;操作与变量间的依赖;操作与消息间的依赖;操作与操作间的依赖。5面向对象软件的测试内容模型测试类测试交互测试系统/子系统测试发布/自我测试610.1.2测试视角测试人员必须以一种对软件的方方面面都提出疑问的态度来思考软件,这种方法被称之为测试视角。测试视角包含以下几个方面:质疑:想验证软件的质量。客观:确保不能凭空想像。彻底:确保不要遗漏重要的部分。系统:检查是可再现的。710.1.3从测试视角的角度看待面向对象的概念对象消息接

5、口类继承多态8对象对象是指包含了一组属性以及对这些属性的操作的封装体。对象是软件开发期间测试的直接目标在程序运行时,对象被创建、修改、访问或删除,而在运行期间,对象的行为是否符合它的规格说明,该对象与和它相关的对象能否协同工作,这两方面都是面向对象软件测试所关注的焦点。9从测试视角的角度关于对象的观点对象的封装:封装使得已定义的对象容易识别,在系统中容易传递,也容易操纵。对象隐藏了信息:这使得对象信息的改变有时很难观察到,也加大了检查测试结果的难度。对象的状态:对象在生命期中总是处于某个状态的,对象状态的多变可能会导致不正常

6、的行为。对象的生命周期:在对象生命周期的不同阶段,要从各个方面检测对象的状态是否符合其生命周期。例如过早地创建一个对象或过早地删除一个对象,都是造成软件故障的原因。10消息执行对象某个操作的一种请求。包含操作的名称、实参,当然接收者也可返回值给发送者。例:ss.add(5,6)从测试视角的角度,关于消息的观点;消息有发送者:发送者决定何时发送消息,并且可能做出错误的决定;消息有接收者:接收者可能接收到非预期的特定消息,可能会做出不正确反应。消息可能包含实参:参数能被接收者使用或修改,若传递的参数是对象,则对象在消息处理前和处

7、理后,对象必须处于正确的状态,而且必须实现接收者所期望的接口。11接口接口是行为声明的集合。从测试视角的角度,关于接口的观点:接口封装了操作的说明,如果接口包含的行为和类的行为不相符,那么对这一接口的说明就不是令人满意的。接口不是孤立的,与其它的接口和类有一定的关系,一个接口可以指定一个行为的参数类型,使得实现该接口的类可被当作一个参数传递。12类类是具有相同属性和相同行为的对象的集合。类从规范和实现两个方面来描述对象。在类规范中,定义了类的每个对象能做什么;在类实现中,定义了类的每个对象如何做它们能做的事情。13类规范类规

8、范包括对每个操作的语义说明,包括前置条件、后置条件和不变量前置条件是当操作执行之前应该满足的条件后置条件是当操作执行结束之后必须保持的条件不变量描述了在对象的生命周期中必须保持的条件14发送者和接收者之间接口的定义当对一个操作进行说明时,可以使用保护性方法或约束性方法来定义发送者和接收者之

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

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

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