Assignment3:白盒测试以及测试框架简介

1、 白盒测试简介css

      白盒测试 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运做的。"白盒"法全面了解程序内部逻辑结构、对全部逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
      采用什么方法对软件进行测试呢?经常使用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是经过输入一组预先按照必定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。
      白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、断定覆盖、条件覆盖、断定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖每条语句至少执行一次。
2.断定覆盖每一个断定的每一个分支至少执行一次。
3.条件覆盖每一个断定的每一个条件应取到各类可能的值。
4.断定/条件覆盖同时知足断定覆盖条件覆盖。
5.条件组合覆盖每一个断定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
      优势
1.迫使测试人员去仔细思考软件的实现
2.能够检测代码中的每条分支和路径
3.揭示隐藏在代码中的错误
4.对代码的测试比较完全
5.最优化
      缺点
1.昂贵
2.没法检测代码中遗漏的路径和数据敏感性错误
3.不验证规格的正确性
 
2、单元测试框架
 
一、 Junit
      是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma创建,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它本身的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit做为单元测试的工具。[1-3]        
      JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,由于程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就能够用Junit进行自动测试了。
特性
      JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括如下特性:
a、用于测试指望结果的断言(Assertion)
b、用于共享共同测试数据的测试工具
c、用于方便的组织和运行测试的测试套件
d、图形和文本的测试运行器
 
二、qunit
     是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,而且是jQuery的官方测试套件。Qunit是Jquery的单元测试框架,而且被普遍使用在各个项目中。
自动化的测试软件在开发中是必备的。单元测试将会为自动化测试建立一些基本的代码块:组件、单元,伴随着不须要人工的干预,一次一次的重复运行的测试程序。总之,你能编写一次测试就能在必要的时候再次运行而不用再次编写。
      额外的好处就是代码运行的覆盖测试,同时测试也能驱动软件更好的设计,就像著名的测试驱动开发,在实现以前写一个测试,你甚至能够写一个简单的测试,而后测试失败(由于如今代码仍然没有开始编写),而后开始实现你的代码直到你的测试经过。你可以拓展你的测试去覆盖更多的需求和功能,而且再次扩充你的实现代码。经过重复这些步骤,最终你获得的代码看起来经常和你最初开始实现的代码大为不一样。
      Javasscript 的单元测试和其余计算机编程语言来讲很是不一样。所以你须要一个小的测试框架来运行你的测试用例,同时也做为一组编写单元测试的工具。
你想要自动测试nice应用和框架,也许从测试驱动开发的角度是很是有价值。写出一个本身的测试框架也许是很吸引人的,可是就须要涉及大量的工做关于JavaScript 代码在各个浏览器上所有的细节和个别特殊的要求。
      然而这里还有其余JavaScript测试框架,你最好决定签出Qunit,Qunit是Jquery的单元测试框架,而且被普遍使用在各个项目中。
为了使用Qunit,你仅仅须要去包含2个Qunit文件在你的Html页面。Qunit 包含了qunit.js 做为运行器和测试框架,和qunit.css 文件,座位测试套件页面显示测试结果的样式。
 
三、nunit
      是专门针对于.NET来写的.其实在前面有JUnit(Java),CPPUnit(C++),他们都是xUnit的一员.最初,它是从JUnit而来.接下来我所用的都是基于这个版本.
      NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig,开发团队逐渐庞大起来.在开发过程当中, Kent Beck 和ErichGamma2位牛人也提供了许多帮助.看来对于NUnit还真是下了一番力气了
      NUnit是xUnit家族种的第4个主打产品,彻底由C#语言来编写,而且编写时充分利用了许多.NET的特性,好比反射,客户属性等等.
      最重要的一点是它适合于全部.NET语言.
相关文章
相关标签/搜索