在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
在实际项目测试过程中,选择并确定测试模型只是我们实施测试的第一步。除此之外,还要弄清楚整个测试过程中需要做哪些类型的测试,并根据不同的测试类型进行相应的测试,比如我们耳熟能详的功能测试、性能测试等,这样我们的测试工作才能有效进行。那么软件测试按照什么分类?又是怎么分类的呢?简单来讲,软件测试可以按照开发阶段、是否查看代码、是否运行、是否手工操作四个方向分类的。
1、按照开发阶段分类
(1)单元测试
单元测试也可以叫做模块测试——对软件的组成单位进行测试,目的是为了检验软件基本组成单位的正确性。测试的对象是软件测试的最小单位:模块。单元测试一般都是开发人员或者专业的白盒测试人员(这些需要对代码有很深的研究)来测试的。
(2)集成测试
单元测试是一个模块内部的测试,当有多个单独的模块测试完成后,我们需要把这些模块放到一起进行整体的测试,这个测试叫做集成测试。集成测试也称联调测试、组装测试,即将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成测试主要关注的是关联处比较复杂,容易发生错误的模块。集成测试是在模块之间进行测试(至少两个),将2个或者2个以上的模块进行组装。
(3)系统测试
系统测试指的是在真实或模拟系统运行的环境下,验证完整的程序系统是否可以正确的运行,并满足用户的功能需求,这里完整的程序系统可以理解为把整个软件系统看作一个整体,包括软件和硬件。举个例子,当下公司正在开发一个新的支付系统,要求测试团队对它做系统测试。那我们的测试目的,就是要把各种功能模块全部搭建并运行起来,对它进行整体的功能测试、安全测试、性能测试等,以验证它的功能,安全性,性能等各方面表现是否满足用户需求。
(4)验收测试
验收测试是技术测试的最后一个阶段,也称为交付测试。验收测试是部署软件之前的最后一个测试阶段。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统能够满足用户的需求,一般是以用户为主的测试。验收测试的常用策略有两种,正式验收和非正式验收。
2、按照是否查看代码分类
(1)黑盒测试
我们不需要去关心被测试软件里面的结构及实现逻辑如何,只需要关注测试软件的输入数据是什么,以及输出结果是否符合预期就可以了,这样的测试就叫做黑盒测试。黑盒测试又称为数据驱动测试,它只检查程序是否能接收输入数据并产生正确的输出信息。
(2)功能测试
功能测试主要是检查实际功能是否符合用户的需求,因此测试的大部分工作也是围绕软件的功能进行的。功能测试又可以细分为界面测试、逻辑功能测试、易用性测试、安装测试以及兼容性测试等,每种测试的测试目的及复杂程度又有所不同。
(3)性能测试
性能测试拆开来看就是性能与测试。软件的性能包括很多方面,主要是时间性能和空间性能。性能测试是通过自动化的测试工具来模拟多种正常的,不正常的,或者是极限情况下,针对系统的各项性能指标进行的测试,以验证软件性能是否符合要求。
(4)白盒测试
白盒测试与黑盒测试正好相反,就是不关注外面只关注里面,也就是说盒子是透明的,我们可以清楚的看到盒子内部的东西以及内部的运作逻辑,针对内部逻辑进行的测试。
(5)灰盒测试
灰盒测试是介于白盒测试与黑盒测试之间的一种测试,它既关注内部也关注外部的验证。
3、按照是否运行分类
(1)动态测试
动态测试是指通过运行被测程序,输入相应的测试数据来验证运行结果与预期结果的是否一致。目前动态测试也是企业实施项目测试的主要方式。根据动态测试在软件开发过程中所处的阶段和作用,我们可以将其划分为以下几个步骤:单元测试、系统测试、集成测试和验收测试。
(2)静态测试
静态测试就是不实际运行被测软件,只是静态地检查程序代码、界面或文档中可能存在的错误的过程。测试内容主要是代码测试、界面测试和文档测试三个方面
4、按照是否手工操作分类
(1)手工测试
手工测试,指的用手一个一个去执行编写好的测试用例。通过手动操作键盘鼠标来输入一些内容,例如测试登录功能时,要根据用例手动输入用户名/密码,点击按钮等,执行完功能之后,再查看返回结果,验证其是否符合预期的结果。
(2)自动化测试
自动化测试的目的是提高测试效率,把以人为驱动的测试行为转化为机器执行的一种过程。使用工具或代码的方式来实现手工操作。
这一关我们按照是否运行软件将测试分为了静态测试和动态测试,又基于是否手工操作将测试分成了手工测试和自动化测试,除此之外,还有冒烟测试,回归测试以及安全测试等等。通过学习我们可以知道,每一种测试都有自己的特点和适用场景,我们通过这样的系统学习理解每种测试的方式和意义,做到心中有数,这对我们后续的测试技术学习以及实际测试工作有着深远的指导作用。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试常用工具分享
现在软件测试工作被越来越多的企业认可,甚至作为产品型互联网企业作为重点技术岗位,为了提高工作效率,软件测试工程师经常会使用大量的软件测试工具。下面小编整理了一些软件测试工程师常用的软件测试工具,分享给大家。
6432
2019-12-04 18:38:36
自动化测试工具有哪些?好用的自动化测试工具推荐
为了提高工作效率和节省人力资源,自动化测试应运而生。正如古语说的那样,工欲善其事必先利其器。对于许多软件测试者来讲,好用的自动化测试工具是必不可少的。本文为大家总结了几款自动化测试工具,有Appium、Selenium、Robot、QTP,并详细地介绍了它们的优势和特点,希望对大家能够有所帮助。
5980
2019-12-24 10:16:24
Newman的使用讲解
Newman是postman命令行集成工具,使用Newman可以在命令行中运行postman的脚本,方便与Jenkins等CI&CD工具集成使用,今天我们来看看Newman的使用讲解,主要内容包括Newman的安装、基本使用、常用运行参数、生成报告等等。
5782
2020-06-23 11:01:11
前端测试用例怎么写?为什么写测试用例?
测试用例为了特定的目的证明软件存在某问题而设计的一组由测试输入、执行条件、预期结果构成的文档。指导如何做测试的文档,该文档主要记录需要验证被测软件的是否满足需求。
4798
2021-03-03 16:14:46
软件测试就业班课程怎么样?没有基础能学吗
软件测试就业班课程怎么样?没有基础能学吗?软件测试就业课程知识体系完备,从计算机基础,到功能测试,再到自动化测试,课程涵盖测试工具使用、测试原理讲解、自动化测试框架的实现等,同时覆盖多业务领域,如:电商、金融、小程序等。课程学习曲线设计平滑,根据学习者对知识的消化吸收情况,循序掌握测试技能,没有基础也能学得会。
3454
2022-09-29 16:42:05