- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8软件工程第九章大同大学-4,山西大同大学,大同大学,山西大同大学教务处,山西大同大学怎么样,大同大学教务处,大同大学官网,台湾大同大学,山西大同大学宿舍,山西大同大学教务处网
第7节 面向对象测试 面向对象测试的特点 面向对象的测试策略 面向对象软件的测试用例设计 RUP的测试活动 面向对象测试的特点 面向对象测试的整体目标(以最小的工作量发现最大数量的错误)与传统软件测试的目标是一致的。但是OO程序的性质改变了测试策略与战术。 1、传统测试主要是基于程序运行过程的,即选择一组输入数据运行被测程序,通过比较实际结果与预期结果从而判断程序是否有错。而OO程序中的对象通过发送消息启动相应的操作,并且通过修改对象的状态达到转化系统运行状态的目的,同时,在系统中还可能存在并发活动的对象。应此传统的测试方法不再适应。 2、传统程序的复用以调用公共模块为主,运行环境是连续的。而面向对象复用很多是用继承实现的,子类继承过来的同名操作有新的语境,必须要重新测试。随着继承层次的加深,测试的工作量和难度也随之增加。由继承支持的多态的特性同样给测试带来了难度。 面向对象测试的特点 3、面向对象软件的开发是渐进、演化的开发,从分析、设计到实现使用相同的语义结构(如类、属性、操作、消息)。因此要扩大测试的视角,对分析模型、设计模型进行测试。例如,在分析模型中定义了一个无用的属性,围绕着这个属性可能会带来以下错误: 在 分析模型中: ? 定义了一个与该属性有关的操作: ? 导致了不正确的类关系: ? 为共享属性和操作创建了不必要的子类: ? 为适应该属性和操作刻画了其类和系统的行为。 如果问题在分析阶段未被发现,再将错误继续传播,使得设计模型可能存在: ? 与该类有关的不合适的子系统或任务的划分: ? 与该无用属性有关操作的算法设计: ? 与该无用属性有关操作的接口及消息模式。 面向对象测试的特点 如果问题在设计阶段仍未被检测到,并传送到编码活动中,则大量的工作将被花在生成那些实现一个不必要的属性、不必要的操作、不必要的消息通信以及很多其它相关问题的代码。 由于分析设计模型不能被执行,所以不能进行传统意义上的测试。只能通过正式技术复审来检查分析模型和设计模型的一致性。 4、 面向对象开发工作的演化性使面向对象测试活动也具有演化性。每个构件产生过程中,单元测试随时进行,迭代的每一个构造都要进行集成测试,后期迭代还包括大量的回归测试,迭代结束时进行系统测试。 是否设计模式的使用将减轻OO系统的繁重测试?Binder认为每次复用是一个新的使用语境,需要重新谨慎的测试。为了获得OO系统的高可靠性,可能需要更多的而不是更少的测试。 面向对象的测试策略 传统的测试策略是从小型测试开始,逐步走向大型测试,即从单元测试开始,逐步进入集成测试,最后进行系统测试。在传统测试中,单元测试集中在最小的可编译程序单位(子程序、过程、函数),一旦这些单元都被独立测试后,被集成到程序结构中进行一系列的回归测试,以发现由于模块的接口和新单元加入所导致的副作用而带来的错误。最后,对系统整体进行测试以发现需求中的错误。 面向对象软件测试的目标与结构化软件测试的目标相同,都是为了找出软件开发中的错误,提高软件的质量。结构化软件的测试策略是从组成系统的最小单元——模块开始进行测试,然后逐步集成进行小系统测试、系统测试,最后在用户的参与下进行验收测试。 面向对象的测试策略 1、单元测试(类或对象或组成的小簇) OO语境中,单元的概念发生了变化。封装驱动了类或对象的定义,即每个类或对象封装了属性和操作这些属性的服务,最小的可测试单位不是个体模块,而是封装的类或对象。类包含一组不同的操作,并且某个特殊操作可能作为类的一部分存在(如子类中继承的操作),因此,单元实际上是类或若干相关的类组成的小簇。 单元测试不再孤立的测试单个操作(这是传统的单元测试的视角),而是将操作作为类的一部分。 面向对象的测试策略 面向对象的测试策略 单元测试主要使用的图模型是:类图、类的状态图、活动图。 2、集成测试(大簇、构件、子系统) 这里的构件或子系统应该与系统的体系结构相对应。集成测试主要以检查这些构件、子系统的接口为目的。对于类之间的集成,Roger S. Pressman认为传统的自顶向下和自底向上集成的测试策略没有意义。他提出了两种集成测试策略: (1)基于线程的测试(thread-ba
您可能关注的文档
最近下载
- T∕CACM 1066.2-2018 中医治未病标准化工作指南 第2部分:标准体系.docx VIP
- 技术服务措施及保障措施方案.docx VIP
- 新媒体环境下的微博营销【文献综述】.doc VIP
- 2021钻床工考试-初级钻床工考试(精选试题).doc VIP
- 化工企业双重预防机制.pdf VIP
- (铁总计统〔2017〕177号 )中国铁路总公司关于进一步加强铁路建设项目征地拆迁工作和费用管理的指导意见.pdf VIP
- 深圳新桥街道万丰社区大朗山片区城市更新项目.pdf
- 中小学劳动教育课程如何创新与实施.docx VIP
- 大航海时代OL陆战技巧学习指南.docx
- 集中式山地光伏电站方阵区直流电缆敷设技术要求.pdf VIP
文档评论(0)