北大测试全套课件和教案 27. 第9章 第1讲
- 格式:doc
- 大小:40.00 KB
- 文档页数:10
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 北大测试全套课件和教案27. 第9章第1讲
《软件测试基础》授课教案授课内容:
第九章面向对象软件的测试授课课次:
第 27 次课授课时数:
2 学时授课日期: 上课教室: 目的与要求:
通过课堂教学,使学生了解面向对象软件的特征,了解面向对象软件测试的问题,理解面向对象软件测试与传统软件测试方法的不同;熟悉面向对象软件测试的模型和策略,掌握面向对象软件类测试的基本策略和方法。
教学重点:
1.面向对象软件测试与传统软件测试的不同 2.面向对象软件测试中类测试的方法和策略教学难点:
面向对象软件测试中针对面向对象软件特征的测试教学方式:
1. 运用《软件测试技术》课件进行课堂讲授,加深对面向对象软件测试基本概念,方法和策略的理解;
2. 讲授和课堂讨论,课堂练习相结合的方式。
教学内容:
1. 面向对象软件的特征及其测试的问题
2. 面向对象软件测试基础
3. 类测试内容提要及时间分配:
1 / 10
1、面向对象软件特征及其测试的问题(20 分钟)面向
对象测试的单元面向对象软件特征的涵义及其测试上的问题
面向对象软件测试的层次 2、面向对象软件测试基础(25 分钟)
面向对象软件测试的模型面向对象软件测试的基本策略 3、类测试(40 分钟)面向对象软件中测试的单元以方法为单元以类为单元 4、课后小结和布置作业(5 分钟)教学参考书: 1. 软件测试方法和技术朱少民清华大学出版社 2. 软件测试 Ron Patton 机械工业出版社 3. 软件测试教程贺平电子工业出版社讨论与思考:
1. 面向对象软件测试为什么和传统的软件测试有很大的不同,不同点在什么地方?
2. 面向对象软件测试中选择类为单元的测试与选择方法为单元的测试相比有什么优点?作业: 1. 简述面向对象软件测试和传统软件测试的不同。
2. 简述面向对象软件测试的重要原则或策略。
复问题目:
序号题目学生成绩 1 2 3 教学内容与方法步骤 9.1 面向对象测试的问题一、面向对象软件的特征 1 继承 2 封装 3 多态 4 开发过程的迭代性二、面向对象测试的单元 1 单元的选取问题 2 合成和封装的涵义及其测试问题考虑 3 继承的涵义及其测试问题考虑 4 多态性的涵义及其测试问题考虑三、面向对象测试的层次 9.2 类测试一、类测试的主
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 要问题类测试的主要问题是,类和方法哪一个是单元。
单元本身也没有确切的定义(讨论):
平时测试时候,单元测试中,单元是什么? 1 能够自身编译的最小程序块 2 单一过程/函数(独立) 3 有一个人完成的小规模工作从不同的角度理解单元的概念。
那么面向对象的类测试呢?我们从两个方面来考虑,根据实际的需要来考虑。
二、以方法为单元的测试如果以方法为单元进行测试,那么面向对象的单元测试就相当于归结为了传统的过程的单元测试了。
以前的方法都可以使用。
需要考虑的是,运行测试用例时候,必须提供能够实例化的桩类,以及起驱动器作用的主程序类,来提供和分析测试用例。
三、以类为单元的测试面向对象软件产品的基本组成单位是类,从宏观上来看,面向对象软件是各个类之间的相互作用。
在面向对象系统中,系统的基本构造模块是封装了的数据和方法的类和对象,而不再是一个个能完成特定功能的功能模块。
每个对象有自己的生存周期,有自己的状态。
消息是对象之间相互请求或协作的途径,是外界使用对象方法及获取对象状态的惟一方式。
对象的功能是在消息的触发下,由对象所属类中定义的方法与相关对象的合作共同完成。
3 / 10
且在不同状态下对消息的响应可能完全不同。
工作过程中对象的状态可能被改变,产生新的状态。
对象中的数据和方法是一个有机的整体,测试过程中不能仅仅检查输入数据产生的输出结果是否与预期的吻合,还要考虑对象的状态,且在不同状态下对消息的响应可能完全不同。
工作过程中对象的状态可能被改变,产生新的状态。
对象中的数据和方法是一个有机的整体,测试过程中不能仅仅检查输入数据产生的输出结果是否与预期的吻合,还要考虑对象的状态。
类测试是由那些与验证类的实现是否和该类的说明完全一致的相关联的活动组成的。
该类测试的对象主要是指能独立完成一定功能的原始类。
如果类的实现正确,那么类的每一个实例的行为也应该是正确的。
3.1. 类测试的内容类测试的目的主要是确保一个类的代码能够完全满足类的说明所描述的要求.对一个类进行测试以确保他只做规定的事情,对此给与关注的多少,取决于提供额外的行为的类相关联的风险.在运行了各种类的测试后,如果代码的覆盖率不完整,这可能意味着该类包含了额外的文档支持的行为.需要增加更多的测试用例来进行测试。
3.2. 类测试的时间类测试的开始时间一般在完全说明这个类,并且准备对其编码后不久,就开发一个测试计划至少是确定测
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 试用例的某种形式。
如果开发人员还负责该类的测试,那么尤其应该如此。
因为确定早期测试用例有利于开发人员理解类说明,也有助于获得独立代码检查的反馈。
类测试可以在开发过程中的不同位置进行。
在递增的反复开发过程中,一个类的说明和实现在一个工程的进程中可能会发生变化,所以因该在软件的其它部分使用该类之前执行类的测试。
每当一个类的实现发生变化时,就应该执行回归测试。
如果变化是因发现代码中的缺陷(bug)而引起的,那么就必须执行测试计划的检查,而且必须增加或改变测试用例以测试在未来的测试期间可能出现的那些缺陷。
3.3. 类测试的测试人员类测试通常由他的开发人员测试,让开发人员起到测试人员的作用,就可使得必须理解类说明的人员数量减至最少。
而且方便使用基于执行的测试方法,因为他们对代码极其的熟悉。
由同一个开发者来测试,也有一定的缺点:
开发人员对类说明的任何错误理解,都会影响到测试。
因此,最好要求另一个类的开发人员编写测试计划,并且允许对代码进行对立检查。
5 / 10