软件测试分类篇(下)

目录

一、按照测试阶段分类

1. 单元测试

2. 集成测试

3. 系统测试

3.1 冒烟测试

3.2 回归测试

4. 验收测试

二、按照是否手工测试分类

1. 手工测试

2. 自动化测试

3. 手工测试和自动化测试的优缺点

三、按照实施组织分类

1. α测试(Alpha Testing)

2. β测试(Beta Testing)

3. 第三方测试

四、按照测试地域分类

1. 国际化测试

2. 本地测试


一、按照测试阶段分类

1. 单元测试

  • 目的测试单个模块或函数的功能。
  • 方法针对每个单元编写测试用例。

        与编码同步进行,针对软件最小组成单元进行测试,主要采用白盒测试方法,从被测对象的内部结构出发设计测试用例,到底怎么才算“最小单元”呢,最小单元实际是认为定义的,⼀个方法,一个类都可以理解为“最小单元”。

  • 测试阶段:编码后或者编码前(TDD)
  • 测试对象:最小模块
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:代码和注释+详细设计文档
  • 测试方法:白盒测试
  • 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

2. 集成测试

  • 目的测试多个模块或组件的集成效果。
  • 方法检查接口和数据流的正确性。

        集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。

  • 测试阶段:一般单元测试之后进行
  • 测试对象:模块间的接口
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:单元测试的模块+概要设计文档
  • 测试方法:黑盒测试与白盒测试相结合
  • 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 

3. 系统测试

  • 目的测试整个系统的运行效果。
  • 方法模拟实际运行环境,进行全面测试。

对通过集成测试的系统进行整体测试,验证系统功能性和非功能性需求的实现。

  • 测试阶段:集成测试通过之后
  • 测试对象:整个系统(软、硬件)
  • 测试人员:黑盒测试工程师
  • 测试依据:需求规格说明文档
  • 测试方法:黑盒测试
  • 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

3.1 冒烟测试

        这一术语源自硬件行业。对⼀个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。

        冒烟测试的对象是每⼀个新编译的需要正式测试的软件版本,目的是确认软件主要功能和核心流程正常,在正式进行系统测试之前执行。冒烟测试一般在开发人员开发完毕后提交给测试人员来进行测试时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。

        如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重新修复代码直到冒烟测试通过,再开始进行系统测试。

        在生活中,购买⼀个电视,首先会通电,查看电视是否能够运行。购买⼀个水杯,首先会灌水,查看水杯是否漏水。

        在工作中,假如有⼀个博客系统项目提测了,冒烟测试即只需要测试系统是否能够成功打开,主流程是否可以走通即可。

3.2 回归测试

        回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

        在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

        回归测试主要由人工测试和自动化测试进行。

        在实际工作中,回归测试需要反复进行,当测试者⼀次又⼀次地完成相同的测试时,这些回归测试将变得非常令人厌烦,而在大多数回归测试需要手工完成的时候尤其如此,因此,需要通过自动测试来实现重复的和⼀致的回归测试。通过测试自动化可以提高回归测试效率。为了支持多种回归测试策略,自动测试工具应该是通用的和灵活的,以便满足达到不同回归测试目标的要求。

4. 验收测试

  • 目的确保软件满足用户需求。
  • 方法用户参与测试,验证功能和性能。

        针对用户需求,对通过系统测试的软件进行交付性测试,以确定系统是否满足验收标准,由用户或其他授权机构决定是否接受系统。验收测试是部署软件之前的最后⼀个测试操作。它是技术测试的最后⼀个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买者展示该软件系统满足原始需求。

  • 测试阶段:系统测试通过之后
  • 测试对象:整个系统(包括软硬件)。
  • 测试人员:主要是最终用户或者需求方。
  • 测试依据:用户需求、验收标准
  • 测试方法:黑盒测试
  • 测试内容:同系统测试(功能...各类文档等)

🌴单元测试,集成测试,系统测试,回归测试之间的关系

关于车企生产车到客户开上小汽车的全过程:

        造车需要原材料,如车轮、发动机等零部件不是车企自己制造出来的,而是通过购买零部件来造车。对买来的零部件进行检查,零部件是否符合造车标准(单元测试

        零件确认完毕,接下来就是复杂的造车工艺,将零部件集成起来构成了⼀辆车,并初步检查拼成的车是否能正常运作(集成测试

        一辆车成型之后并不意味着就可以直接销售给客户了,需要车企专业的测试人员进行详细而完整的测试。(系统测试

        专业的测试人员对企业测试完毕,通过测试的汽车将会在车展或者4S店进行展示,供用户进行选择和购买。用户在选择汽车的过程中也会对车外观以及性能等方面进行校验(验收测试

二、按照是否手工测试分类

1. 手工测试

  • 定义由测试人员手动执行测试用例。
  • 优点灵活性高,适用于复杂的测试场景。
  • 缺点:效率低,容易出错。

        手工测试就是由人去⼀个⼀个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的⼀个步骤。

2. 自动化测试

  • 定义使用自动化工具执行测试用例。
  • 优点效率高,可重复性强。
  • 缺点需要额外的开发和维护成本。

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

3. 手工测试和自动化测试的优缺点

  • 手工测试适合探索性测试和复杂场景。
  • 自动化测试适合回归测试和重复性高的场景。
自动化测试手工测试
优点
  • 节省成本
  • 提高测试人员执行工作效率
  • 保障软件的质量
  • 对测试人员技术要求没有自动化技术要求高
  • 可以进行发散性测试
缺点
  • 对测试人员技术要求较高
  • 不能发散性测试
  • 效率低
  • 人员、时间成本比起自动化测试都比较高

三、按照实施组织分类

大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试

1. α测试(Alpha Testing)

  • 定义在开发环境中由开发者或测试人员进行的测试。
  • 目的发现和修复初步的错误。

        α测试又叫内测或者叫a测,其实都是一个涵义。

        α测试通常是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、可使用性、可靠性、性能和支持)。 α测试不能由程序员或测试员完成。

2. β测试(Beta Testing)

  • 定义在用户环境中由实际用户进行的测试。
  • 目的收集用户反馈,优化产品。

        β测试又叫公测或者叫b测。

        β测试由软件的最终用户们在⼀个或多个场所进行,这里就可以理解为,β测试是正式用户中的⼀部分,他们在任意的场合来使用软件,目的是为了发现软件是否存在⼀系列的问题。

        通常会发送一些邀请码,来邀请用户参与项目测试。

α测试与β测试的区别

测试的场所不同α测试是在公司内部进行测试的,但是β测试是在用户环境下进行测试的 α测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中 β测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
测试执行时机不同通常是α测试通过后,在进行β测试
测试持续时间长短不同α测试时间没有β测试持续时间⻓

3. 第三方测试

  • 定义由独立的第三方测试机构进行的测试。
  • 目的提供客观的测试结果和建议。

        第三方软件测试是指由独立的第三方公司或组织进行的软件测试活动,通过第三方测试,可以确保软件的质量,节省成本,确保软件尽快上线。

四、按照测试地域分类

1. 国际化测试

  • 定义确保软件在不同国家和地区的本地化版本都能正常工作。
  • 方法语言、日期、货币格式等本地化测试。

国际化测试需要关注的软件特性:

  • 布局
  • 时间
  • 日期
  • 数字格式
  • 货币
  • 机器型号
  • .....

2. 本地测试

  • 定义针对特定地区或市场的测试。
  • 方法符合当地法规和用户习惯的测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1542940.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【LTW】Domain General Face Forgery Detection by Learning to Weight

文章目录 Domain General Face Forgery Detection by Learning to Weightkey points方法LTW元分割策略学习过程损失函数实验评价结果消融实验总结Domain General Face Forgery Detection by Learning to Weight 会议:AAAI-21 作者: code: https://github.com/skJack/LTW 上…

理解JVM中的死锁:原因及解决方案

死锁是并发应用程序中的常见问题。在此类应用程序中,我们使用锁定机制来确保线程安全。此外,我们使用线程池和信号量来管理资源消耗。然而,在某些情况下,这些技术可能会导致死锁。 在本文中,我们将探讨死锁、死锁出现…

旋转机械故障诊断 震动故障分析与诊断

旋转机械故障诊断 机理资料整理 电气故障,机械故障(不平衡,不对中,松动,轴承,共振,流体振动,皮带松动),低速与高速机器故障诊断等 旋转机械故障诊断:机理资料整理 目录…

河钢数字PMO牛红卫受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 河钢数字技术股份有限公司项目管理部PMO牛红卫受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“从技术到领导力——项目经理成长进阶之道”。大会将于10月26-27日在北京举办&…

数据结构——串的模式匹配算法(BF算法和KMP算法)

算法目的: 确定主串中所含子串(模式串)第一次出现的位置(定位) 算法应用: 搜索引擎、拼写检查、语言翻译、数据压缩 算法种类: BF算法(Brute-Force,又称古典的…

NASA:ATLAS/ICESat-2 L3 B每周网格大气数据集V005

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Weekly Gridded Atmosphere V005 简介 该产品报告每周全球云覆盖率、海洋上总列光学深度、极地云覆盖率、风吹雪频率、视表面反照率以及地面探测频率。 参数:云光学…

Java 每日一刊(第15期):内部类

文章目录 前言内部类成员内部类(Member Inner Class)静态内部类(Static Nested Class)局部内部类(Local Inner Class)匿名内部类(Anonymous Inner Class) 内部类的详细对比内部类字节…

新增用户 开发

原型分析 接口设计 数据库设计 代码开发 controller /*** 新增员工** param employeeDTO* return*/ApiOperation("新增员工")PostMappingpublic Result<String> save(RequestBody EmployeeDTO employeeDTO) {log.info("新增员工&#xff1a;{}", emp…

C++离线查询

前言 C算法与数据结构 打开打包代码的方法兼述单元测试 概念及原理 离线算法( offline algorithms)&#xff0c;离线计算就是在计算开始前已知所有输入数据&#xff0c;输入数据不会产生变化&#xff0c;且在解决一个问题后就要立即得出结果的前提下进行的计算。 通俗的说&a…

智能优化算法-遗传算法(GA)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 遗传算法 (Genetic Algorithm, GA) 是一种基于自然选择和遗传学原理的元启发式优化算法&#xff0c;它模仿了生物进化过程中的选择、交叉和变异操作来搜索最优解。 GA的工作机制主要包括&#xff1a; 选择&am…

73 矩阵置零

解题思路&#xff1a; \qquad 原地算法&#xff0c;指除原有输入资料所占空间外&#xff0c;使用额外空间尽可能少(常数空间)的算法。本题容易想到的一种解法是&#xff0c;对于m x n的矩阵&#xff0c;一次遍历把含有0元素的行号、列号记录下来&#xff0c;然后再一次遍历把对…

中序遍历二叉树全过程图解

文章目录 中序遍历图解总结拓展&#xff1a;回归与回溯 中序遍历图解 首先看下中序遍历的代码&#xff0c;其接受一个根结点root作为参数&#xff0c;判断根节点是否为nil&#xff0c;不为nil则先递归遍历左子树。 func traversal(root *TreeNode,res *[]int) {if root nil …

阿⾥编码规范⾥⾯Manager分层介绍-专⽤名词和POJO实体类约定

开发⼈员&#xff1a;张三、李四、王五 ⼀定要避免单点故障 ⼀个微服务起码两个⼈熟悉&#xff1a;⼀个是主程⼀个是技术leader 推荐是团队⾥⾯两个开发⼈员 N⽅库说明 ⼀⽅库: 本⼯程内部⼦项⽬模块依赖的库(jar 包)⼆⽅库: 公司内部发布到中央仓库&#xff0c;可供公司…

计算机毕业设计推荐-基于python的白酒销售数据可视化分析

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、白酒销售数据…

记一次Meilisearch轻量级搜索引擎使用

以前使用的是mysql的全文索引、最开始还行。后续觉得就不好用了&#xff0c;但是服务器资源有限&#xff0c;没法上ES&#xff0c;只好找一个轻量级的搜索引擎、找了半天&#xff0c;决定使用这一个&#xff0c;目前效果还不错的。 参考网址 官网&#xff1a;https://www.meil…

基于单片机的智能小车的开发与设计

摘要&#xff1a;本文论述了基于 STC89C52 单片机的智能小车的开发与设计过程。该设计采用单片机、电机驱动及光电循迹等技术&#xff0c;保证小车在无人管理状态下&#xff0c;能按照预先设定的线路实现自动循迹功能。在电路结构设计中力求方便&#xff0c;可操作&#xff0c;…

麦克斯韦方程组

目录 1. 高斯定律&#xff08;电场部分&#xff09; 2. 高斯定律&#xff08;磁场部分&#xff09; 3. 法拉第电磁感应定律 4. 安培定律&#xff08;带有位移电流项&#xff09; 5.麦克斯韦方程组的物理意义 麦克斯韦方程组为我们提供了一个完整的电磁场理论框架&#xff…

[Meachines] [Medium] Querier XLSM宏+MSSQL NTLM哈希窃取(xp_dirtree)+GPP凭据泄露

信息收集 IP AddressOpening Ports10.10.10.125TCP:135, 139, 445, 1433, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669, 49670, 49671 $ nmap -p- 10.10.10.125 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 135/tcp open msrp…

CentOS 7 YUM源不可用

CentOS 7 操作系统在2024年6月30日后将停止官方维护&#xff0c;并且官方提供的YUM源将不再可用。 修改&#xff1a;nano /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo [base] nameCentOS-$releasever - Base baseurlhttp://mirrors.aliyun.com/centos/$rel…

【Unity Shader】Special Effects(九)Vortex 旋涡(UI)

源码:[点我获取源码] 索引 Vortex 旋涡思路分析旋涡中心旋涡旋转旋涡强度旋涡动画Vortex 旋涡 旋涡效果可以将一张图像以指定点作为旋涡中心,呈顺时针旋涡动画效果,使用动画播放器: 思路分析 首先,旋涡特效的核心也即是旋转(特别是uv坐标的旋转); 在此基础上,旋涡中…