软件测试5 测试分类
目录俏皮版为啥测试要搞这么多分类按测试目标分我们要测软件哪些方面2.1 UI 界面测试软件的 “颜值质检员”2.2 功能测试软件会不会干活2.3 性能测试软件跑的快不快2.4 可靠性测试软件扛不扛造2.5 安全性测试软件安不安全防不防小偷2.6 易用性测试软件用着爽不爽▶️按执行方式分跑不跑程序是分界线3.1 静态测试不运行代码火眼金睛找 bug3.2 动态测试跑起来软件实测看结果按测试方法分看盒子还是看内部4.1 白盒测试拆开盒子看内部逻辑4.2 黑盒测试闭盒只看输入输出4.3 灰盒测试半开半闭介于两者中间按测试阶段分造车类比一步一步测5.1 单元测试检查每一颗零件5.2 集成测试零件拼一起测接口5.3 系统测试整车完整大体检5.4 冒烟测试新版本先通电亮个机5.5 回归测试改完代码防止旧毛病复发5.6 验收测试客户验车确认可以交付✍️按操作手段分人来测 or 机器帮我们测6.1 手工测试人肉点点点6.2 自动化测试让机器重复干活按实施组织分谁来做这个测试7.1 Alpha 测试α 内测公司内部先玩一玩7.2 Beta 测试β 公测真实用户线上体验7.3 第三方测试外人中立做测评按地域划分国内用还是全球跑8.1 国际化测试出海软件适配全世界8.2 本地测试只适配本土环境萌新复习小结测试阶段执行顺序 面试高频考点1 为啥测试要搞这么多分类软件项目复杂不同开发阶段、不同侧重点需要不同测试手段。把测试划分类别可以让我们清楚什么时间、测什么对象、用什么手段方便管理测试工作不漏掉质量风险。举例子开发写完单个方法的时候我们做单元测试全部模块拼完做系统测试。✨例子作用区分不同阶段该干什么活不会拿到版本不知道从哪里下手测试。2 按测试目标分我们要测软件哪些方面核心我们希望软件既要好看、能用、跑得快、不出错、又安全还好上手。2.1 UI 界面测试软件的 “颜值质检员”UI 测试界面测试对照 UI 设计稿检查页面展示关注完整性、一致性、准确性、友好性测试布局、字体、图片、各类控件输入框、弹窗、滚动条、按钮。举例子设计稿按钮文字是【百度一下】实际页面按钮写成【百度】导航栏少了 “知道” 栏目这就是 UI 缺陷。✨例子作用保证产品页面和设计师产出保持一致用户视觉体验统一不会出现 “买家秀 vs 卖家秀”。2.2 功能测试软件会不会干活验证产品功能是否满足需求文档不关注内部代码只看操作之后结果是否符合预期使用黑盒用例设计方法等价类、边界值、场景法、错误猜测等写测试用例。举例子登录功能输入正确账号密码应该登录成功输入错误密码提示密码错误。✨例子作用保证软件业务可以正常运转这是软件最基础的质量功能崩了其他体验再好也没用。2.3 性能测试软件跑的快不快关注系统响应速度并发压力分析性能需求设计执行测试完成调优。日常现象网页打开慢查询列表加载很久。举例子博客系统100 个人同时访问首页页面加载需要 3 秒需求要求必须 1 秒以内打开这就是性能不达标。✨例子作用高并发场景下保障用户等待时间可控防止用户因为卡顿流失。2.4 可靠性测试软件扛不扛造可用性可靠性可用性系统正常对外提供服务的时间占总运行时间百分比。公式可靠性 正常运行时间/(正常运行时间非正常运行时间)*100%行业常用指标99.99%、99.999%4 个 9、5 个 9。故障来源硬件、断电、网络、软件 bug。举例子全年 7*24 运行系统可用性 99.99%全年允许故障停机时间约 52 分钟如果网站一到晚上就崩溃可用性就很差。✨例子作用衡量系统稳定程度金融、军事系统对可用性要求极高。2.5 安全性测试软件安不安全防不防小偷保护用户数据隐私、数据完整传输抵御攻击常见风险SQL 注入、脚本输入、权限越权、数据篡改、身份伪造。手段代码评审、渗透测试。举例子用户不需要登录直接修改 URL 就可以看到别人的个人订单数据属于权限控制的安全漏洞。✨例子作用防止用户信息泄露、被黑客篡改数据规避重大安全事故。2.6 易用性测试软件用着爽不爽遵循 ISO25020 标准包含规范性、直观性、灵活性、舒适性。通俗讲软件好不好学好不好懂操作反不反人类。举例子打开软件删除数据没有二次确认弹窗一点就直接删掉数据普通用户很容易误操作易用性差手机键盘支持九宫格 / 全键盘 / 手写属于灵活性做得好。✨例子作用降低用户学习成本同样功能易用性好的产品更受用户欢迎。3 ▶️按执行方式分跑不跑程序是分界线唯一判断标准有没有实际运行被测软件3.1 静态测试不运行代码火眼金睛找 bug不运行程序检查代码、文档、界面手段代码走查、代码审查、静态扫描工具。举例子开发写完代码测试 / 同事一起读代码发现变量没有初始化、注释写的混乱没有启动程序就发现问题。✨例子作用在程序运行之前就揪出缺陷bug 发现越早修复成本越低。3.2 动态测试跑起来软件实测看结果运行被测程序输入测试数据比对实际输出和预期结果绝大多数日常测试都属于动态测试。举例子打开 APP输入账号点击登录观察是否登录成功软件实实在在运行起来。✨例子作用模拟真实用户操作发现运行时才会暴露出来的 bug。4 按测试方法分看盒子还是看内部4.1 白盒测试拆开盒子看内部逻辑也叫结构测试、逻辑测试看透程序内部代码逻辑针对逻辑路径设计用例分为静态白盒、动态白盒。动态白盒覆盖语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖多用于单元测试阶段。举例子一段 if 判断代码设计用例把每一行代码、每一条分支都执行一遍检查代码逻辑是否出错。✨例子作用挖掘代码逻辑里面隐藏分支漏洞很多功能测试覆盖不到的代码路径靠白盒覆盖。4.2 黑盒测试闭盒只看输入输出完全不关心内部代码实现只依据需求文档给输入看输出测试人员日常使用最多。方法等价类、边界值、场景法、因果图、错误猜测法。优点站在用户视角缺点无法覆盖全部代码。举例子测试注册功能不知道后台代码怎么写只输入不同手机号看注册结果是否符合需求。✨例子作用模拟真实用户视角保障业务需求全部实现测试人员工作主体。4.3 灰盒测试半开半闭介于两者中间兼顾输入输出结果同时简单了解部分内部程序多用于集成测试阶段。举例子做接口测试我们调用接口传参看返回结果同时简单看接口日志了解内部部分处理逻辑但不去逐行分析全部源码。✨例子作用弥补纯黑盒看不到内部、纯白盒工作量巨大的问题但是不能替代黑盒测试。萌新面试小笔记开发更多使用白盒、灰盒测试工程师日常工作黑盒使用最多。5 按测试阶段分造车类比一步一步测执行顺序单元测试 → 集成测试 → 系统测试冒烟测试、回归测试穿插 → 验收测试类比造车零件检测 → 组装整车 → 车企完整质检 → 通电开机初检 → 修改之后复查 → 用户 4S 店验车。5.1 单元测试检查每一颗零件测试对象软件最小单元一个类、一个方法一般开发人员编写白盒测试编码阶段同步开展。测试内容接口、局部数据、路径、错误处理、边界。常用工具 JUnit。举例子冒泡排序方法单独写代码测试空数组、有序数组、重复元素数组校验排序结果是否正确。✨例子作用把最小模块的 bug 提前消灭模块本身没问题后续集成才不容易踩坑。5.2 集成测试零件拼一起测接口把多个单元模块组装起来重点测试模块之间接口、数据传递单元测试完成之后执行黑白盒结合。举例子登录模块和个人信息模块单独都没问题登录完成跳转个人主页拿不到用户信息属于模块之间接口传参出错集成测试发现该问题。✨例子作用很多 bug 不是模块本身坏了而是模块之间配合出问题专门解决接口交互缺陷。5.3 系统测试整车完整大体检全部模块集成完毕对完整软硬件系统做测试黑盒依据需求规格说明书覆盖功能、UI、性能、安全、兼容性、易用性全部内容。举例子完整电商 APP从头到尾测浏览商品、加购、下单、支付、退款整套全部业务同时测卡顿、页面显示、安全性。✨例子作用完整模拟真实使用场景确认整个系统整体质量达标。5.4 冒烟测试新版本先通电亮个机新版本提测之后正式系统测试之前执行只跑核心主流程验证版本能不能测如果主流程直接崩直接打回开发。举例子博客新版本提测冒烟测试只测能不能打开网站、登录、发布一篇文章如果网站直接打不开不开展详细测试退回开发修复。✨例子作用避免测试人员在一个完全跑不起来的版本浪费大量时间。5.5 回归测试改完代码防止旧毛病复发每当修复 bug、新增功能重新测试原有业务确认修改代码没有搞坏老功能。可手工、可自动化各个阶段都会做。举例子修复 “登录报错” bug 之后不仅测登录还要回头测试收藏、下单这些老功能确认没有被改崩。✨例子作用代码改动很容易牵一发而动全身防止修复一个 bug 引出一堆旧功能 bug。萌新区分冒烟 回归冒烟新版本第一关只看核心流程能不能跑快速判断版本可不可测。回归代码改动后校验老功能不受影响范围比冒烟大很多。5.6 验收测试客户验车确认可以交付系统测试全部通过之后由用户 / 需求方执行黑盒测试交付上线前最后一步看产品是否满足合同和用户需求。举例子公司采购一套 OA 系统甲方业务人员实际上手操作全部业务确认符合自己办公需求签字确认验收。✨例子作用站在客户视角确认产品达到交付标准客户说合格才可以上线交付。6 ✍️按操作手段分人来测 or 机器帮我们测6.1 手工测试人肉点点点测试人员手动输入用例观察软件结果最基础的测试方式。✅优点可以发散探索测试不需要很强代码基础❌缺点重复工作效率低人力成本高。举例子测试同学手动点击 APP 每一个按钮输入各种数据记录 bug。✨例子作用很多探索性、UI 主观体验自动化很难替代手工测试。6.2 自动化测试让机器重复干活写脚本机器自动执行测试步骤适合重复执行的场景接口自动化、UI 自动化、性能自动化。✅优点重复用例效率高节省人力❌缺点需要代码能力不适合做发散探索。举例子写自动化脚本每次版本更新自动跑一遍登录、下单流程不需要人重复点点点常用于回归测试。✨例子作用大量重复回归场景解放人力接口自动化投入产出比高于 UI 自动化。7 按实施组织分谁来做这个测试7.1 Alpha 测试α 内测公司内部先玩一玩内测公司内部人员模拟用户环境环境开发可控用户数量少时间集中程序员、专职测试不能做 α 测试。举例子APP 新版本还没对外公司其他部门同事内部下载试用收集反馈。✨例子作用对外公测之前内部先发现一批问题。7.2 Beta 测试β 公测真实用户线上体验公测真实外部用户在自己真实的环境使用软件环境不受开发管控用户数量多时间分散Alpha 测试完成之后才进行 Beta。举例子APP 发布公测邀请普通用户拿到邀请码下载新版本体验反馈 bug。✨例子作用在多种多样真实用户环境发现公司内部复现不了的问题。7.3 第三方测试外人中立做测评独立第三方测评机构不属于开发方中立评估软件质量产出测试报告。举例子政务软件上线前委托专门测评公司完成安全、功能测评拿到官方测评报告。✨例子作用中立客观很多项目上线要求必须第三方测评。8 按地域划分国内用还是全球跑8.1 国际化测试出海软件适配全世界验证软件在不同国家语言、地区正常工作关注点翻译、页面布局、时间、日期、货币、数字格式。举例子打车软件出海墨西哥切换西班牙语日期格式、货币比索符号展示正确文字不会超出界面。✨例子作用软件出海适配不同地区的习惯不会出现文字乱码、布局错乱。8.2 本地测试只适配本土环境软件只面向本国用户我们前面学的大部分测试都属于本地测试。举例子只面向国内用户的 OA 系统只需要适配中文、人民币、国内时间格式。✨例子作用聚焦本土用户习惯不需要做多语言多地区适配。

相关新闻

【C++ 手写 STL 容器】手撕 list 双向循环链表|迭代器模板复用 + 反向迭代器适配器 庖丁解牛

【C++ 手写 STL 容器】手撕 list 双向循环链表|迭代器模板复用 + 反向迭代器适配器 庖丁解牛

1. 整体架构预览STL std::list底层是带头结点双向循环链表。 难点不在于链表增删节点,而在迭代器封装:原生指针Node*不符合迭代器规范,需要封装迭代器类。为了避免普通迭代器、const 迭代器写两份几乎完全一样的代码,我们利用模板…

2026/10/11 3:29:20 阅读更多 →
指针妙用:从数组到字符串的灵活操作

指针妙用:从数组到字符串的灵活操作

指针如果要传的类型和指针的类型不匹配,则强转例:int a 10;char *p (char *)&a;指针——整型一维数组int a[10] {1,2,3,4};int *p &a[0]; a; 指针——字符型一维数组--主要用来存放字符串 局部作用域的一个数组 char s[] "hello";…

2026/10/10 20:32:54 阅读更多 →
学Simulink——无人机机翼颤振边界条件预测

学Simulink——无人机机翼颤振边界条件预测

目录 手把手教你学Simulink——无人机机翼颤振边界条件预测 一、目标与边界 1.1 输出指标(颤振边界) 1.2 建模对象选择 二、理论方程 2.1 通用模态方程 2.2 典型二元翼段(Theodorsen) 2.3 求解方法对照 三、Simulink 建模…

2026/10/11 14:25:38 阅读更多 →

最新新闻

Python成绩统计作业复盘:从平行列表到字典与函数重构

Python成绩统计作业复盘:从平行列表到字典与函数重构

第二次作业发下来的那天,课程群里比平时安静了不少。第一次作业只要照着课堂示例把代码拼一拼,第二次题目一出,大家才发现要面对的是一整套流程:录入、存储、计算、排序、统计、输出。这道成绩统计题几乎在每个Python入门课程里都…

2026/10/12 5:52:28 阅读更多 →
前缀和进阶:哈希表、二维前缀和与树状数组

前缀和进阶:哈希表、二维前缀和与树状数组

刷LeetCode刷到一定量之后,你会发现前缀和就像一把“万能钥匙”:它能把区间求和从O(n)压到O(1),也能配合哈希表把子数组统计问题从O(n)压到O(n)。在上一个专题里,我详细讲过最基础的一维前缀和构造、区域和检索、中心下标这类直接…

2026/10/12 5:52:28 阅读更多 →
SpringBoot智能推荐卫生健康系统毕设实战:内容推荐算法实现

SpringBoot智能推荐卫生健康系统毕设实战:内容推荐算法实现

1. 项目概述1.1 这个毕设到底在做什么"基于springboot智能推荐的卫生健康系统的设计与实现",说人话就是:做一个能根据用户的身体状况、生活习惯和健康目标,主动给出个性化健康建议的Web平台。它不是一个简单的健康资讯网站&#xf…

2026/10/12 5:52:28 阅读更多 →
JAVA_HOME环境变量配置与排查:从报错到避坑全攻略

JAVA_HOME环境变量配置与排查:从报错到避坑全攻略

做了这么多年Java开发,几乎每个季度都得处理一次“JAVA_HOME环境变量”的幺蛾子。新同事入职第一件事是配JDK,老同事换项目第一件事是切版本,可翻来覆去出问题的,还是那个看起来人畜无害的JAVA_HOME。你可能也见过这样的报错&…

2026/10/12 5:52:28 阅读更多 →
3关键字B+树构建全解析:从分裂上提到删除合并

3关键字B+树构建全解析:从分裂上提到删除合并

如果你能在纸上从零构建一棵最多只装 3 个关键字的 B 树,那基本上就掌握了 B 树八成以上的难点。这是我当年准备面试时一个学长告诉我的,我照做之后发现确实如此——复杂的 m 阶 B 树,无非是把这里的“3”换成“几百”,分裂、上提…

2026/10/12 5:52:28 阅读更多 →
大模型推理优化实践:从KV Cache到语义缓存的三层缓存架构

大模型推理优化实践:从KV Cache到语义缓存的三层缓存架构

上个月排一个线上问题,我们的对外AI问答服务上线第三周,GPU没有扩容,但模型调用账单涨了快三倍。查了一圈下来最扎眼的还不是成本:平均每天十几万请求里差不多一半是“语义重复”——“附近有什么川菜馆”“川菜馆哪家好”“推荐一…

2026/10/12 5:51:27 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →