1 / 26
文档名称:

面向对象软件的测试.ppt

格式:ppt   大小:407KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

面向对象软件的测试.ppt

上传人:aluyuw1 2022/6/13 文件大小:407 KB

下载得到文件列表

面向对象软件的测试.ppt

相关文档

文档介绍

文档介绍:软件测试方法和技术 面向对象软件的测试
回顾
验收测试的过程和主要内容
产品规格说明书的验证
用户界面和可用性测试
兼容性测试
可安装性和可恢复性测试
文档测试
验收测试报告和用户验收测试
面向对象软件的测的分类结构的原则来组织,着重体现父类和子类间的一般性和特殊性。在当前的问题空间,对类层次结构的主要要求是能在解空间构造实现全部功能的结构框架。为此测试要注意如下几个方面:
类层次结构是否涵盖了所有定义的类;
是否能体现OOA中所定义的实例关联、消息关联;
子类是否具有父类没有的新特性;
子类间的共同特性是否完全在父类中得以体现。
3面向对象的单元测试
类测试
类测试的方法
通过代码检查或执行测试用例能有效地测试一个类的代码。
面向对象的单元测试
类测试的组成部分
作为每个类,决定是将其作为一个单元进行独立测试,还是以某种方式将其作为系统某个较大部分的一个组件进行独立测试,需要基于以下因素进行决策:
这个类在系统中的作用,尤其是与之相关联的风险程度。
这个类的复杂性(根据状态个数、操作个数以及关联其他类的程度等进行衡量)
开发这个类测试驱动程序所需的工作量。
在进行类测试时,一般要考虑以下几个方面:
测试人员 测试内容 测试时间 测试过程 测试程度
面向对象的单元测试
构建测试用例
首先要看怎样从类说明中确定测试用例,然后根据类实现引进的边界值来扩充附加的测试用例。
根据前置条件和后置条件来构建测试用例的总体思想是:为所有可能出现的组合情况确定测试用例需求。在这些可能出现组合情况下,可以满足前置条件,也能够达到后置条件。接下来创建测试用例来表达这些需求,根据这些需求还可以创建拥有特定输入值(包括常见值和边界值)的测试用例,并确定它们的正确输出。最后,还可以增加测试用例来阐述违反前置条件所发生的情况。
面向对象的单元测试
类测试系列的充分性
充分性的三个常用标准是:基于状态的覆盖率、基于限制的覆盖率、基于代码的覆盖率。
基于状态的覆盖率,以测试覆盖了多少个状态转换为依据 。
基于约束的覆盖率,与基于状态转换的充分性类似,还可以根据有多少对前置条件和后置条件被覆盖来表示充分性。
基于代码的覆盖率。当所有的测试用例都执行结束时,确定实现一个类的每一行代码或代码通过的每一条路径至少执行了一次,这是一种很好的思想。
面向对象的单元测试
构建测试的驱动程序
测试驱动程序是一个运行测试用例并收集运行结果的程序。测试驱动程序的设计应该相对简单,因为我们很少有时间和资源来对驱动程序软件进行基于执行的测试(否则会进入一个程序测试递归的、无穷的之路),而是依赖代码检查来检测测试驱动程序。所以,测试驱动程序必须是严谨的、结构清晰、简单,易于维护,并且对所测试的类说明变化具有很强的适应能力。理想情况下,在创建新的测试驱动程序时,应该能够复用已存在的驱动程序的代码。
4 面向对象的集成测试
面向对象的集成测试主要是两个方面:
类的线性测试,交互测试。
类的独立性测试(跨平台)方面测试。
面向对象的程序是由若干对象组成的,这些对象互相协作以解决某些问题。对象的协作方式决定了程序能做什么,从而决定了这个程序执行的正确性。因此,一个程序中对象的正确协作----即交互----对于程序的正确性是非常关键的。
4 面向对象的集成测试
对象交互
汇集类测试
有些类在它们的说明中使用对象,但是实际上从不和这些对象中的任何一个进行协作,也就是说,它们从来不请求这些对象的任何服务。相反,它们会表现出以下的一个或多个行为:
存放这些对象的引用(或指针),程序中常表现为对象之间一对多的关系
创建这些对象的实例
删除这些对象的实例
协作类测试
该类的一个或多个操作中使用其它的对象并将其作为它们的实现中不可缺少的一部分。当类接口中的一个操作的某个后置条件引用了一具对象的实例状态,并且(或者)说明那个对象的某个属性被使用或修改了,那么这个类就是一个协作类 。
4 面向对象的集成测试
面向对象集成测试的常用方法
抽样测试 正交阵列测试
例如,假设有3个因素----即A、B、C,每个因素有3 个级别----即1、2、和3,那么这些值就有27种可能的组合情况----A的3 种组合情况×C的3 种组合情况。
4 面向对象的集成测试
分布式对象测试
如今很少有设计单个进程在单个处理机上执行的系统,为了获得灵活性和伸展性,许多系统都被设计成多个充分独立的部件,每个部件可以存在于一个独立的进程中,而整个系统的运行会根据需要启动多个进程。如果这些进程不是分布在一台机器上,而是分布在多台机器上,借助于计算机通