在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
在实际项目测试过程中,选择并确定测试模型只是我们实施测试的第一步。除此之外,还要弄清楚整个测试过程中需要做哪些类型的测试,并根据不同的测试类型进行相应的测试,比如我们耳熟能详的功能测试、性能测试等,这样我们的测试工作才能有效进行。那么软件测试按照什么分类?又是怎么分类的呢?简单来讲,软件测试可以按照开发阶段、是否查看代码、是否运行、是否手工操作四个方向分类的。
1、按照开发阶段分类
(1)单元测试
单元测试也可以叫做模块测试——对软件的组成单位进行测试,目的是为了检验软件基本组成单位的正确性。测试的对象是软件测试的最小单位:模块。单元测试一般都是开发人员或者专业的白盒测试人员(这些需要对代码有很深的研究)来测试的。
(2)集成测试
单元测试是一个模块内部的测试,当有多个单独的模块测试完成后,我们需要把这些模块放到一起进行整体的测试,这个测试叫做集成测试。集成测试也称联调测试、组装测试,即将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成测试主要关注的是关联处比较复杂,容易发生错误的模块。集成测试是在模块之间进行测试(至少两个),将2个或者2个以上的模块进行组装。
(3)系统测试
系统测试指的是在真实或模拟系统运行的环境下,验证完整的程序系统是否可以正确的运行,并满足用户的功能需求,这里完整的程序系统可以理解为把整个软件系统看作一个整体,包括软件和硬件。举个例子,当下公司正在开发一个新的支付系统,要求测试团队对它做系统测试。那我们的测试目的,就是要把各种功能模块全部搭建并运行起来,对它进行整体的功能测试、安全测试、性能测试等,以验证它的功能,安全性,性能等各方面表现是否满足用户需求。
(4)验收测试
验收测试是技术测试的最后一个阶段,也称为交付测试。验收测试是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求,一般是以用户为主的测试。验收测试的常用策略有两种,正式验收和非正式验收。
2、按照是否查看代码分类
(1)黑盒测试
我们不需要去关心被测试软件里面的结构及实现逻辑如何,只需要关注测试软件的输入数据是什么,以及输出结果是否符合预期就可以了,这样的测试就叫做黑盒测试。黑盒测试又称为数据驱动测试,它只检查程序是否能接收输入数据并产生正确的输出信息。
(2)功能测试
功能测试主要是检查实际功能是否符合用户的需求,因此测试的大部分工作也是围绕软件的功能进行的。功能测试又可以细分为界面测试、逻辑功能测试、易用性测试、安装测试以及兼容性测试等,每种测试的测试目的及复杂程度又有所不同。
(3)性能测试
性能测试拆开来看就是性能与测试。软件的性能包括很多方面,主要是时间性能和空间性能。性能测试是通过自动化的测试工具来模拟多种正常的,不正常的,或者是极限情况下,针对系统的各项性能指标进行的测试,以验证软件性能是否符合要求。
(4)白盒测试
白盒测试与黑盒测试正好相反,就是不关注外面只关注里面,也就是说盒子是透明的,我们可以清楚的看到盒子内部的东西以及内部的运作逻辑,针对内部逻辑进行的测试。
(5)灰盒测试
灰盒测试是介于白盒测试与黑盒测试之间的一种测试,它既关注内部也关注外部的验证。
3、按照是否运行分类
(1)动态测试
动态测试是指通过运行被测程序,输入相应的测试数据来验证运行结果与预期结果的是否一致。目前动态测试也是企业实施项目测试的主要方式。根据动态测试在软件开发过程中所处的阶段和作用,我们可以将其划分为以下几个步骤:单元测试、系统测试、集成测试和验收测试。
(2)静态测试
静态测试就是不实际运行被测软件,只是静态地检查程序代码、界面或文档中可能存在的错误的过程。测试内容主要是代码测试、界面测试和文档测试三个方面
4、按照是否手工操作分类
(1)手工测试
手工测试,指的用手一个一个去执行编写好的测试用例。通过手动操作键盘鼠标来输入一些内容,例如测试登录功能时,要根据用例手动输入用户名/密码,点击按钮等,执行完功能之后,再查看返回结果,验证其是否符合预期的结果。
(2)自动化测试
自动化测试的目的是提高测试效率,把以人为驱动的测试行为转化为机器执行的一种过程。使用工具或代码的方式来实现手工操作。
这一关我们按照是否运行软件将测试分为了静态测试和动态测试,又基于是否手工操作将测试分成了手工测试和自动化测试,除此之外,还有冒烟测试,回归测试以及安全测试等等。通过学习我们可以知道,每一种测试都有自己的特点和适用场景,我们通过这样的系统学习理解每种测试的方式和意义,做到心中有数,这对我们后续的测试技术学习以及实际测试工作有着深远的指导作用。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试人员必须掌握的知识--软件测试分类
软件测试是在产品上线前模拟真实使用场景的测试环节,根据产品不同、使用环境不同,软件测试人员需要掌握不同的测试方式。那软件测试到底有哪些途径呢?下面小编为大家分享一下软件测试人员必须掌握的知识--软件测试分类。
7695
2019-08-08 10:23:27
女生做软件测试的利弊如何权衡?
做软件测试对性别没有要求IT行业里的男女比例男性占比更高,那么女生做软件测试的利弊如何权衡?女生选择就业会考虑比较多,除了自身条件外,还会关注薪资水平、工作压力、加班情况,以及发展空间等因素。女生从长期的职业规划的角度看,女性软件测试具有一定的稳定性,在工作内容方面不太依赖个人的创新能力越久经验越丰富越吃香。
8772
2019-06-25 11:56:55
软件测试的5个基本流程阶段是什么?
软件测试的5个基本流程阶段是什么?软件测试从开始一个项目测试到结束,一般中间要经过五大基本环节,即单元测试、集成测试、确认测试、系统测试、验收测试。这些基本流程的每个阶段都可以详细展开来进行探讨,本文就为大家梳理一下软件测试的5个基本流程的各个阶段内容。
15852
2019-10-16 14:44:57
软件测试工程师为什么要写测试用例?
软件测试工程师为什么要写测试用例?相信从事软件测试行业的从业者来讲,测试用例并不陌生。因为测试用例不仅仅是一组简单的文档,它包含前提条件、输入、执行条件和预期结果等等重要内容,并且能够完成一定的测试目的和需求。下面本文将从测试用例的定义、作用和做法三方面,带大家全面认识测试用例。
7029
2020-02-10 13:04:20
接口测试工具有哪些?测试的原理是什么?
今天主要介绍下什么是接口测试、接口测试工具有哪些、接口的类型有哪几种、接口测试的流程及测试思路四个方面的知识。引用对方提供的接口,从而达到数据共享的目的。接口测试让前端页面或APP等调用与后端做交互。
5379
2020-03-03 12:17:23