面向对象的实现

上传人:xx****x 文档编号:242914477 上传时间:2024-09-11 格式:PPT 页数:12 大小:96.50KB
返回 下载 相关 举报
面向对象的实现_第1页
第1页 / 共12页
面向对象的实现_第2页
第2页 / 共12页
面向对象的实现_第3页
第3页 / 共12页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,面向对象的实现,1,概述,所谓面向对象实现,主要包括下述两项工作:,把面向对象设计结果翻译成用某种程序设计语言书写的面向对象程序。,测试并调试面向对象程序。,面向对象程序的质量基本上由面向对象设计的质量决定,但是,所采用的编程语言的特点和程序设计风格也将对程序的可靠性、可重用性和可维护性产生深远影响。,目前,测试仍然是保证软件可靠性的主要措施,对于面向对象的软件来说,情况也是如此:,面向对象测试的目标,也是用尽可能低的测试成本发现尽可能多的软件错误。,但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点。,2,程序设计语言,面向对象语言的优点,一致的表达能力、可重用性、可维护性,面向对象语言的技术特点,支持类与对象概念的机制可重用性:,允许动态创建对象。,实现整体-部分(即聚集)结构的机制:,使用指针。,实现一般-特殊(即泛化)结构的机制:,解决名字冲突。,实现属性和服务的机制:,实例连接,属性的可见性,属性值的约束;消息连接,服务的可见性,动态联编(选择实现特定服务的适当算法的能力)。,类型检查:,C+是强类型语言。,类库:,包容类,接口类。,效率:,高效算法、好的数据结构、保持类结构不变。,持久保存对象:,增加对象存储管理功能。,参数化类:,定义一个参数化的类模板。,开发环境:,编辑、编译、解释、浏览、调试工具。,3,程序设计风格,提高可重用性,提高方法的内聚,减小方法的规模,保持方法的一致性,把策略与实现分开,全面覆盖,尽量不使用全局信息,利用继承机制,提高可扩充性,封装实现策略,不要用一个方法遍历多条关联链,避免使用多分支语句,精心确定公有方法,提高健壮性,预防用户的操作错误,检查参数的合法性,不要预先确定限制条件,先测试后优化,通过调用公用方法实现代码重用,通过因子分解实现代码重用,4,测试策略,基本策略,从“小型测试”开始,逐步过渡到“大型测试”,即从单元测试开始,逐步进入集成测试,最后进行确认测试和系统测试。,面向对象的单元测试,最小的可测试单元是封装起来的类和对象;,一个类通常包含一组不同的操作,而一个特定的操作也可能存在于一组不同的类中;,把操作作为类的一部分来测试。,面向对象的集成测试,基于线程的测试:,把响应系统的一个输入或一个事件所需要的那些类集成起来,分别集成并测试每个线程,同时应用回归测试以保证没有产生副作用;,基于使用的测试:,先测试独立类,再测试依赖类。,面向对象的确认测试,不再考虑类之间互相连接的细节;,集中检查用户可见的动作和用户可识别的输出;,根据动态模型和描述系统行为的脚本来设计确认测试用例,。,5,设计测试用例:,测试类的方法1,与传统软件测试(由软件的输入处理输出视图或实现模块的算法驱动测试用例的设计)不同,面向对象测试关注于设计适当的操作序列以检查类的状态。,测试类的方法,随机测试,让类实例随机地执行一些类内定义的操作,以测试类状态。,如果应用系统的性质对操作的应用施加了一些限制,则可在最小操作序列的基础上随机增加一些操作,作为测试该类的测试用例。,6,设计测试用例:,测试类的方法2,划分测试,先把输入和输出分类,然后设计测试用例以测试划分出的每个类别。,基于状态划分:,根据类操作改变类状态的能力来划分类操作,然后设计测试用例,分别测试改变状态的操作和不改变状态的操作。,基于属性划分:,根据类操作使用某个关键属性的情况来划分类操作。通常,把类操作划分成使用属性、修改属性、不使用也不修改属性等3类,然后设计测试用例,分别测试每类操作。,基于功能划分:,根据类操作完成的功能来划分类操作,然后为每个类别的操作设计测试序列。,7,设计测试用例:,测试类的方法3,基于故障的测试,与传统的错误推测法类似,也是首先推测软件中可能有的错误,然后设计出最可能发现这些错误的测试用例。,为了推测出软件中可能有的错误,应该仔细研究分析模型和设计模型,而且在很大程度上要依靠测试人员的经验和直觉。,如果推测得比较准确,则使用基于故障的测试方法能够用相当低的工作量发现大量错误;反之,如果推测不准,这种方法的效果并不比随机测试技术的效果好。,8,设计测试用例:,集成测试技术1,对类间协作进行测试,可以使用随机测试方法和划分测试方法,以及基于情景的测试和行为测试来完成。,9,设计测试用例:,集成测试技术2,多类测试,随机测试:用下列步骤来生成多个类的随机测试用例,对每个客户类,使用类操作符列表来生成一系列随机测试序列;这些操作符向服务类实例发送消息。,对所生成的每个消息, 确定协作类和在服务器对象中的对应操作符。,对服务器对象中的每个操作符(已经被来自客户对象的消息调用),确定传递的消息。,对每个消息,确定下一层被调用的操作符,并把这些操作符结合进测试序列中。,划分测试,多个类的划分测试方法,类似于单个类的划分测试方法。,但是,对于多类测试来说,应该扩充测试序列以包括那些通过发送给协作类的消息而被调用的操作。,另一种划分测试方法,根据与特定类的接口来划分类操作。,还可以用基于状态的划分,进一步精细划分类操作。,10,学生课程注册系统的类-协作图,11,设计测试用例:,集成测试技术3,从动态模型导出测试用例,类的状态图有助于导出测试该类(及与其协作的那些类)的动态行为的测试用例。,设计出的测试用例应该覆盖该类的所有状态,也就是说,操作序列应该使得该类实例遍历所有允许的状态转换。,在类的行为导致与一个或多个类协作的情况下,应该使用多张状态图以跟踪系统的行为流。,12,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!