软件测试基础PPT课件.ppt

软件测试基础PPT课件.ppt

ID:51038944

大小:423.50 KB

页数:67页

时间:2020-03-17

软件测试基础PPT课件.ppt_第1页
软件测试基础PPT课件.ppt_第2页
软件测试基础PPT课件.ppt_第3页
软件测试基础PPT课件.ppt_第4页
软件测试基础PPT课件.ppt_第5页
资源描述:

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

1、1软件测试技术基础PartⅡ软件测试方法华东交通大学软件学院2第5章面向对象软件的测试本章重点面向对象软件的特点什么是面向对象的单元?如何利用JUnit进行单元测试?5.1概述对象定义——对象是一个可操作的实体,它既包含了特定的数据,又包含了操作这些数据的代码,即方法。针对对象的测试对象的封装——信息隐藏对测试的影响对象的状态——对象状态的转化对象的生命周期——状态与生命期是否相符对象的交互——消息的发送和接受45.1概述类定义——是通过抽象数据类型的方法实现的一种数据类型,是具有共性的对象集合。对类的测试构造函数——不同的构造函数以

2、及是否调用其他对象析构函数(可选)——数据空间及时释放方法——关注前置条件和后置条件符合设计55.1概述封装定义:是将数据以及操作数据的方法关联起来,构成的一个具有类类型的对象的描述。封装要求类高度内聚,且耦合很松。测试的难点封装使得内部的实现细节隐藏起来,外界无法访问封装后对象的独立性加重集成测试的负担65.1概述继承定义——是类之间的一种联系,通过从某个类(称父类)派生可以得到一个新的类(称子类或派生类),该类具有父类的特点和功能,同时还具有新的特点和功能。给测试带来的挑战缺陷传播重复测试75.1概述多态定义:一个对外接口,多个内

3、在实现方法。分为参数多态和包含多态。一般通过动态测试来检查。85.1概述消息对象之间通过消息的传递产生相互作用,通过消息来请求执行某个操作。测试时应考虑消息的发送者消息的接收者消息所包含的参数95.1概述接口用于描述一系列规范的行为对接口的测试应注意接口包含的行为应与对应类的行为相符;接口往往与其他接口或类具有关系,应测试到所有可能的作用方式。面向对象技术的特点给测试带来的新问题具体表现为:(1)封装把数据及对数据的操作封装在一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故障的扩散

4、。但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。(2)继承实现了共享父类中定义的数据和操作,同时也可定义新的特征。子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性。继承使代码的重用率得到了提高,但同时也使故障的传播几率增加。(3)多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性,给测试覆盖率的活动带来新的困难。面向对象的软件测试与传统软件测试1数据成员是否满足数据封装的要求数据封装是数据和数据有关的操作的集合。检查数据成员是否满足数据封装的要求,基本原则

5、是数据成员是否被外界(数据成员所属的类或子类以外的调用)直接调用。当改变数据成员的结构时,是否影响了类的对外接口,是否会导致相应外界必须改动。值得注意,有时强制的类型转换会破坏数据的封装特性。8.2类测试例如:classHiden{private:inta=1;char*p="hiden";}classVisible{public:intb=2;char*s="visible";}…..…..Hidenpp;Visible*qq=(Visible*)&pp;在上面的程序段中,pp的数据成员可以通过qq被随意访问。1.继承的成员函数是否

6、都不需要测试?对父类中已经测试过的成员函数,两种情况需要在子类中重新测试:a)继承的成员函数在子类中做了改动;b)成员函数调用了改动过的成员函数的部分。Derived::Redefined()显然需要重新测试。对于Derived::Inherited(),如果它有调用Redefined()的语句(x=x/Redefined()),就需要重新测试,反之,无此必要。2.对父类的测试是否能照搬到子类?延用上面的假设,Base::Redefined()和Derived::Redefined()已经是不同的成员函数,它们有不同的服务说明和执行。

7、应该对Derived::Redefined()重新测试分析,设计测试用例。但由于面向对象的继承使得两个函数有相似,故只需在Base::Redefined()的测试要求和测试用例上添加对Derived::Redfined()新的测试要求和增补相应的测试用例。例如:Base::Redefined()含有如下语句if(value<0)message("less");elseif(value==0)message("equal");elsemessage("more");Derived::Redfined()中定义为if(value<0)me

8、ssage("less");elseif(value==0)message("Itisequal");else{message("more");if(value==88)message("luck");}在原有的测试上,

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

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

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