- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件工程实验报告
实验课程:软件测试
实验名称:面向对象的类测试技术
实验名称:
班级:
学号:姓名:
日期:年月日
—实验目的:
了解面向对象测试技术。
二面向对象软件测试介绍
1 面向对象的测试模型
面向对象开发模型:OOA, OOD, OOP。OOA:把E-R图和语义网络模型,即信息造型中的概念,与 OOP 中的重要概念结合在一起而形成的设计方法。OOD:“造型的观点”,以OOA为基础归纳类,并建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象,是OOA 的进一步细化和更高层的抽象。OOP:继承使代码重用率提高,同时错误传播的概率也提高。多态使OO程序对外呈现出强大的处理能力,但同时使得程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。
面向对象测试的层次与数据流
2 面向对象软件的测试策略
1面向对象分析的测试
面向对象分析
是把E-R图和语义网络模型,即信息造型中的概念,与面向对象程序设计语方中的重要概念结合在一起而形成的分析方法。通常以问题空间的图表的形式进行描述
分析方法
直接映射问题空间,全面地将问题空间中实现功能的现实抽象化。将问题空间中的实例抽象为对象,用对象的结构反映问题空间的
复杂实例和复杂关系,用属性和服务表示实例的特性和行为。
面向对象分析缺点
对问题空间分析抽象的不完整,会影响软件的功能实现,导致软件开发后期产生大量原本可避免的修补工作;一些冗余的对象或结构类的选定,程序的整体结构和增加程序员不必要的工作量,因此OOA测试的重点在其完整性和冗余性
OOA测试划分的五个方面
对认定的对象的测试、对认定的结构的测试、对认定的主题的测试、对定义的属性和实例关联的测试、对定义的服务和消息关联的测试
面向对象设计(OOD)的测试
面向对象设计(OOD)
采用?造型的观点?,以OOA为基础归纳出类,并建立类结构或进一步构造类库,以实现分析结果对问题空间的抽象。OOD归纳的类即可以是对象的简单延续,也可以是不同对象的相同或相似的服务
OOD与OOA
OOD是OOA的进一步细化和更高层的抽象,所以OOD、OOA的界限很难区分,OOD确定类和类结构不仅是满足当前需求分析要求,更重要是通过重新组合或加以适当的补充,方便实现功能重用和扩增。因此,对OOD的测试,建议针对功能的实现和重用以及OOA结果的分析
OOD测试划分的三个方面1、认定的类的测试
2、构造的类的层次结构测试
3、类库支持的测试
面向对象编程(OOP)的测试
面向对象程序
把功能的实现分布在类中,能正确实现功能的类,通过消息传递来协同实现设计要求的功能。将出现的错误精确的确定在某一具体的类上。
测试重点
忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格上
测试方面
1、类的封装
2、类的功能
面向对象软件的单元测试
可以将一些传统的单元测试方法在面向对象软件的单元测试中使用,如等价类划分、因果图、边界值分析法、逻辑覆盖法、路径分析法、程序插桩法,单元测试一般建议由程序员完成
单元级测试的测试分析和测试用例,规模和难度均远小于对整
个系统的测试分析和测试用例,并且对语句应该有100%的代码执行覆盖率。
设计测试用例选择输入数据的两个假设:
如果函数(程序)对某一类输入中的一个数据正确执行,对同类中的基他输入也能正确执行(等价类)
如果函数(程序)对某一复杂度的输入正确执行,对更高复杂度的输入也能正确执行
针对继承性,BrianMarick两方面的考虑
继承的成员函数是否都不需要测试:当继承的成员函数在子类中做了改动;成员函数调用了改动过的成员函数的部分这两种情况需要对子类重新测试
对父类的测试是否能照搬到子类:可以重新测试或在父类
原有的测试要求和测试用例上增加新的测试要求和测试用例,主要针对子类中变动的部分进行测试
面向对象软件的集成测试
传统的自顶向下或自底向上的集成测试策略在面向对象软件的集成测试中无意义,OO软件的集成测试需要在整个程序编译完成后进行,面向对象程序具有动态特性,程序的控制流无法确定,只能对编译完成的程序做基于黑盒子的集成测试
面向对象软件的集成测试两种策略
基于线程的测试(Threadbasedtesting):集成对响应系统的一个输入或事件所需的一组类,每个线程分别进行集成和测试,应用回归测试以保证没有产生副作用。
基于使用的测试(Usebasedtesting):通过测试那些几乎不使用服务器类的的类(独立类)而开始构造系统,在独立类测试完成后,下一层中使用独立类的类(依赖类)被测试,这个依赖类层次的测试序列一直持续到构造完整个系
您可能关注的文档
最近下载
- IGxA说明书.pdf
- 中国特色大国外交和推动构建人类命运共同体 (修订).pptx VIP
- 2016年度一师一优课,一课一名师随州市级优课评选通报.PDF
- EN 12983-1-2023 用于炉具、炊具、加热铁架上的家用厨具 第一部分:基本要求.pdf
- 活力餐饮演唱会活动执行方案.pdf VIP
- 2024年度企业所得税汇算清缴申报表修订介绍(外部培训).pptx
- 6-1《小数位数相同的小数加减法 (例1)》课件 四年级下册数学核心素养目标(人教版).ppt
- 群星演唱会策划方案3篇.doc
- 北京市第四中学2019_2020学年高一生物下学期期中试题.pdf VIP
- 中国特色大国外交和推动构建人类命运共同体.pptx
文档评论(0)