软件测试分类

article/2025/8/19 22:57:32

一、软件测试的分类

1、按开发阶段:单元测试、集成测试、系统测试、验收测试
2、按测试实施组织:α、β、第三方
3、按测试执行方式:静态测试、动态测试
4、按是否查看代码:黑盒测试、白盒测试、灰盒测试
5、按是否手工执行划分:手工测试、自动化测试
6、按测试对象划分:性能测试、安全测试、兼容性测试、文档测试、易用性测试(用户体验测试)、业务测试、界面测试、安装测试
7、按测试地域划分:本地化测试、国际化测试
二、按开发阶段划分

这里写图片描述

1、UI界面层(用户界面测试):功能性验证测试、兼容性与用户测试
2、业务逻辑层(API层面):客户端模拟测试、内外接口测试、SDK接口测试(Software Development Kit一般指的是软件工程师特定的软件包建立的开发工具的集合)
3、数据处理层:单元测试

1)单元测试

单元测试是对软件组成进行的测试。其目的是检验软件基本组成单位的正确性。测试对象是软件设计的最小单元:模块,又称为模块测试。
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发人员
测试依据:代码和注释+设计详细文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

单元测试是白盒测试,但是白盒测试不是单元测试

2)集成测试

集成测试(也成联合测试,联调)、组装测试,将程序模块采用适当的集成策略组装起来,
测试阶段:一般的单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试模块+概要设计文档
测试方法:黑盒测试和白盒测试相互结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能的正确性、全局数据结构、单模块缺陷对系统的影响。
3)系统测试

将软件系统看成一个系统测试。包括对功能、性能以及软件所运行的硬软件环境进行测试。时间大部分在系统测试执行阶段,,包括了回归测试和冒烟测试
测试阶段:集成测试之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全等
回归测试(Regression Tesing)

回归测试指的就是你修改了旧的代码之后。重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
在整个软件的过程中占有很大的工作量比重,软件开发的各个阶段都会运行多次回归测试。
冒烟测试(Regression Tesing)

对一个硬件或硬件组件进行更改或修复后,直接给设备加电,如果没有冒烟就认为该组件通过了测试,
冒烟测试的对象都是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,可以进行后续的测试工作,冒烟测试的执行者是版本编译人员。
冒烟测试一般是开发人员开发完毕之后送给测试人员进行测试时,测试人员要先进行冒烟,用以保证基本功能是正确的,不会阻碍后续的测试。
4)验收测试

验收测试是部署软件之前的最后一个测试操作,它是技术测试室的最后一个阶段,也叫做交付测试,验收测试的目的是保证软件的准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件的购买者展示该软件的原始的需求。

  • 测试阶段:系统测试之后
  • 测试对象:整个的系统(包括软硬件)
  • 测试人员:最终的用户或者需求方
  • 测试依据:用户需求和验收标准
  • 测试方法:黑盒测试
  • 测试内容:同系统测试一样(功能。。。。文档等)

    三、测试实施组织

    1)α测试

    主要是由一个用户在开发环境进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
    主要的目的是:评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持);

预发布环:和生产环境是一样的,由本项目以外的研发和测试人员进行的测试、公司内部的客户不参与,项目以外的人员都可以进行与

2)β测试

β测试:由软件的最终的用户们在一个或者多个客户场所进行的测试。
α测试和β测试的区别:
测试的场所是不同的:α测试是把用户请到开发方的场所进行的测试,β测试值的是就是在一个用户或者多个用户场所所进行的测试。
α测试的测试环境是由开发方进行控制的,用户的数量是相对比较少的,时间也是相对比较集中的。β测试的测试场所也不是由开发方进行控制的,相对来说用户的数量是相对比较多的,但是时间也不是很集中的。
α测试是先与β测试的,通用的软件产品时需要大规模的β测试,猜测是的周期是相对是比较长的。
第三方测试;
介于开发方和用户之间的组织测试。

四、按是否运行进行划分

静态测试:
静态测试值的是不运行程序本身,仅通过分析和检查源程序的语法、结构、过程、接口来检查程序的正确性。对需求规格说明书、软件设计说明书、流程图分析、符号执行来进行找错。

  • 检查项:代码的风格和规则审核;程序设计和结构审核;业务逻辑的审核、走查、审查与技术复审手册
  • 静态质量:软件的质量主要有以下六个方面来衡量:功能性、可靠性、可移植性、可用性、有效性、可维护性。
  • 代码静态分析和文档测试都是属于静态测试
    动态测试
    动态测试指的就是运行被测的程序。检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性的等性能,这种方法主要是由三部分进行组成的:测试用例、执行程序、分析程序运行输出的结果。
    大多数的软件测试就是属于动态测试的。
五、按是否进行手工

手工测试:是由人一个一个的输入测试用例,然后观察结果、和机器测试相对应,属于比较原始,大事需要一个一个步骤进行测试。

  • 优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。
  • 缺点:执行的效率比较慢。量大易错。

自动化测试
在预设条件下运行系统或应用程序,评估运行结果、预先条件应该包括正常的条件和异常条件。简单的说自动化测试是把人为驱动的测试行为转化为机器执行的一种过程。
自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化
通常我们所说的自动化测试就是指的是功能自动化测试
自动化测试按照测试的对象来分:分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。

自动化实施的步骤

  • 1、完成功能测试,版本基本稳定
  • 2、根据项目特性、选择合适的项目自动化工具,并搭建环境
  • 3、提取手工测试的测试用例转化为自动化测试的用例
  • 4、通过工具,代码实现自动化的构造输入,自动检测输出结果是否符合预期
  • 5、生成自动化的构造输入,自动的检测世界古是否符合预期
  • 6、生成自动测试报告
  • 7、持续改进、脚本优化
六、按是否查看代码

1)黑盒测试(Black-box-Testing)

黑盒测试也称为功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,指关心软件的输入数据和输出数据。
2)白盒测试(White-box-Testing)

白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒值的是打开的盒子,去研究里面的源代码和程序结果。
接口测试也是一种白盒测试。
3)灰盒测试(White-box-Testing)

灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,主要用于集成测试阶段。不仅观念朱输入输出的正确性。同时也关注程序内部的情况。

七、按照地域进行划分

1)国际化测试(White-box-Testing)

软件的国际化和软件的本地化是开发面向全球不同地区用户使用的软件系统的两个过程。而本地化测试和国际化测试则是这类软件产品进行测试。由于软件的全球普及。还有软外包行业的兴起,软件的本地化和软件的国际化俨然称为了一种软件测试的专门领域。
本地化和国际化的软件测试的一些测试要点。
1、本地化后的软件在外观上与原来版本存在着一些差异,外观是否整齐、不定样。
2、是否对界面元素进行了本地化处理,包括对话框、菜单、工具栏、状态栏、提示信息(包括声音的提示、日志等)。
3、在不同分辨率界面下是否显示的是正常的。
4、是否存在不同的字体的大小,字体设置的是否恰当。
5、日期、数字格式、货币等是否能够适应不同的国家的文化习俗。例如年、月、日,而英文是月日年。
6、排序的方式是否考虑到了不同语言的特点。
7、在不同个的国家采用的是不同的度量单位,软件是否能够自适应和转换。
8、软件是否能够在不同类型的硬件上正常运行。正文翻译是否正确,恰当是否有语法的错误。
9、软件是否能够适应不同的操作系统的平台。
10、联机帮助和文档是否已经进行翻译,翻译后链接是否正常。正文翻译是否正确,恰当是否有语法的错误。
本地化测试
之前所有我们将的都是基于本地化进行测试的。

测试对象划分

1)业务测试

是测试人员将系统的各个模块串接起来运行、模拟真是用户实际的工作流程,满足永续需求定义的功能进行测试的过程。
2)界面测试

界面测试也成为UI测试。测试用户界面的功能模块的布局是否合理,整体风格是否一致、各个控件的放置位置是否符合客户的使用习惯,还要测试操作界面操作便捷性、导航简单易懂性、页面元素的可用性,页面元素的可用性、界面中文字是否正确,命名是否统一,页面是否美观、文字、图片组合是否完美。
3)容错性测试

容错性测试:检查软件在异常条件下自身是否具有防护性的措施或密谋中灾难性恢复的手段
划分为容错性测试和非容错性的测试。

4)文档测试

文档测试的关注点
文档的术语
文档的正确性
文档的完整性
文档的一致性
文档的易用性

5)兼容性测试

兼容线性主要指的就是软件之间很好的运作,会不会有影响、软件和硬件之间是否能够发挥很好的效率工作,会不会影响导致系统的奔溃
6)平台测试

7)浏览器测试

8)易用性测试

易用性指的即使我们对于平时所使用的东西是否放在了合适的位置在我们是用的时候能够进行很好的找到。满足人体天生的人体工程学的范畴。

9)安装测试

测试程序的安装、卸载
典型的就是测试APP的测试的安装和卸载

10)安全测试

安全测试是一个相当于来说独立的领域,需更多的专业知识,例如Web的安全测试、需要熟悉各种网络协议,Tcp/Http,防火墙、CDN、熟悉各种操作系统的漏洞。 熟悉路由器等。从软件来说熟悉各种的攻击手段,例如sql注入、Xss等。

11)性能测试

检查系统是否满足需求规格说明书中规定的性能
通常表现在以下的几个方面
- 对资源的利用(如内存、处理机周期等)进行精确地度量。
- 对执行间隔、日志文件(如中断、报错)
- 响应时间
- 吞吐量(TPS)
- 辅助存储区(例如缓冲区、工作区的大小)
-处理精度等进行检测
12)内存泄漏测试

造成内存泄漏的原因

  • 内存分配完了忘记进行了回收
  • 程序写法有问题
  • 某些API函数的使用不正确,造成内存泄漏
  • 没有及时的进行释放

http://chatgpt.dhexx.cn/article/iNfe6OTZ.shtml

相关文章

【软件工程】软件测试报告——软件测试说明书

【备注】本说明书由华中农业大学2018级计算机科学与技术专业的刘畅、刘铠铭、张清望、卢家伟四位同学共同完成。 文章目录 1 引言1.1 编写目的1.2 背景1.3 术语和缩略词1.4 参考资料 2 测试用例设计3 测试结果及分析3.1 测试环境3.2 测试用例执行3.3 结论及建议 1 引言 1.1 编…

软件测试模型有哪些?

目录 1、瀑布模型 2、V模型 3、W模型 4、H模型 5、X模型 6、前置测试模型 1、瀑布模型 瀑布模型(Waterfall Model)是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护&…

1.软件测试-----软件测试的基本概念

目录 一、软件测试的基本概念 1.什么是软件测试? 2.软件测试和软件开发的区别? 3.什么是需求? 4.什么是BUG? 5.如何描述一个BUG? 6.BUG的级别? 7.BUG的生命周期? 8.软件测试的生命周期&#xff1…

软件测试菜鸟入门

更新版:https://weltest.blog.csdn.net/article/details/110529745 视频课程:https://edu.csdn.net/course/detail/23459 目录 前言... 3 软件测试流程... 3 提取测试点... 4 设计测试用例与用例评审... 4 测试类型选择... 5 测试执行与缺陷管理.…

什么是软件测试?

什么是软件测试? 软件测试的定义:在一定条件下对软件进行操作,发现软件的问题,提高软件的质量。 软件测试在开发中的有着重要地位。软件测试在各阶段的完成相应的任务,需求测试,架构测试,详细测…

2022最新软件测试八股文,能不能拿心仪Offer就看你背得怎样了

前言 鉴于目前测试就业越来越严峻,内卷也成了测试领域的代名词了。我的一个HR朋友告诉我,由于门槛较低,现在普通测试岗(偏功能)的投递比已经将近100,也就是一个岗位差不多有百分简历投进来。 所以现在还想…

想自学软件测试?一般人我还是劝你算了吧。。。

本人7年测试经验,在学测试之前对电脑的认知也就只限于上个网,玩个办公软件。这里不能跑题,我为啥说:自学软件测试,一般人我还是劝你算了吧?因为我就是那个一般人! 软件测试基础真的很简单&…

【云服务器】免费云服务器推荐

你还在因为阿里云、腾讯云等的云服务器价格昂贵而放弃自己建站、建服务器的梦想吗?还在因为阿里云、腾讯云推出的免费产品不能永久使用而烦恼吗? 优豆云就能帮你解决。重点是,它提供的云服务器是免费的!!!…

如何操作申请免费云服务器?

2核4G、4核8G服务器申请操作: 第一步: 注册天翼云账号通过以下链接 注册账号https://www.ctyun.cn/agent/#/invitation/20753574或者扫二维码注册 第二步: 注册号账号进行实名认证 个人用户可通过“身份证认证”(扫码认证&…

云服务服务器免费使用

写作目的 最近买了个2核4G的云服务器,自己平时就是写个demo。感觉服务器资源浪费了,所以搭建了一些测试环境方便小伙伴使用。 云服务器免费使用 注意:仅限普通用户 ip:114.115.208.175 用户名:marenlvdou 密码:lvd…

2021各厂免费云服务器申请攻略(阿里云/腾讯云/华为云)

阿里云腾讯云华为云一直都有免费云服务器提供,企业用户个人用户可以申请的免费云服务器配置及免费时长都不同,云服务器吧来详细说下阿里云免费云服务器、腾讯云免费云服务器和华为云免费服务器申请地址、申请条件及申请攻略: 阿里云免费云服…

银河麒麟操作系统添加字体

麒麟操作系统之字体管理器 我们在工作或者制图时,经常需要一些新的字体,你是否时常因为不知如何添加缺失的字体而苦恼呢?针对这一痛点,我们今日便讲解应该如何给电脑添加字体~ 我们将图文相结合的方式,与诸君分享麒麟操…

银河麒麟v10服务器操作系统安装配置

virtualbox设置 镜像下载地址:https://www.kylinos.cn/scheme/server.html 网卡这里给了两张,一张nat模式,一张选择仅主机模式 系统安装 接下来就可以启动虚拟机进入系统安装步骤,安装过程感觉跟centos7.5基本一模一样 为了方…

银河麒麟操作系统rpm安装无反应

操作系统:4.19.90-17.ky10.aarch64 因操作系统不在互联网环境中,且系统中没有telnet功能,所以下载了rpm包上传到服务器上安装。但安装时异常,一直无反应。只能kill掉进程。 解决方案: 进入/var/lib/rpm/目录下 删掉…

银河麒麟高级服务器操作系统 V10 版本安装教程

文章目录 1. 写在前面2. 安装过程 1. 写在前面 随着国产化以及信创(信息技术应用创新)的不断推进,国产操作系统的发展和应用趋势越来越好,银河麒麟就是国产操作系统中的优秀代表。关于银河麒麟的前世今生,大家可以看下…

银河麒麟操作系统启用root账户登录的经验分享

银河麒麟操作系统默认是不开启图形界面root用户登录的,当然也可以通过图形界面登录root用户,下面分享一下银河麒麟操作系统启用root账户登录的经验。 首先我们通过“开始菜单t”快捷键打开命令行页面,然后我们通过“ cd /usr/share/lightdm…

银河麒麟操作系统更新火狐浏览器

操作系统:银河麒麟操作系统 V10 火狐原始版本: 背景:最近在搞兼容性测试,很多前端组件无法适配这么老版本的火狐浏览器,前端页面数据无法展示,接口异常等报错;只能组件降级来保证低版本的火狐浏…

银河麒麟操作系统上安装docker

查看操作系统版本 #查看麒麟系统对应的linux os cat /proc/version可以看到输出的内容中有 “Ubuntu1~16.04.10” 字样*,即银河麒麟与Ubunt比较亲近,可以使用.deb安装包。 docker官网下载安装文件 根据docker官网 https://docs.docker.com/engine/insta…

安装银河麒麟操作系统

文章目录 一、安装银河麒麟操作系统1.1、简介1.2、银河麒麟高级服务器操作系统V101.3、下载银河麒麟镜像1.4、安装银河麒麟操作系统兼容版 一、安装银河麒麟操作系统 1.1、简介 银河麒麟(KylinOS)原是在863计划和国家核高基科技重大专项支持下&#xf…

《国产操作系统之银河麒麟》银河麒麟服务器操作系统安装

目录 前言 麒麟服务器操作系统安装 01 安装准备 02. 引导安装 03. 安装信息摘要 软件选择 全盘安装 手动分区 逻辑卷管理LVM 04. 开始安装 安装完成 系统监控 前言 麒麟服务器操作系统内核:麒麟服务器操作系统v10,是基于CentOS内核的二次开…