--- title: 系统测试 date: 2023-04-14 10:55:45.782 updated: 2023-04-14 14:43:06.933 url: /archives/xtceshi categories: - 软件测试 tags: - 测试基础 --- ## 什么是系统测试 检查已经集成的软件是否和需求规格说明书一致 **系统种类**:桌面软件,Web 网站,客户端软件,移动 App,小程序,智能设备 单元测试 集成测试 系统测试比较 - 单元测试 - 对象:函数 - 依据:详细设计 LLD - 重点:函数的功能和内部的逻辑 - 评估:逻辑覆盖率 - 方法:白盒测试为主 - 集成测试 - 对象:模块 - 依据:概要设计 HLD - 重点:模块的功能和函数间的调用(接口) - 评估:接口覆盖率 - 方法:灰盒测试 - 系统测试 - 对象:整个软件 - 依据:需求规格说明书 SRS - 重点:功能测试,性能测试,安全性测试,界面测试 ... - 评估:需求规格覆盖率 - 方法:黑盒测试为主 ## 系统测试活动 **计划** 输入:需求规格 输出:系统测试计划 **设计** 输入:需求规格,系统测试计划 输出:系统测试方案 **实现** 输入:需求规格,系统测试计划,系统测试方案 输出:系统测试用例,系统**预测试**用例 **执行** 输入: 系统测试计划,系统测试方案,系统测试用例,系统预测试用例,集成测试报告 输出:系统测试结果,系统测试缺陷报告,系统测试报告 ## 系统测试类型 #### 功能测试 质量模型中的 **功能性** 分类:单功能测试,功能交互测试,业务场景测试 #### 性能测试 质量模型中 **效率** 性能测试指标:响应时间,吞吐量、吞吐率(单位时间内的吞吐量),TPS(每秒处理事务数) ,并发用户数,内存占用,CPU占用,磁盘占用,功耗,流量 性能测试是一个大的测试类型,是所有性能相关测试的统称。可以细分为几个子测试类型: - **负载测试(相对并发)** 测试系统在各种负载情况下,是否满足 **需求规格说明书各项性能指标** 相关要求,并测试出**系统最大负载** 主要测试系统的**能力** - **压力测试** 测试系统在 **极限负载** 况下是否会崩溃,各项性能指标在 **长时间运行** 的情况下是否稳定 主要测试系统的**耐力** - **容量测试** 测试系统可处理 **同时在线的最大用户数** 只关注数量多少,不关注速度多快 - **基准测试** 用于一些大型的网站的性能测试 找一台普通服务器,针对 **不同版本的软件** 进行小容量的测试,进行对比 - **并发测试**(绝对并发) 测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在问题 ![](/upload/2023/04/image-1681441029628.png) #### 界面测试 质量模型中 **易用性的易理解性和吸引性** 又叫 GUI 测试。有些公司把界面测试并入功能测试 - 测试界面元素的显示 - 界面元素大小,形状,色彩 - 界面元素文字的字体,字号,对齐 - 光标位置 - 输入回显 - 测试界面元素的行为 - 输入限制,输入检查,输入提醒 - 默认值 - 出错信息位置 - 测试界面的布局 - 各界面元素所在位置 - 各界面元素对齐方式 - 各界面元素之间的间距 - 各界面元素之间的色彩搭配 #### 易用性测试 质量模型中 **易用性的易操作性** 软件操作方便,操作步骤少 - 桌面软件菜单级数不超过 3 级 - 电商网站分类导航不超过 3 级 - 输入区域切换使用快捷键 - 右键菜单 - 手机App单手操作 #### 兼容性测试 质量模型中 **可移植性的适应性** 考虑不同环境下功能测试,界面测试。 - 客户端软件:兼容不同操作系统 - web软件:兼容不同浏览器 - 移动App:兼容不同手机、型号、分辨率、操作系统、操作系统版本 #### 安全性测试 质量模型中 **功能性的保密安全性** - **数据的安全性**:考虑敏感数据从产生-传输-存储全程加密 - **权限的安全性**:水平越权、垂直越权、第三方授权 - **安全漏洞** #### 安装测试 质量模型中 **可移植性的易安装性易替换** - 安装/升级前测试 - 检查安装包中文件是否齐全(包含环境软件) - 检查安装包中是否有病毒或木马 - 安装/升级中测试 - 安装流程测试 初次安装,默认配置安装,自定义配置安装 - 升级降级测试 - 异常情况测试 安装目录没有权限,空间不够,安装过程中中止 - 安装/升级后测试 - 程序文件的目录及子目录是否正确产生 - 是否存在无用的目录、子目录、程序文件和临时文件 - 安装日志检查 - 测试安装是否完整 - 测试安装好的软件是否可运行 - 软件的卸载测试 #### 可靠性测试 质量模型中 **可靠性** - 稳定性测试 常规负载连续运行较长时间不出现问题,如网站运行一周7*24 - 容错性测试 - 恢复性测试 从灾难或出错中能否很好地恢复 - 异常测试 软件系统故障,断电,硬件及有关设备故障,通信故障和错误 #### 文档测试 对用户使用手册,系统部署文档,帮助(包括App安装后首次运行的向导)等文档进行测试。 检验文档的完整性,正确性,一致性,易理解性和易浏览性 #### 网络测试 不同网络环境下软件是否正常运行 - WIFI - 2G,3G,4G,5G 移动网络 - 弱网 - 无网 ## 系统测试环境 #### 环境组成 - **硬件** PC,服务器,网络设备,打印机...... - **软件** 操作系统,Web服务器软件,应用服务器软件,数据库软件,软件支持平台(JDK) 被测软件,测试数据,测试脚本,浏览器 #### 环境分类 - 主测试环境(例如win10+chrome+1920*1080) - 辅测试环境(例如win7+ie8+1024*768) - 真实环境(如弱网考虑电梯、地下停车场) - 仿真环境(如VMware,QNET,模拟器) #### 测试数据准备 产品数据(注意隐私和安全,脱敏处理),工具生成,捕获数据,手工构造,随机数据 ## 系统测试执行 #### 测试环境搭建 #### 系统测试预测试 基本功能检查,检查软件质量是否满足后续测试要求,也叫**冒烟测试** **每日构建** Daily Build 每天自动完整编译最新代码 #### 转系统测试评审(可选) 开会确定是否能开始正式的系统测试执行 - 评审点 1.冒烟测试是否通过 2.测试用例是否完成并经过评审 3.测试人员是否到位 4.测试工具是否到位且进行了相关培训 #### 执行测试用例 - 填写测试记录 1.测试用例执行人员 2.测试用例执行时间 3. 测试用例执行结果 4.问题单号 5.执行测试用例数统计 6.测试记录提交人员 - 编写测试日报 汇报每天执行情况 测试日报内容:执行情况,发现缺陷情况,**存在的问题以及需要的帮助** - 缺陷管理 提交缺陷报告,跟踪缺陷状态,回归测试验证缺陷 #### 编写测试报告(软件)和测试总结(个人) 测试执行结束时