按照测试技术分软件测试的分类

发表于:2013-08-16来源:Csdn作者:fnngj点击数: 标签:软件测试
按照测试技术分软件测试的分类.本篇博文属于对软件测试领域的科普篇,关于软件测试领域,名词颇多,发现有许多测试新手混淆概念,甚至有不少招聘要求中对各种软件测试相关的名词乱用,所以,这里汇总测试相关的名词,也许能理清你对各种名词的概念。

  本篇博文属于对软件测试领域的科普篇,关于软件测试领域,名词颇多,发现有许多测试新手混淆概念,甚至有不少招聘要求中对各种软件测试相关的名词乱用,所以,这里汇总测试相关的名词,也许能理清你对各种名词的概念。

  根据项目流程阶段划分测试

  上图是一个典型瀑布式软件开发流程,那么各项软件测试工作是在项目开发流程中循序渐进的进行的。下面将介绍个测试含义。

  单元测试单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。

  集成测试:集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。

  系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。

  验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求

  单元测试阶段:

  模块接口测试

  通过所测模块的数据流进行测试。调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配。

  局部数据结构测试

  局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确、模块的局部数据结构往往是错误的根源。

  路径测试

  对模块中重要的执行路径进行测试。

  错误处理测试

  比较完善的模块设计要求能遇见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。

  边界条件测试

  软件经常在便捷上失效,边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点。

  集成测试阶段:

  在集成测试中,我们主要关注以下内容:

  1. 把各个模块连接起来时,穿越模块接口的数据据是否会丢失。

  2. 各个了模块组合起来,能否达到预期要求的功能。

  3. 一个模块的功能是否会对另一个模块的功能产生不利影响。

  4. 全局数据据结构是否有问题。

  5. 单个模块的误差积累起来是否会被放大,从而达到不可接受的程序。

  系统测试阶段:

  一般系统的主要测试工作都集中系统测试阶段。根据不同的系统,所进行的测试种类也很多。

  功能测试:

  功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。

  性能测试

  性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  安全测试:

  安全测试检查系统对非法入侵的防范能力。

  兼容测试:

  兼容性测试主要是测试系统在不同的软硬件环境下是否能够正常的运行。

  验收测试阶段:

  功能确认测试

  安全可靠性测试

  易用性测试

  可扩充性测试

  兼容性测试

  资源占用率测试

  用户文档资料验收

  白盒测试、黑盒测试、灰盒测试

  上面是根据项目流程按照测试的各个阶段对测试工具的划分。白盒测试与黑盒测试,主要是测试工作对软件代码的的可见程度的划分。这也是我软件测试中领域中最基本的两个概念。

  黑盒测试:

  黑盒测试,指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。

  它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

  白盒测试:

  白盒测试,指的是把盒子盖子打开,去研究里面的源代码和程序结果。

  它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作

  灰盒测试:

  灰盒测试介于黑盒测试与白盒测试之间。

  可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

  功能测试、性能测试

  功能测试

  功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。如果偏离的这个目的任何测试工作都是没有意义的。

  功能测试又可可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

  性能测试

  性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  软件的性能包括很多方面,主要有时间性能和空间性能两种。

  时间性能:主要是指软件的一个具体的响应时间。比如一个登录所需要的时间,一个交易所需要的时间等。当然,抛开具体的测试环境,来分析一次事务的响应时间是没有任何意义的。需要搭建一个具体且独立的测试环境。

  空间性能:主要指软件运行时所消耗的系统资源,比如硬件资源,CPU、内存,网络带宽消耗等。

  性能测试分类之我见:http://www.cnblogs.com/fnng/archive/2012/06/09/2543274.html

原文转自:http://blog.csdn.net/fnngj/article/details/8597023