首页计算机计算机软件软件工程 12 第十二章 面向对象实现.pptx

12 第十二章 面向对象实现.pptx

页数:17页文件大小:122.4 KB来源: 软件工程ppt课件

本课件讲解面向对象实现阶段的程序设计语言选择与程序设计风格,介绍面向对象的测试策略与测试用例设计思路,并分析面向对象测试区别于传统测试的若干特点。

第12章章节页,指出使用面向对象语言时编译程序可自动把面向对象概念映射到目标程序
语言发展页,指出Smalltalk-80引入方法与消息等概念而使面向对象广泛流行的是C++
技术特点页,列出支持类与对象、实现聚集与泛化结构及类型检查等应考虑的技术特点
查看本课件的文字版(共 17 页,供检索与复制)

第1页:第12章 面向对象实现

第12章 面向对象实现:2.1.1面向对象语言的优点使用面向对象语言时,编译程序可以自动把面向对象概念映射到目标程序中。使用非面向对象语言编写面向对象程序,则必须由程序员自己把面向对象概念映射到程序中

第2页:第一个面向对象语言

第一个面向对象语言:1980年的smalltalk-80发展了Simula-67的对象和类的概念,并引入了方法、消息、元类及协议等概念,所以有人将smalltalk80称为第一个面向对象语言。但是,使面向对象广泛流行的是C++

第3页:面向对象语言的技术特点

面向对象语言的技术特点:选择面向对象语言时应考虑的技术特点

  • 1.支持类与对象概念的机制
  • 2.实现整体-部分(聚集)结构的机制
  • 3.实现一般-特殊(泛化)结构的机制
  • 4.实现属性和服务的机制
  • 5.类型检查

第4页:类库、效率与开发环境

类库、效率与开发环境

  • 6.类库7.效率
  • 8.持久保存对象
  • 9.参数化类
  • 10.开发环境

第5页:选择面向对象语言

选择面向对象语言

  • 1.将来能否占主导地位
  • 2.可重用性
  • 3.类库和开发环境
  • 4.其他因素有否提供技术支持?提供开发人员什么开发平台?对及其性能的需求?集成已有软件的容易程度

第6页:程序设计风格

程序设计风格:12.2.1提高可重用性12.2.2提高可扩充性12.2.3提高健壮性

第7页:面向对象的单元测试

面向对象的单元测试:测试策略12.3.1面向对象的单元测试基类:操作A:X子类:操作A1:XA2:XA3:X有必要在每个子类中测试操作X不孤立地测试单个操作(函数),而是把操作作为类的一部分进行测试

第8页:面向对象的集成测试

面向对象的集成测试

  • 基于线程的测试(thread based testing)将响应系统的一个输入或一个事件所需要的哪些类集成起来测试
  • 基于使用的测试(use based testing)先测试独立类,再测试使用独立类的下一层次的类(依赖类),重复直至完毕

第9页:面向对象的确认测试

面向对象的确认测试:主要是根据动态模型和描述系统行为的脚本来设计确认测试用例

第10页:测试类的方法与随机测试

测试类的方法与随机测试:设计测试用例12.4.1测试类的方法1.随机测试ATM系统中account(帐户)类的操作有:Open(打开)、Setup(建立)、Deposit(存款)、Withdraw(取款)、Balance(余额)、Summarize(清单)、CreditLimit(透支限额)、Close(关闭)

第11页:随机测试用例

随机测试用例:可以随机地产生一系列不同的操作序列:测试用例1:Open.Setup.Deposit.Balance.Summarize.Withdraw.Close测试用例2:Open.Setup.Withdraw.Deposit.Balance.CreditLimit.Close

第12页:基于状态的划分

基于状态的划分

  • 2.划分测试(类似于等价类划分)
  • 基于状态的划分改变Account类状态的操作:deposit, withdraw;不改变Account类状态的操作:balance, summarize, creditLimit测试用例
  • 1.open.setup.deposit.deposit.withdraw.withdraw.close
  • 2.open.setup.balance.summarize.creditLimit.close

第13页:基于属性的划分

基于属性的划分:2)基于属性的划分根据类操作使用的属性来划分操作。例,按属性Balance分可三类:使用Balance的操作;不使用Balance的操作;不使用也不修改balance的操作

第14页:基于功能与故障的测试

基于功能与故障的测试

  • 基于功能的划分依据类操作完成的功能来划分类操作。例,初始化操作:open,setup计算操作:deposit,withdraw查询操作:balance, summarize, creditLimit
  • 3.基于故障的测试一般依靠经验和直觉,类似于错误推测测试法

第15页:多类测试

多类测试:集成测试方法测试类协作可以使用随机测试方法、划分测试方法、行为测试等

第16页:从动态模型导出测试用例

从动态模型导出测试用例:EmptyacctsetupacctworkingacctnonworkingacctdeadacctopenSetupacctDeposit(initial)closeWithdraw(final)depositwithdrawBalanceCreditAcctInfoAccount类的状态转换图

第17页:遍历所有状态转换

遍历所有状态转换:应使Account类实例遍历所有允许的状态转换:测试用例1:open.setupacct.deposit(initial).withdraw(final).Close测试用例2:open.setupacct.deposit(initial).deposit.blance.credit.withdraw(final).Close测试用例3:open.setupacct.deposit(initial).deposit.withdraw.AcctInfo.withdraw(final).Close……

顶部目录