- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业论文毕业设计开题报告论文报告设计报告可行性研究报告
第14章 面向对象测试基础 ; 14.1 面向对象的单元测试 在面向对象的软件开发中,“封装”导致了类和对象的定义特点,这意味着类和类的实例(对象)包装了属性(数据)和处理这些数据的操作(也称为方法或服务)。软件的核心是“对象”,不像传统软件开发中的“单元”(或者说单元的概念改变了)。也就是说,封装起来的类和对象是最小的可测试单元。一个类可以包含一组不同的操作,而一个特定的操作也可能定义在一组不同的类中。因此,面向对象的软件单元测试与传统测试方法不一样,它的含义发生了很大变化。 ; 面向对象软件的单元测试不是独立地测试单个操作,而是把所有操作都看成类的一部分,全面地测试类和对象所封装的属性和操纵这些属性的操作整体。具体地说,在面向对象的单元测试中不仅要发现类的所有操作中存在的问题,还要考查一个类与其他的类协同工作时可能出现的错误。现以实例说明:在一个类层次中,操作A在超类中定义并被一组子类继承,每个子类都可使用操作A,但是A要调用子类中定义的操作并处理子类的私有属性。由于在不同的子类中使用操作A的环境有所不同,因此有必要在每个子类的语境中测试操作A。这就是说,当测试面向对象软件时,传统的单元测试方法是不完备的,我们不能再独立地对操作A进行测试。 ; 14.2 面向对象的集成测试 1.基于线程的测试(Thread_based Testing) 基于线程的测试把响应系统的一个输入或一个事件所需要的一组类集成起来进行测试。应当分别集成并测试每个线程,同时为了避免产生副作用再进行回归测试。该测试需要基于系统的动态模型。 ; 2.基于使用的测试(Use_based Testing) 基于使用的测试首先测试几乎不使用服务器类的那些类(称为独立类);接着测试使用独立类的最下层的类(称为依赖类);然后,对根据依赖类的使用关系,从下到上一个层次一个层次地持续进行测试,直至把整个软件系统测试完为止。 除了上述两种测试方法,还有一种集群测试法,是面向对象软件集成测试的一个步骤。为了检查一群相互协作的类,用精心设计的测试用例,力图发现协作错???,即集群测试。通过研究对象模型可以确定协作类。 为减少测试工作的工作量,在进行集成测试时,可参考类关系图或实体关系图,确定不需要被重复测试的部分,从而优化测试用例,使测试能够达到一定的标准。 ; 14.3 面向对象的确认测试与系统测试 通过对软件的单元测试和集成测试,仅能确认软件开发的功能是正确的,不能确认在实际运行时,它是否满足用户要求,是否大量存在与实际使用条件下的各种应用相矛盾的错误。为此在完成上述测试活动后,还必须经过规范的确认测试和系统测试。 面向对象软件的确认测试或系统测试与传统的确认测试一样,通过设计测试用例,主要检查用户界面和用户可识别的输出,不再考虑类之间相互连接的细节。测试人员应该认真研究动态模型和描述系统行为的脚本,为系统的输入信息设计出错处理的通路,模拟错误的数据和软件界面可能发生的错误,设计出合理的测试用例。 ; 14.4 设计测试用例 14.4.1 测试用例概述 类似于用例(Use Case)的定义,测试用例(Test Case)是为实现某个特殊目标(验证或者找错)而执行系统的过程。它包括精心设计的一组测试输入、执行条件以及预期结果,以便测试某个程序功能或者路径是否满足特定需求。 测试用例包括对特定的软件产品进行测试的任务描述,体现测试方案、方法、技术和策略,其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。 ; 测试用例是针对软件产品的功能、业务规则和业务处理所设计的测试方案。对软件的每个特定功能或运行操作路径的测试构成了一个个测试用例。不同类别的软件,测试用例的策略、方法和侧重点都是不同的。例如,企业信息管理类软件,其需求不确定或者变化较为频繁,通常的策略是把测试数据和测试脚本从测试用例中划分出来,以供重用。 目前,面向对象软件的测试用例的设计方法还处于研究、发展阶段。1993年,Berard提出了指导面向对象的软件测试用例设计的方法,要点如下: ; class Hd{ int a=1; char *h=“Hd”;} class Vb{ public:int b=2; char *v=Vb;} Hd p; Vb *q=(Vb *)p; 这样,p的私有数据成员a可以通过q被随意访问,破坏了类Vb的封装性。 ; 此外,继承不会减少对子类的测试,相反,会使测试过程更加复杂化。因此,继承也给测试用例的设计带来负面影响。当父类与子类的环境不同时,父类的测试用例对子类没有什么使用价值,必须为子
您可能关注的文档
- 日常饮食卫生教材教学课件.ppt
- 日语能力N2级语法教材教学课件.ppt
- 日语视听说_第6课_日本各地方教材教学课件.ppt
- 日语视听说_第7課 ニュアンス教材教学课件.ppt
- 日语视听说_第11课_日本料理1教材教学课件.ppt
- 日语视听说_第二课教材教学课件.ppt
- 日语视听说_第十二课_日本料理2教材教学课件.ppt
- 日语视听说_第十课_省略教材教学课件.ppt
- 日语视听说_第五课_副业_上教材教学课件.ppt
- 日语视听说_高级_第1課 風邪教材教学课件.ppt
- 软件工程与开发技术(西电第二版)第15章_软件工程项目管理基础教材教学课件.ppt
- 软件工程与开发技术(西电第二版)第17章_软件计划教材教学课件.ppt
- 软件工程与开发技术(西电第二版)第21章_能力成熟度模型教材教学课件.ppt
- 软件工程与开发技术(西电第二版)第22章_个人软件过程(PSP)教材教学课件.ppt
- 软件工程与开发技术(西电第二版)第23章_小组软件过程教材教学课件.ppt
- 软件项目管理第5章_软件项目成本估算教材教学课件.ppt
- 软件项目管理第6章_软件项目进度管理教材教学课件.ppt
- 软件项目管理第7章_软件项目资源管理与分配教材教学课件.ppt
- 软件项目管理第8章_软件项目风险管理教材教学课件.ppt
- 软件项目管理第10章_团队管理和沟通教材教学课件.ppt
文档评论(0)