软件测试的几种基本方法

上次我们介绍了软件测试的基本概念及基本原则,今天我们就来看看软件测试的几种基本方法吧。

首先,当然就是我们大家熟悉的黑盒测试和白盒测试,这是按是否查看程序内部结构分的。其次,还可以按是否运行程序分为静态测试和动态测试,按阶段可分为单元测试、集成测试、系统测试、验收测试、回归测试。除此之外还有冒烟测试、随机测试等。接下来就详细介绍一下以上几种测试。

一、按是否查看程序内部结构分为:

1、黑盒测试(Black Box Testing):

黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。简单来说,这种测试只关心输入和输出的结果,并不考虑程序的源代码。黑盒测试分为功能测试和性能测试:

1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。包括逻辑功能测试、界面测试、易用性测试和兼容性测试。

2)性能测试(performance testing),软件的性能主要有时间性能和空间性能两种。其中,时间性能主要指软件的一个具体事务的响应时间,而空间性能主要指软件运行时所消耗的系统资源。

2、白盒测试(White Box Testing):

白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。与黑盒测试相反,这种测试就要研究程序里面的源代码和程序结构。

二、按是否运行程序分为:

1、静态测试(static testing):

静态测试指测试不运行的部分,只是静态地检查程序代码、界面或文档可能存在的错误的过程。例如测试产品说明书,对此进行检查和审阅.。

2、动态测试(dynamic testing):

动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。具体操作就是输入相应的测试数据,检查输出结果和预期结果是否相符的过程。

三、按阶段分为:

1、单元测试(Unit Testing):

单元测试是最微小规模的测试,测试的是某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。

2、集成测试(Integration Testing):

集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前,单元测试需要完成。

3、系统测试(System Testing):

系统测试是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。

4、验收测试(Accept Testing):

验收测试是基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。一般从功能、用户界面、性能、业务关联性进行测试。

5、回归测试(Regression testing):

回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。

四、其他类型测试:

1、冒烟测试(smoke testing):

冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。冒烟测试的对象是新编译的每一个需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。

2、随机测试(random testing):

随机测试是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。

以上就是几种常用的软件测试方法,当然还有很多其他的测试方法(比如逆向测试,极限测试等),在这里就不一一介绍了。下周预告:软件测试的几种常用工具。下周见~

时间: 2024-12-17 21:30:55

软件测试的几种基本方法的相关文章

软件测试中排错的基本方法

软件测试中,排错(即调试)与成功的测试形影相随.测试成功的标志是发现了错误.根据错误迹象确定错误的原因和准确位置,并加以改正的主要依靠排错技术. 1.排错过程 如下图所示,排错过程开始于一个测试用例的执行,若测试结果与期望结果有出入,即出现了错误征兆,排错过程首先要找出错误原因,然后对错误进行修正.因此排错过程有两种可能,一是找到了错误原因并纠正了错误,另一种可能是错误原因不明,排错人员只得做某种推测,然后再设计测试用例证实这种推测,若一次推测失败,再做第二次推测,直到发现并纠正了错误. 排错是

谈谈vector容器的三种遍历方法

说明:本文仅供学习交流,转载请标明出处,欢迎转载! vector容器是最简单的顺序容器,其使用方法类似于数组,实际上vector的底层实现就是采用动态数组.在编写程序的过程中,常常会变量容器中的元素,那么如何遍历这些元素呢?本文给出三种遍历方法. 方法一:采用下标遍历 由于vector容器就是对一个动态数组的包装,所以在vector容器的内部,重载了[]运算符,函数原型为:reference operator [] (size_type n);所以我们可以采用类似于数组的方式来访问vector容

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener

【漏洞预警】CVE-2017-8464 震网三代漏洞复现(两种利用方法)

早在6月13日,微软发布补丁修复编号为CVE-2017-8464的漏洞,本地用户或远程攻击者可以利用该漏洞生成特制的快捷方式,并通过可移动设备或者远程共享的方式导致远程代码执行,追溯到以前,NSA就承认利用过相似漏洞且以“Olympic Game”为代号研发震网病毒,来阻止伊朗发展核武. 受影响版本 Windows 7 Windows 8.1 Windows RT 8.1 Windows 10 Windows Server 2008 Windows Server 2008 R2 Windows

多线程有几种实现方法?同步有几种实现方法?(被问到)

多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所持有的对象的lock. sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常. notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且

js oop中的三种继承方法

JS OOP 中的三种继承方法: 很多读者关于js opp的继承比较模糊,本文总结了oop中的三种继承方法,以助于读者进行区分. <继承使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方法.(继承的两方,发生在两个类之间)> 一.通过object实现继承 1:定义父类 function Parent(){} 2:定义子类 funtion Son(){} 3:通过原型给Object对象添加一个扩展方法. Object.prototype.customExtend = function(p

java多线程有几种实现方法,都是什么?

转自:http://www.cnblogs.com/liujichang/p/3150387.html 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方法有两种,分别是synchronized,wait与notify 先看一下java线程运行时各个阶段的运行状态 java实现多线程有两种方法 1.继承Thread类 2.实现Runnable接口 这两种方法的共同点: 不论用哪种方法,都必须用Thread(如果是Thead子类就用它本身)产生线程,然后再调用s

mysql主从数据库不同步的2种解决方法(转)

今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mysql> show master status; +-------------------+----------+--------------+-------------------------------+ | File | Position | Binlog_Do_DB | Binlo

iOS Mac忘记登录密码的4种解决方法

4种方法: 一.使用Apple ID重置用户账户密码 使用这个方法有一个前提 如上图红框,此项必须勾选,否则无法使用Apple ID重置密码.(如果你不记得有没有勾选,则你起码要记得首次启动 OS X 或装有 OS X Lion 或更高版本的全新 Mac 时,你会进入“OS X 设置助理”,其中需要你输入 Apple ID.输入 Apple ID 后,请在“创建您的帐户”阶段选择“允许我的 Apple ID 重设此用户的密码”选项.) 好了,来说下具体实现的方法: 如果您在登录窗口错误输入帐户密