[工学]软件工程课程课件13.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]软件工程课程课件13

第十一章 面向对象实现 11.1程序设计语言 面向对象设计结果,翻译成用某种程序设计语言书写的面向对象程序 测试并调试面向对象的程序 11.1程序设计语言 面向对象语言的优点 一致的表示方法 可重用性 可维护性 11.1程序设计语言 一般说来,纯面向对象语言着重支持面向对象方法研究和快速原型的实现,而混合型面向对象语言的目标则是提高运行速度和使传统程序员容易接受面向对象思想 面向对象语言的技术特点 1. 支持类与对象概念的机制 2. 实现整体部分(即聚集)结构的机制 3. 实现一般特殊(即泛化)结构的机制 4. 实现属性和服务的机制 5. 类型检查 6. 类库 7. 效率 8. 持久保存对象 9. 参数化类 10. 开发环境 11.1程序设计语言 选择面向对象语言 1. 将来能否占主导地位 2. 可重用性 3. 类库和开发环境 4. 其他因素 11.2程序设计风格 提高可重用性 1. 提高方法的内聚 2. 减小方法的规模 3. 保持方法的一致性 4. 把策略与实现分开 5. 全面覆盖 6. 尽量不使用全局信息 7. 利用继承机制 11.2程序设计风格 提高可扩充性 1. 封装实现策略 2. 不要用一个方法遍历多条关联链 3. 避免使用多分支语句 4. 精心确定公有方法 11.2程序设计风格 提高健壮性 1. 预防用户的操作错误 2. 检查参数的合法性 3. 不要预先确定限制条件 4. 先测试后优化 接口 角色隔离 角色隔离 继承 部分与整体 12.3 测试策略 面向对象的单元测试 最小的可测试单元是封装起来的类和对象。 一个类可以包含一组不同的操作, 而一个特定的操作也可能存在于一组不同的类中。 不能再孤立地测试单个操作,而应该把操作作为类的一部分来测试。 12.3 测试策略 面向对象的集成测试 是基于线程的测试(thread-based testing),这种策略把响应系统的一个输入或一个事件所需要的一组类集成起来。分别集成并测试每个线程,同时应用回归测试以保证没有产生副作用 是基于使用的测试(use-based testing),这种方法首先测试几乎不使用服务器类的那些类(称为独立类),把独立类都测试完之后,接下来测试使用独立类的下一个层次的类(称为依赖类)。对依赖类的测试一个层次一个层次地持续进行下去,直至把整个软件系统构造完为止。 12.3 测试策略 面向对象的确认测试 在确认测试或系统测试层次,不再考虑类之间相互连接的细节。和传统的确认测试一样,面向对象软件的确认测试也集中检查用户可见的动作和用户可识别的输出。 12.4 设计测试用例 测试类的方法 随机测试 划分测试 基于故障的测试 12.4 设计测试用例 随机测试 下面通过银行应用系统的例子,简要地说明这种测试方法。 该系统的account(账户)类有下列操作:open(打开),setup(建立),deposit(存款),withdraw(取款),balance(余额),summarize(清单),creditLimit(透支限额)和close(关闭) 上列每个操作都可以应用于account类的实例,但是,该系统的性质也对操作的应用施加了一些限制,例如,必须在应用其他操作之前先打开账户,在完成了全部操作之后才能关闭账户。 即使有这些限制,可做的操作也有许多种排列方法。一个account类实例的最小行为历史包括下列操作: open·setup·deposit·withdraw·close这就是对account类的最小测试序列。 但是,在下面的序列中可能发生许多其他行为: open·setup·deposit·〔deposit|withdrew|balance|summarize|creditLimit〕n·withdraw·close 12.4 设计测试用例 从上列序列可以随机地产生一系列不同的操作序列,例如: #r1:open·setup·deposit·deposit·balance·summarize·withdraw·close #r2:open·setup·deposit·withdraw·deposit·balance·creditLimit·withdraw·close 12.4 设计测试用例 划分测试 把输入和输出分类,然后设计测试用例以测试划分出的每个类别。下面介绍划分类别的方法。 基于状态的划分 这种方法根据类操作改变类状态的能力来划分类操作。让我们再一次考虑account类,状态操作包括deposit和withdraw,而非状态操作有balance,summarize和creditLimit。 设计测试用例,以分别测试改变状态的操作和不改变状态的操作。例如,用这种方法可以设计出如下的测试用例: 测试用例#p1:open·

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档