- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
处于组装的服务 基于程序的测试需要考虑 在同一个类内部一个服务调用另一个服务时的相互作用(类内消息) 从一个类到另一个类的消息(类间消息)。 加入检查相互作用的测试用例到测试用例组中,确定这种交互影响是否处理得当。 类内测试需要执行类的所有主要的状态。 组装测试 类组装 测试一个新类时,需要先测试在定义中所涉及的类,再考虑这些类的组装。 关系“is a”“is part of”和“refers to”建立了测试几个类时的次序之间的关联。一旦基本类测试完成,使用这些类的那些类可以接着测试,然后按层次继续测试下去。 总体组装 把所有组成完整软件的各个部分集合在一起。 在C++的主过程中,仅建立几个高层的和全局的类的实例,这些实例之间必须经常互相通信。 这种测试所选择的测试用例应当瞄准待开发软件的目标,并且应当提供数据给测试者,以确定软件开发是否与它的目标相吻合。 测试一个派生类 对基类和继承关系进行完全测试。 从基类的测试用例组复用已存在的测试用例到派生类的测试用例组中。这种技术基于类的带有祖先的层次关系,渐增地开发类的测试用例组,因此叫做分层增殖式测试。 我们首先安排一个针对单独的类的测试计划,然后考虑分层增殖式测试计划和算法。 (4) 调试(Debugging) 数据封装限定了许多用以修改数据值的手段,也限定了对错误的数据值进行调查以找出真正原因的功能。 某些面向对象的程序设计环境支持使用交互工具进行调试。 工具包括断点的设置、访问源代码、检查对象(包括修改数据值和表达式求值)及编辑源代码。 标准UNIX调试工具DBX已经做了扩充,可用于调试C++程序。 (5) 错误处理(Error Handling) 我们期望一个类能够自负错误处理的责任。类的实例负责定位和报告错误。 C在错误处理中使用状态码方法。各种不同的状态码的值能够指明任务的执行是成功还是失败,若是失败又是哪种程度的失败。 例如,C中函数“fopen”返回的状态码。如果打开失败,则返回零值;如果打开成功,则返回文件的标志。 使用状态码方法的难点在于:各层程序必须知道该层所调用函数的状态码,并且检验这些状态码及采用行动。 问题在比它发生的那一层更高的一层进行处理,这将产生比预想更高程度的耦合。 问题尽可能在它发生的那一层进行处理。例如,在fopen打开文件失败时,如果当前的文件名不存在,软件可以要求用户键入另一个文件名。 (6) 内建错误处理(Built_In Error Handling) Ada程序员可以利用语言所提供的例外处理机制帮助做错误处理。 一个“例外”所要做的事情是与众不同的处理。“例外处理器”是一段代码,一个特定的例外出现时调用。它可以是终止软件的执行,可以是发信号给一个更高层的例外处理器,还可以是对问题进行定位处理。 (7) 用户定义的错误处理 (User_Defined Error Handling) 有两种相对简单的错误处理技术,它们提供了打印出错信息和终止软件执行的能力。它们都不允许嵌套的错误处理。 第一种技术使用了一个全局错误处理器对象。每一个类都能对这个全局对象进行存取。 当在一个用户对象中检测出一个错误的时候,就把一个消息发送给这个全局对象。这个消息运载了一个字符串,它就是要被打印的出错信息,消息中还有一个整数,它指出错误的严重程度。消息格式为: ERROR_HANDLER.handle (Message to be printed, 1); ERROR_HANDLER将打印消息并终止应用的执行。 第二种用户定义错误处理的技术要求每个类都定义或再定义一个命名为error的操作。这个操作不应是类的共有界面部分,它应是一个隐蔽的实现部分,可以被一些公共操作调用以检测错误。这种error操作可以打印消息,在适当时候请求一些额外输入,在必要时终止软件的执行。 (8) 多重实现(Multiple Implementation) 同一个类可以多种方式实现。为此,软件库必须对库中的每一部分都能保留充足的信息,使得定义能同时关联到不止一个实现。 为了定义连接到几个实现所使用的关系。程序员应能指出要求的实例所在的类,并确定所期待的特定实现。 应用的实现 应用的实现是在所有的类都被实现之后的事情。 实际上,当把类开发出来时就已经实现了应用。 每个类提供了完成应用所需要的某种功能。 在C++和C中有一个main( )函数。可以使用这个过程来说明构成应用的主要对象的那些类的实例。 C++系统中主过程的两个主要职责就是建立实例和通过指针建立对象之间的通信。 以图形系统为例,首先建立一个用户界面的单一实例。一旦它建立起来,就发送一个消息,启动绘图程序的命令循环。 然后,这个对象担负起在系统寿命的其余时期协调
您可能关注的文档
最近下载
- 价值2万的哲纳理论(初级)培训课件.pdf VIP
- 湖北省武汉市部分学校2025~2026学年度高三年级九月调研考试英语+答案.pdf VIP
- 高中历史《国别史专题一:英国》复习资料整理.docx VIP
- 手术室低值耗材管理.pptx VIP
- 音乐剧介绍课件.ppt VIP
- 哲纳理论20110109宝图老师1248整理形态.doc VIP
- 药品GMP文件 005称量记录.doc VIP
- 哲纳理论第一期级篇之失败格局.doc VIP
- 20210622-华泰证券-房地产行业:公募REITs系列研究之三,未来已来.pdf VIP
- 新解读《GB_T 20833.1 - 2021旋转电机 绕组绝缘 第1部分:离线局部放电测量》最新解读.pptx VIP
文档评论(0)