【软件测试】软件测试分类

news2024/11/19 3:25:16

1. 按照测试对象划分

界面测试

界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是
否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正
确,命名是否统一,页面是否美观,文字、图片组合是否完美等。
一般大厂都有自己的规范可以作为测试参考。中小公司这部分测试一般都没有,除非明确的错误,否则容易和开发
人员引起争议。

界面测试参考UI设计图

可靠性测试

可靠性即可用性,是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示
可靠性=正常运行时间/(正常运行时间+不正常运行时间)*100%
可用性指标一般要求达到4个或5个9,即99.99%或者99.999%

容错性测试

容错性测试是指系统能够处理异常,用户的错误操作不至于系统奔溃,从而能够提高系统的可用性
文档测试
通常来说是在需求评审时测试人员需要进行需求分析(文档测试)
文档测试关注点:

兼容性测试

浏览器兼容(Chrome,Firefox,Safari)
平台兼容(Linux,Windows,Mac,安卓,苹果,鸿蒙,不同平台也有不同的版本)
自身兼容性:Chrome软件(1~103版本…)
其他软件的兼容性:百度APP(tab推荐,直播,小说…),贴吧,好看视频都有小说的入口(通过矩阵产品来引流),数据兼容

易用性测试

软件需要具备简单易上手的属性

安装卸载测试

移动端测试很容易遗漏掉卸载测试

安全测试

安全测试是一个相对独立的领域,需要更多的专业知识。例如web的安全测试,需要熟悉各种网络协议
TCP\HTTP,防火墙,CDN,熟悉各种操作系统的漏洞,熟悉路由器等。从软件来说,熟悉各种攻击手段,例如
SQL注入、Xss等。
作为web入门测试,可以IBM的appscan。

SQL注入(or where 1=1),XSS 漏洞(输入script代码),越权(垂直越权,水平越权)
在这里插入图片描述

性能测试

资源泄漏(内存泄漏),资源瓶颈(CPU、内存、网络、进程对比),采长补短
内存泄漏检查测试:

  1. 工具检查:静态代码扫描工具
  2. 人工检查

按照是否查看代码划分

黑盒测试

把代码看成是一个黑匣子,不关心内部结构和特性,只关心功能是否符合产品规格说明书的要求,黑盒测试又可以称为数据驱动测试或者功能测试
常见的黑盒测试设计测试用例的方法:

  1. 等价类
  2. 边界值
  3. 正交表法
  4. 判定表法
  5. 场景法
  6. 错误猜测法

白盒测试

白盒测试又可以称为结果测试或者逻辑驱动测试,检查程序内部实现,从代码的角度去查看问题,检查程序的运行状态是否符合预期

灰盒测试

介于黑盒测试和白盒测试两者之间,既要关心内部结构和特性,还要关心功能是否符合要求
● 为什么不直接用灰盒测试?
● 灰盒测试没有白盒测试详细,完整;黑盒测试是覆盖产品功能范围最广的测试,所以灰盒测试是不能取代黑盒测试和白盒测试的,但是黑盒测试可以取代灰盒测试,但是不建议,需要消耗很大的代价,需要设计非常非常多的测试用例

面试题:常见的测试方法有哪些?哪种测试方法用的多?
● 常见的测试方法有白盒测试和黑盒测试,在工作中需要根据实际情况来结合白盒测试和黑盒测试,通常来说测试人员使用黑盒测试方法相对多一点,需要结合白盒测试来完善测试,提高软件的健壮性
灰盒测试通常在集成测试用的多(开发人员用的多)

按照开发阶段划分

单元测试

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

集成测试

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

冒烟测试

由测试人员来执行,检查系统主要功能和主要流程是否正常,评估软件、系统是否具备可测试的条件/可测试的标准
系统测试
将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统
测试执行阶段,包括回归测试和冒烟测试,保证系统规格符合产品规格说明书
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测
试将大幅降低系统测试、维护升级等阶段的成本。 (在保证修复的功能正常后,同时保证历史其他功能没有受到破坏,错误等)

验收测试

通常指的是用户来进行验证测试,目的就是为了验证产品/程序符合用户的需求
实际上主要由产品同学/运营同学来进行验收

按照测试实施组织

α测试

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试
的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成

案例:手机出厂前最后一次测试,开发和测试人员不参与。

β测试

Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个场所进行。
α测试与Beta测试的区别:
测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测
试。
Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,
用户数量相对比较多,时间不集中。
alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。

案例:新手机购买回来,参与测试的人是购买者,使用的场所及环境已不再是手面厂商的环境及场所。

第三方测试

介于开发方和用户方间的组织的测试。

按照是否运行划分

静态测试

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

● 代码静态分析和文档测试都属于静态测试

动态测试

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性
能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
大多数软件测试工作都属于动态测试。

按照是否手工划分

手工测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步
骤。总结优缺点:
● 优点:自动化无法替代探索性测试、发散思维结果的测试。
● 缺点:执行效率慢,量大易错。

自动化测试

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

按照测试地域划分

国际化测试

软件的国际化和软件的本地化是开发面向全球不同地区用户使用的软件系统的两个过程。而本地化测试和国际化测
试则是针对这类软件产品进行的测试。由于软件的全球化普及,还有软件外包行业的兴起,软件的本地化和国际化
测试俨然成为了一个独特的测试专门领域。

本地化测试

之前写的所有测试方法都属于本地化测试

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

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

相关文章

U3751频谱分析仪

18320918653 U3751 频谱分析仪爱德万U3751特点: 频率范围:9kHz~8GHz 大输入电平:30dBm RBW:300Hz~3MHz 体积小,重量轻(5.6公斤),测量速度快 户外量测:W-CDMA&#xff…

unity日记10(无头盔开发vr XR Device Simulator操作说明| 模之屋模型导入unity )

目录 XR Device Simulator配置参考视频 XR Device Simulator操作方法参考视频 模之屋模型导入unity参考视频 XR Device Simulator操作方法(个人心得) 1.摄像机 1.摄像机左右移动 右键移动鼠标 2.摄像机前后移动 右键滚动滚轮 3.摄像…

Vulnhub之HACKABLE: II

1.信息收集 使用arp-scan扫描存活网段 使用nmap对192.168.239.126进行端口扫描,发现存在21(可匿名登录)、22、80端口 2.漏洞发现 使用ftp 192.168.239.126进行匿名登录,注意:anonymous都要小写。执行dir命令发现CALL.html 执行get CALL…

mybatis 的mapper接口没有实现类,那么他是如何工作的

一、mybatis使用动态代理要实现的功能。 mybatis 的底层实际上运行的还是ibatis,即需要把接口和xml映射翻译成 ibatis 需要的这种格式。 二、mapper接口的动态代理 当使用 sqlSession.getMapper 获取一个Mapper 的时候一般是使用 sqlSession 的 DefaultSqlSession…

K_A11_006 基于STM32等单片机采集雨水模块 串口与OLED0.96双显示

K_A11_006 基于STM32等单片机采集雨水模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线说明1.1、STC89C52RC雨水模块1.2、STM32F103C8T6雨水模块五、基础知识学习与相关资料下载六、视频…

电脑开机找不到启动设备怎么办?

如果你的电脑弹出错误消息并提示“找不到启动的设备”,不用担心,本文将告诉你5种不同的方法,可以轻松修复无可引导的设备的问题!“找不到启动设备”是什么意思?可引导设备(又称启动设备)是一种存…

Vue.js学习笔记

vue.js学习笔记 Vue.js 是一款流行的 JavaScript 前端框架,Vue 所关注的核心是 MVC 模式中的视图层,它也方便地获取数据更新,实现视图与模型的交互。 1.创建代码片段 声明式渲染:Vue.js 的核心是一个允许采用简洁的模板语法来声…

kafka开kerberos认证报错the client is being asked for a password

Kafka kerberos认证错误记录TOC kafka开发调试 kerberos认证错误记录 背景 kafka 开发调试,开 kerberos情况下遇到的错误。 错误日志 Could not login: the client is being asked for a password, but the Kafka client code does not currently support obta…

隐私计算主流技术

隐私计算目前主流的技术路线有三种:多方安全计算、联邦学习和TEE。 1. MPC多方安全计算 百万富翁问题: 两个富翁,分别为张三和李四,他们自己都清楚自己有几千万财产即他们心里清楚 1~10中的一个数(代表自己千万级的财富)。他们想知道到底谁的数更大一些。 1.1 MPC定义 …

【博学谷学习记录】大数据课程-学习第三周总结

1. 大数据课程导论 数据分析的前提是有数据,数据存储的目的是支撑数据分析。究竟怎么去存储庞大的数据量,是开展数据分析的企业在当下面临的一个问题。传统的数据存储模式存储容量是有大小限制或者空间局限限制的,怎么去设计出一个可以支撑大…

【UE4 第一人称射击游戏】49-僵尸攻击动画

上一篇:【UE4 第一人称射击游戏】48-僵尸死亡设置本篇效果:可以看到僵尸在移动到玩家面前会从移动状态转为攻击状态,播放相应的攻击动画。步骤:打开“SimpleAI”,删除所有和“Character看见pawn时”、“AI随机移动”的…

动态规划算法刷题笔记【背包问题】

01背包问题 dp[i-1][j]指没纳入当前物品,dp[i-1][j-ci]wi指纳入当前物品,并且是和j-ci体积下的价值作和 滚动数组优化空间复杂度 [NOIP2005 普及组] 采药 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜…

基于jsp+mysql+Spring的Springboot旅游网站管理系统设计和实现

基于jspmysqlSpring的Springboot旅游网站管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末…

数据库操作——redis

数据库操作——redisredis介绍Redis、Mamcache/MongoDB对比分布式数据库的CAP原理redis的下载和安装安装之后的操作key操作数据类型字符串命令 string列表 list集合set哈希hashZset 有序集合持久化RDB相关的配置AOF相关的配置开启AOF共存AOF 相关的配置总结事务定义和执行事务的…

【Linux杂篇】Cron是什么?利用Cron Job自动执行定时任务

Cron Cron是一个实用程序,用于在特定的时间自动执行重复任务。在Linux中,常用 cron 服务器来完成这项工作,以下是Cron的工作原理: 如果想稍后执行特定任务一次,可以使用其他命令。但是,对于重复性任务&am…

模电视频笔记:详解直接耦合放大电路p146,3.1.1

一个图一个图的分析下来: 初始的电路原型 ,这是把两个基本的共射放大电路组合了起来。 补充几个很重要的知识点,否则字都认识,但是完全看不懂在说什么: a、图中的晶体管是npn型晶体管。 b、这个电路是共射放大电路 c、…

产品经理如何更好的适应工作呢?

先来了解一下和产品经理相关的数据 大厂职能需求占比变化 岗位薪酬水平&岗位要求 产品经理市场需求现状 大厂喜欢招聘什么样的人? 无论是通过什么途径成为了一名产品经理,对于该岗位所需要的技能其实都是类似的,把产品经理需要具备的能力…

236. 二叉树的最近公共祖先

236. 二叉树的最近公共祖先 难度中等 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大…

【算法数据结构初阶篇】:随机函数

随即函数的用处非常大,比如可能用来用做对数器,生成大量随机的测试数据,用来验证我们写的程序是否有误,可以帮助我们快速定位存在错误的测试用例,进行debug。这里注意Java中的随机函数Math.random()是等概率的返回[0,1…

TCP/IP网络编程(4)——基于 TCP 的服务端/客户端(1)

文章目录第 4 章 基于 TCP 的服务端/客户端(1)4.1 理解 TCP 和 UDP4.1.1 TCP/IP 协议栈4.1.2 链路层4.1.3 IP 层4.1.4 TCP/UDP 层4.1.5 应用层4.1.6 生活小例子4.2 实现基于 TCP 的服务器/客户端4.2.1 TCP 服务端的默认函数的调用程序4.2.2 进入等待连接…