测试框架是对一种测试解决方案得表述,好像一个模板,规定了一种解决方案应该具有得内容以及内容得表现形式,同时这种分层表示得方式需要对测试解决方案进行不同层次得抽象,这为方案得服用和扩展提供了理想得机制保证。
定义:测试框架是一组互相协作得组件的集合,能够实现一个或多个测试域中的一系列问题的解决方案。
关键特征:测试框架包含一些列在本中称为组件的抽象体,组件是对测试中各类实体的抽象,可以实例化为测试对象,测试策略或测试工具等具体事物
这些组件相互协作,共同描述测试解决方案,在测试框架中,利用组件以及组件之间的写作方式定义了一个完整的测试解决方案,它是面对特定测试域中一系列共性问题的可复用的解决方案
测试框架中体现的测试方法以及组成框架的组件和组件的行为方式都是可以复用的,测试框架的中心思想就是提供测试解决方案的高层复用,而复用技术的基础是对相关问题域的抽象
测试框架解决的是某个特定范围的测试问题,因此一个测试框架必须有适用的目标范围,在这里称它为测试域
测试框架中并不包含具体的测试用例,测试程序或者测试脚本,在具体的测试过程中,测试者需要根据框架提供的解决方案进行框架的实例化以完成测试
框架的最大好处就是重用,面向对象系统获得的最大的重用方式就是框架,一个大的应用系统往往可能由多层互相些许哦的框架组成,框架能重用设计,能重用分析。
测试解决方案包含测试框架的表述,一种测试框架,实例化的测试框架
测试框架的描述形式必须包含:一个测试框架可以清晰,准确,全面的表述出一种测试解决方案
测试框架应该能提供给使用者一个简洁易懂的使用接口,所以测试框架必须具有易用性
测试框架的形式应该具有良好的可扩展性,这是测试框架复用的基础
测试框架的表述分为三层:原则层,结构层,细节层
原则层:是框架测试中抽象级别最高的一层,由一组原则组成,这些基本原则规定了测试框架的测试域,测试基本原理以及测试框架的使用等方面,这些原则构成了测试框架的固定部分,是建立测试框架的基础,同时也是一个测试框架区别其他测试框架的本质特征。测试框架的原则层通常界定以下原则:
测试域原则界定了一个测试框架要解决的问题的范畴,同时描述了这个范畴内所有问题的共性,其中包括了测试本质模型中的测试对象以及测试目标的相关内容。测试域原则确定了测试框架复用过程的前置判断条件
测试原理规定了测试框架所提供的测试解决方案的核心原则,测试原理中最重要的部分是对测试策略中的基本概念和基本原理进行定义并对测试依据进行明确规定,从某种意义上讲,测试原理决定了测试狂街能满足多大程度的复用以及测试框架扩展能力的高低
测试框架的使用原则中定义了测试框架的适配机制,其中对测试框架的扩展点以及扩展机制进行了规定,另外使用原则中应该包括有有助于使用者理解测试框架的学习指导
结构层:结构层是原则层中基本原则的结构化实现。也是对测试解决方案的具体表述,测试框架在结构层中定义了各种组件,组件之间的结构关系和协作关系,构成了测试框架的体系结构。测试框架中的体系结构是依据原则层中的借本原则而构建的,是一个测试框架本质思想的外在表现。测试框架的体系结构应该具体表述出测试方法和测试工具的结构和相互关系,以及测试方法中所设计的测试过程,测试组织结构以及测试策略等。因此在描述框架的体系结构时通常采用多视图的方式,利用过程视图,组织结构视图以及测试工具视图等从多个方面对框架的体系结构进行全面的描述。测试框架的结构层是框架进行复用和扩展的核心。
细节层:定义了结构层中的组件属性以及属性取值范围和规律。细节层是对结构层组件的附加说明。
框架测试提供的是针对某一特定测试问题域中一系列问题的一套完整解决方案,但他只是一个半成品,在使用测试框架进行测试的过程中需要对测试框架进行实例化。
基于测试框架的软件测试过程主要包含两个阶段,一是对测试框架的选择,而是使用测试框架进行测试(这特么确定不是废话???),其中选择测试框架包含确定测试目标和选择框架,而使用测试框架则包含测试框架学习,测试框架扩展,测试框架实例化,进行软件测试。
测试框架适配:测试框架扩展和测试框架实例化。
应用框架分为冷点和热点。
冷点是在实例化过程中一直不变的部分,热点也称为扩展点,随具体需求的不同而不同
测试框架是一种十分有利用复用的测试表达方式,可以高效的提高软件测试的质量和效率在确定什么样的测试冯方法适合以测试框架方式表述时,由以下几个原则可提供参考:
一个组织内部经常性的进行某种类型测试,例如开发组织内部的单元测试和集成测试
长期形成的成熟的测试方法,例如边界值分析法和等价类测试法
针对某一产品线形成的相对固定的测试方法,例如针对嵌入式软件的仿真测试
针对某种语言形成的特定的测试方法,例如基于java的单元测试框架等
测试框架的设计阶段:一是对测试问题的泛化和测试解决方案的抽象,二就是设计测试框架。