- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Thank You (3)系统集成策略 系统测试是从用户的角度去评估一个软件。因此,程序内部的设计和实现的细节在这个层次已不再重要,而是以软件的实际功能需求为依据,对整个软件系统进行全方面测试。 5.1.6 面向对象的测试模型 面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA)、面向对象设计(OOD)、和面向对象编程(OOP)三个阶段。针对这种开发模型,结合传统的测试步骤的划分,我们把面向对象的软件测试分为:面向对象分析的测试(OOAT)、面向对象设计的测试(OODT)、面向对象编程的测试(OOPT)。 (1)面向对象分析的测试 在前面介绍的面向对象分析阶段,主要工作是需求分析和对类、对象和对结构的设计,在确定需求分析以后,会形成面向对象的分析文档,因此,该阶段的测试主要是针对文档的测试,其考虑的方面包括: ① 对认定的对象的测试; ② 对认定的结构的测试; ③ 对认定的主题的测试; ④ 对定义的属性和实例关联的测试; ⑤ 对定义的服务和消息关联的测试。 (2)面向对象设计的测试 在前面介绍的面向对象设计阶段,主要工作是对面向对象分析的阶段归纳出的类和结构进行详细的设计,从而构造成类库,实现分析结果对问题空间的抽象。由此可见,面向对象设计是对面向对象分析的进一步细化和更高层的抽象。在设计完成以后,同样会形成面向对象的设计文档。因此,该阶段的测试同样是针对文档的测试,其考虑的方面包括: ① 对认定的类的测试; ② 对构造的类层次结构的测试; ③ 对类库的支持的测试。 (3)面向对象编程的测试 面向对象程序是通过对类的操作来实现软件功能的。更确切地说,是能正确实现功能的类,通过消息传递来协同实现设计要求。因此,在面向对象编程的测试中,需要我们忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格上,其考虑的方面包括: ① 数据成员是否满足数据封装的要求; ② 类是否实现了要求的功能。 LOGO 5.2面向对象的单元测试 在面向对象软件的设计和开发中,说到底就是对类的设计和开发。因为面向对象软件的功能的实现,是由类通过消息传递来完成的。因此,面向对象的单元测试,实际就是对类的测试。通过前面的测试策略介绍,类测试内容包括:基于服务的测试、基于状态的测试、基于响应状态的测试,本文将着重介绍前两种类测试技术。 Kung等人提出的块分支图(Block Branch Diagram,BBD)是一种比较好的类的服务测试模型,如图5-1所示。 BBD五元组可写为f=(Du,Dd,P,Fe,G),其中:Du={di| di∈f 引用的全局数据或类数据};Dd={di| di∈f修改了全局数据或类数据};P={Xlθl,X2θ2,…,Xnθn,Xn+1θn+1∈f的参数表和函数返回值,θi为↓(表示输入)、↑(表示输出)、↓↑(表示输入/输出),若Xn+1缺省,则无返回值};Fe={Fi| Fi∈被f 调用的其他服务};G是一个有向图,叫块体,它是按照控制流图的思想修改f的程序流程图而来的,表示f的控制结构,f中的复合条件判断被分解,每个判断框只有单个的条件。 5.2.1 基于服务的类测试技术 ? 基于服务的类测试主要考察封装在类中的一个方法对数据进行的操作。它可以采用传统的白盒测试方法,如:基路径法、插桩法、边界值法、排错法、等价类法等。但由于受面向对象软件测试技术发展水平等方面因素的限制,测试人员在选择测试用例时往往都是根据直觉和经验来进行,给测试带来很大的盲目性;同时由于测试人员的个性及倾向性也使得选择的测试用例仅能测试出其所熟悉的某一方面的错误,许多隐含的其他错误不能被检测出来,这在无形中降低了软件的可靠性。为克服软件测试的盲目性和局限性,保证测试的质量,提高软件的可靠性,我们提出采用Kung提出的块分支图法。 1.基于服务的类测试策略 BBD的获得方法通常可由源程序画出的流程图构造出来,或者在软件的分析设计阶段构造出。整个模型支持路径测试、等价类划分和边界值的测试方法,可以帮助测试人员全面地、有针对性地构造测试用例,我们可以将源程序的流程进行抽象,代码如下: 由此得到的BBD图如图5-2所示,借助BBD即可对类进行测试。 2.测试实例一 下面用JAVA设计一个类Rectangle,要求如下。 (1)类中的私有变量存放Rectangle的长和宽,并且设置它们的默认值为1; (2)通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内; (3)求周长Perimeter。 其程序如下: 对于以上类Rectangle中Set服务的BBD图
您可能关注的文档
- 《新》第三章 选举制度.ppt
- 《新》第三章 存款业务的核算.ppt
- 《新》第三章 大学生职业素养.ppt
- 《新》第三章 煤业公司管理制度.doc
- 《新》第三章 软件工程基础.ppt
- 《新》第三章 习题(带答案).doc
- 《新》第三章 项目管理目标及组织机构设置.doc
- 《新》第三章 小学生心理健康与辅导的基本理论与方法.ppt
- 《新》第三章市场环境分析.ppt
- 《新》第十二册导学案.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)