软件测试第三周——测试框架

首先,先来了解一下测试框架

  测试框架的属性:

    1. 测试框架是测试开发过程中提取特定领域测试方法共性部分形成的体系结构

    2. 测试框架的作用:在其基础上重用测试设计原则和测试经验,调整部分内容便可满足需求,可提高测试用例设计开发质量,降低成本,缩短时间

    3、测试框架类型根据测试领域不同而改变

    4、测试框架是一个半成品,需要测试工程师基于它转化成自己的测试用例;

    5、测试框架是提供给测试人员开发相应领域测试用例的测试分析设计工具

    6、测试框架不是测试用例集,而是通用的,具有一般性的系统主体部分。测试人员像做填空一样,根据具体业务完成特定应用系统中与众不同的特殊部分

    7、测试设计模式的思想(等价类/边界值)在测试框架中进行应用。

  可以看出,测试框架主要作用就是提高测试效率,降低成本。

测试框架的好处在于:

    提高开发速度

    提升测试代码的执行效率

    提高软件代码质量,同时引入重构概念,让代码更干净和富有弹性  

    提升系统的可信赖度,作为回归测试的一种实现方法支持修复后“再测试”,确保代码的正确性。

再来介绍一下 自动化测试框架

    第一种: 数据驱动测试框架(The Data-Driven Testing Framework)

    仅仅是将测试数据从测试脚本中分离出来

    优点:

      至少测试数据可以单独维护了

    缺点:

      任何被测试程序的变更所导致的工作量是所有架构中最多的,因此维护成本非常高

    第二种:测试脚本模块化框架(The Test Script Modularity Framework)

       说明:

        l  箭头方向代表的是被调用和调用关系

        l  测试脚本中包含了各功能点中涉及到的控件识别和业务逻辑操作,其中包含了外部测试数据的调用

        l  测试脚本的维护由自动化测试开发工程师负责,要求必须懂自动化编程和业务逻辑

        l  测试数据的维护由测试工程师负责

        

       优点:
          控件和业务逻辑一旦发生变化,要进行修改和维护的是底层的测试脚本

    第三种:测试库构架框架(The Test Library Architecture Framework)

        

        

      说明:

         l  箭头方向代表的是被调用和调用关系

         l  将所有的针对测试系统本身的控件识别和控件支持的操作封装在测试库中

         l  测试脚本调用测试库的同时传递外部的测试数据

         l  测试库的编写由自动化测试开发工程编写(可以不懂业务),负责控件的变更和维护

         l  测试脚本的编写可由对业务比较掌握的自动化测试开发工程编写,负责业务逻辑的变更和维护

         l  测试数据由测试工程师维护(可以不懂自动化开发)

      优点:

         l  被测试系统无论是哪层发生变化,只需要相应的人员进行变更维护即可

         l  完成了控件识别操作和业务逻辑的抽象分离

   总结:三者存在递进关系,关系如下。

         

时间: 2024-10-05 17:56:57

软件测试第三周——测试框架的相关文章

软件测试第三周之测试多个输入的合法性

这一次我主要用的是C#中的正则表达式来测试用户输入的字符串是否合法. 这是我的UI界面: 三个输入框允许用户同时进行输入 输入后摁确定键即可输出测试结果,摁下取消键即可重新进行输入 输出的测试信息显示在右侧的输出文本框中 测试用例: 第一步:等价类型的划分 有效等价类 无效等价类 长度:1到6 长度:0或者大于7 字符:a-z,A-Z,0-9  字符:英文/数字以外字符,控制字符,标点符号 第二步:测试用例的生成 编号 输入字符 期望输出 1 A 有效输入 2 Z 有效输入 3 55136s 有

软件测试第三周作业——测试多个输入的合法性

这次作业,我用JavaFX来写程序测试输入的合法性 这是我的输入界面截图, 三个框同时输入, 按submit即可测试三个输入的合法性, 最后在控制台显示测试结果 测试用例: 等价类的划分: 有效等价类:长度1-6,仅含有a-z,A-Z,0-9的字符 无效等价类:长度0或大于7,含有但并不一定都是除a-z,A-Z,0-9以外的字符,控制字符.标点符号等. 以下是测试用例 第一次测试: 输入: er43t dgddsgdfg fds!# 输出: OK 所有输入长度应为1-6 所有输入字符应为a-z,

学习心得——测试框架浅析

笔者按:       在这一学期的软件测试课程学习中,我逐渐接触到了软件测试的相关知识,实现了从较为关注软件编写与实现等前端内容到逐渐理解软件测试等项目后期环节的跨 越与 转变.而在软件测试领域,我们经常会听到测试框架这个名词,那什么是测试框架?它在软件测试中起到什么样的作用?我将就自己浅薄的学习心得,在这里为大 家做一个简单的分析与交流. 正文:          我们先来看一下百度百科给出的关于“框架”一词的定义:“框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问

Google Test测试框架分析

Google Test测试框架分析 一.简介 Google Test是由Google主导的一个开源的C++自动化测试框架,简称GTest.GTest基于xUnit单元测试体系,和CppUint类似,可以看作是JUnit.PyUnit等对C++的移植. 下图是GTest测试框架的测试过程,表示的是GTest的两种测试方式. 下面将使用一个极其简单的例子表示xUnit测试的主要过程.如对Hummer的CTXString类的成员方法GetLength进行测试.详见下面GTest代码和注释说明. //

几种测试框架

这次随笔主要是关于三种测试框架:Junit,Qunit,Nunit框架 一:Junit 框架 JUnit是一个java语言的单元测试框架,它是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架.Junit测试是由程序员所测试,属于白盒测试范畴.因为程序员知道自己所写的东西是什么体系结构以及具体内容. Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了. JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试. 二:Qunit

软件测试学习笔记week 3 --- 测试框架初体验

测试框架初体验 在这周的软件测试课上,第一次了解了软件测试框架的概念.软件测试框架包含的范围非常广,从自动化测试框架到单元测试框架以及性能测试框架.在上个寒假中,在学习Coursera的在线课程时发现普林斯顿的单元测试做得非常强大,从程序正确性到Time consuming甚至Memory consuming,几乎能发现程序中的每一处错误或者缺陷.因此,在上完了这周的课程后,我查阅了一些资料,做了这篇随笔记录了解到的单元测试的知识. 一.什么是测试框架 要认识测试框架,首先要对所谓框架有概念.框

测试驱动开发TDD(三)开源测试框架的选择

http://www.qnr.cn/pc/rj/zhongji/ruanze/201008/523311.html  * http://www.uml.org.cn/Test/201006085.asp ** http://blog.csdn.net/jq0123/article/details/5479998 *** 最终选择Google的GTest作为我们开发的测试框架.

软件测试-7 在实际测试时的一些想法

前言 学习软件测试已经有几周了.理论学习了很多,但是实际上自己动手去做的测试也就是两次非常简单的实验.虽然只是两次简单的实验,但是呢,两个实验给我的收获是非常大的,让我对软件测试有了很多自己的想法. 一.非常大的工作量 软件测试耗费的工作量与我想象中相比,差距真的很大.我之前一直非常轻视软件测试这一环节,觉得这个环节可有可无.事实上,在我完成了一个程序,或者完成了一个项目之后,我并不会花费很多时间去系统地测试它.我觉得自己在写代码时就已经经过自测了,完成的程序应该并不会出现什么严重的BUG.即使

EditBox问题的实现以及Junit测试框架的简要说明

一.这周的EditBox由一个框改为三个框,同时进行测试,下面给出程序及截图 1 import java.util.regex.Matcher; 2 import java.util.regex.Pattern; 3 import javafx.application.Application; 4 import javafx.event.ActionEvent; 5 import javafx.event.EventHandler; 6 import javafx.scene.Scene; 7