系统测试测什么/怎么测
一、系统测试定义与系统测试对象(系统测试测什么)
(一)系统测试的概念
将继承后的软件系统作为整体,结合硬件、软件、数据、人员等,在真实环境下开展端到端、全覆盖的测试,包含功能与非功能测试,主要以黑盒测试为主
(二)系统测试的目的
验证整体系统行为与能力,确认符合需求与设计;核心做功能测试+性能测试;结束标志为覆盖率达标、缺陷趋于零
(三)系统测试的对象
完整集成的计算机系统(包含软件、硬件、网络、数据),不关注内部表现,只按需求验证质量特性
(四)软件系统测试的类型
- 单机纯软件:安装;功能;性能;安全测试;兼容。。。
- B/S架构:兼容;界面;功能;安全;性能;可靠性
- C/S架构:安装;功能;性能;界面
- 嵌入式系统:和硬件相关性非常强(物联网:扫地机器人;车载;空调;手机。。。)
- 各类内外接口:外部接口:网络互联(与外部系统的接口);硬件接口:蓝牙接口;USB接口;Type-C接口;
二、系统测试类型(重点)
(一)功能测试(重点)
核心:按需求规格说明书验证能否完整、正确、精准、无多余的实现,是否符合要求
目标:
- 是否有遗漏的情况(显式需求和系统设计的隐式需求挖掘出来了吗)
- 功能实现精准,逻辑正确
- 合法/非法的数据都能正确处理
- 不画蛇添足,额外镀金
(二)性能测试(重点)
核心:根据不同的业务场景测试软件在运行过程中的各种性能指标(压力值、负载值、容量、吞吐量、吞吐率、并发数等);性能测试一般会用到:web;移动端
目标:用于如何度量和调优(代码、数据库)
- 不同的性能测试类型
1、负载测试:考量不同的负载值,观察这个资源占用和时间响应的情况,去寻找一个最佳负 载值。通过观察负载值的行为表现,做负载均衡。
2、压力测试:压到极限,看何时崩溃、是否可恢复
3、容量测试:测最大数据量 / 用户量处理能力
4、稳定性测试:长时间恒定负载,看是否稳定
- 核心指标
1、响应时间、吞吐量、吞吐率
2、容错率、CPU / 内存 / 磁盘 / 网络使用率
- 工具:JMeter、LoadRunner
(三)安全测试
定义:测试软件保护信息和数据的晨读,包括保密性、完整性、抗抵赖性、真实性,针对北侧软件系统的信息安全进行测试,其中尤其重要的是本身数据的完整性和保密性,遵循 CIA 三要素
- C 保密性:不该看的看不到
- I 完整性:数据不被非法篡改
- A 可用性:不被攻击瘫痪
(四)易用测试
- 定义:验证系统是否好操作、好学习、好理解。
- 测试点
- 界面布局、颜色、字体、按钮位置
- 提示信息清晰、无歧义
- 快捷键、Tab 键顺序、操作流程
- 适配不同人群使用习惯
- 目标:降低学习成本,提升用户体验
(五)安装测试
- 定义:验证软件安装、卸载、升级是否正常,属于可移植性。
- 测试点
- 安装前:安装包完整、序列号 / 命令正确
- 安装中:目录选择、步骤、进度、临时文件
- 安装后:图标、菜单、注册表、启动正常
- 卸载:无残留文件、注册表清理干净
- 升级:跨版本升级、数据不丢失
(六)兼容测试
- 定义:验证系统在不同环境下能否正常运行(企业常用 “适应性” 定义)。
- 分端测试点
- Web:操作系统 + 浏览器(内核 / 版本)+ 屏幕分辨率
- 移动端:手机型号 + 系统版本 + 屏幕适配
- 小程序:微信版本兼容
- 目标:多环境无错乱、无闪退、功能一致
(七)网络测试
- 定义:验证系统在各种网络条件下的表现。
- 测试点
- 弱网、断网重连、网络切换
- 4G/5G、Wi‑Fi、有线网
- 不同运营商(移动 / 联通 / 电信)
- 目标:网络波动不崩溃、数据不丢失
(八)异常测试
- 定义:制造各种异常情况,考察被测试软件系统的可靠性表现,以及容错能力。
- 测试点
- 超大文件上传、非法数据输入
- 网络反复断开、重连
- 服务器宕机、断电、重启
- 冗余 / 备份机制(故障恢复)
- 目标:异常场景不崩溃、功能基本可用
(九)备份测试
- 定义:验证系统数据与文件备份、恢复是否有效。
- 测试点
- 自动 / 手动备份是否完整
- 备份文件可正常恢复
- 恢复后数据无丢失、无错乱
- 目标:故障后可快速恢复业务
三、系统测试过程(系统测试怎么做)
- 熟悉需求
- 做什么:读需求文档、业务流程、原型图
- 目标:知道测什么、业务怎么走
- 产出:需求理解笔记、测试范围初稿
- 制定系统测试计划 → 评审
- 测试范围(测哪些、不测哪些)
- 人员分工、时间安排
- 测试环境、工具、方法
- 测试指标(覆盖率、用例数、通过率)
- 风险与应对、挂起 / 恢复条件
- 交付物清单
- 动作:写完→评审→定稿
- 测试分析与设计 → 评审
- 测试分析:拆测试点(按模块、功能、质量特性)
- 测试设计:
- 环境怎么搭
- 测试数据怎么准备
- 用例怎么写
- 冒烟 / 回归规则
- 产出:测试点、测试方案
- 测试实现(写用例 / 搭环境 / 备数据)
- 测试分析:拆测试点(按模块、功能、质量特性)
- 测试设计:
- 环境怎么搭
- 测试数据怎么准备
- 用例怎么写
- 冒烟 / 回归规则
- 产出:测试点、测试方案
- 测试执行(冒烟 → 全面测试 → 回归)
(1)冒烟测试
- 目的:快速验证版本可测性
- 做法:测核心流程、主功能
- 通过标准:80% 用例通过,无致命 / 严重 bug
- 不通过 → 打回开发
(2)全面系统测试
- 按用例逐条执行
- 提交缺陷(禅道 / Jira)
- 跟踪 bug 状态
(3)回归测试
- 测修复的 bug
- 测受影响的功能
- 迭代项目一般做多轮回归
- 可用自动化提高效率
- 测试收尾(写报告 → 总结)
- 收集数据:覆盖率、用例执行、缺陷统计、效率
- 编写系统测试报告
- 总结经验教训
- 产出:测试报告、复盘记录
精炼5个问题:
(一)叙述系统测试过程
- 先熟悉需求,阅读需求文档。
- 制定系统测试计划并评审。
- 做测试分析与设计,拆测试点、写测试方案并评审。
- 进入测试实现:写用例 / 脚本、部署环境、准备测试数据,评审用例。
- 测试执行:先冒烟测试 → 全面测试 → 回归测试。
- 最后测试收尾:收集数据、写测试报告、总结经验。
(二)结合软件分析测试点
举例:电商 APP 测试点(直接套用)
- 功能:登录、注册、商品浏览、加购、下单、支付、退款
- 性能:秒杀并发、页面加载、高峰期稳定性
- 兼容:不同手机、系统、微信版本、屏幕
- 安全:密码、支付安全、权限、防注入
- 易用:按钮位置、提示、流程是否简单
- 交互:下单影响库存、支付影响订单状态
(三)系统测试执行过程
- 开发提测:开发打包、自检没问题,提交测试。
- 冒烟测试:快速验核心功能,判断版本能不能测。
- 全面测试:按用例执行、提 Bug、跟踪缺陷。
- 回归测试:Bug 修复后测一遍,防止影响旧功能。
开发提测后先做冒烟,通过就全面执行用例、提缺陷,修复后回归,最后出报告。
(四)明白冒烟测试、回归测试
1. 冒烟测试
- 课件定义:快速验证软件基本功能是否正常,判断版本是否可测。
- 来源:电路板上电冒烟→好坏立判。
- 目的:避免测一个根本跑不起来的版本。
- 通过标准:80% 用例通过,无致命 / 严重缺陷。
- 一句话:先 “点火” 看能不能跑,能跑再深入测。
2. 回归测试
- 课件定义:版本更新、Bug 修复后,重新测试防止引入新问题。
- 目的:保证改对了,没把别的功能改坏。
- 做法:选回归用例,可自动化,做多轮。
- 一句话:修完 Bug 再测一遍,确保没问题。
