doc/笔记/系统测试-xtceshi.md

7.2 KiB
Raw Blame History

title date updated url categories tags
系统测试 2023-04-14 10:55:45.782 2023-04-14 14:43:06.933 /archives/xtceshi
软件测试
测试基础

什么是系统测试

检查已经集成的软件是否和需求规格说明书一致

系统种类桌面软件Web 网站,客户端软件,移动 App小程序智能设备

单元测试 集成测试 系统测试比较

  • 单元测试
    • 对象:函数
    • 依据:详细设计 LLD
    • 重点:函数的功能和内部的逻辑
    • 评估:逻辑覆盖率
    • 方法:白盒测试为主
  • 集成测试
    • 对象:模块
    • 依据:概要设计 HLD
    • 重点:模块的功能和函数间的调用(接口)
    • 评估:接口覆盖率
    • 方法:灰盒测试
  • 系统测试
    • 对象:整个软件
    • 依据:需求规格说明书 SRS
    • 重点:功能测试,性能测试,安全性测试,界面测试 ...
    • 评估:需求规格覆盖率
    • 方法:黑盒测试为主

系统测试活动

计划

输入:需求规格

输出:系统测试计划

设计

输入:需求规格,系统测试计划

输出:系统测试方案

实现

输入:需求规格,系统测试计划,系统测试方案

输出:系统测试用例,系统预测试用例

执行

输入: 系统测试计划,系统测试方案,系统测试用例,系统预测试用例,集成测试报告

输出:系统测试结果,系统测试缺陷报告,系统测试报告

系统测试类型

功能测试

质量模型中的 功能性

分类:单功能测试,功能交互测试,业务场景测试

性能测试

质量模型中 效率

性能测试指标响应时间吞吐量、吞吐率单位时间内的吞吐量TPS(每秒处理事务数) 并发用户数内存占用CPU占用磁盘占用功耗流量

性能测试是一个大的测试类型,是所有性能相关测试的统称。可以细分为几个子测试类型:

  • 负载测试(相对并发)

    测试系统在各种负载情况下,是否满足 需求规格说明书各项性能指标 相关要求,并测试出系统最大负载

    主要测试系统的能力

  • 压力测试

    测试系统在 极限负载 况下是否会崩溃,各项性能指标在 长时间运行 的情况下是否稳定

    主要测试系统的耐力

  • 容量测试

    测试系统可处理 同时在线的最大用户数

    只关注数量多少,不关注速度多快

  • 基准测试

    用于一些大型的网站的性能测试

    找一台普通服务器,针对 不同版本的软件 进行小容量的测试,进行对比

  • 并发测试(绝对并发)

    测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在问题

界面测试

质量模型中 易用性的易理解性和吸引性

又叫 GUI 测试。有些公司把界面测试并入功能测试

  • 测试界面元素的显示
    • 界面元素大小,形状,色彩
    • 界面元素文字的字体,字号,对齐
    • 光标位置
    • 输入回显
  • 测试界面元素的行为
    • 输入限制,输入检查,输入提醒
    • 默认值
    • 出错信息位置
  • 测试界面的布局
    • 各界面元素所在位置
    • 各界面元素对齐方式
    • 各界面元素之间的间距
    • 各界面元素之间的色彩搭配

易用性测试

质量模型中 易用性的易操作性

软件操作方便,操作步骤少

  • 桌面软件菜单级数不超过 3 级
  • 电商网站分类导航不超过 3 级
  • 输入区域切换使用快捷键
  • 右键菜单
  • 手机App单手操作

兼容性测试

质量模型中 可移植性的适应性

考虑不同环境下功能测试,界面测试。

  • 客户端软件:兼容不同操作系统
  • web软件兼容不同浏览器
  • 移动App兼容不同手机、型号、分辨率、操作系统、操作系统版本

安全性测试

质量模型中 功能性的保密安全性

  • 数据的安全性:考虑敏感数据从产生-传输-存储全程加密

  • 权限的安全性:水平越权、垂直越权、第三方授权

  • 安全漏洞

安装测试

质量模型中 可移植性的易安装性易替换

  • 安装/升级前测试
    • 检查安装包中文件是否齐全(包含环境软件)
    • 检查安装包中是否有病毒或木马
  • 安装/升级中测试
    • 安装流程测试 初次安装,默认配置安装,自定义配置安装
    • 升级降级测试
    • 异常情况测试 安装目录没有权限,空间不够,安装过程中中止
  • 安装/升级后测试
    • 程序文件的目录及子目录是否正确产生
    • 是否存在无用的目录、子目录、程序文件和临时文件
    • 安装日志检查
    • 测试安装是否完整
    • 测试安装好的软件是否可运行
    • 软件的卸载测试

可靠性测试

质量模型中 可靠性

  • 稳定性测试

    常规负载连续运行较长时间不出现问题如网站运行一周7*24

  • 容错性测试

  • 恢复性测试

    从灾难或出错中能否很好地恢复

  • 异常测试

    软件系统故障,断电,硬件及有关设备故障,通信故障和错误

文档测试

对用户使用手册系统部署文档帮助包括App安装后首次运行的向导等文档进行测试。 检验文档的完整性,正确性,一致性,易理解性和易浏览性

网络测试

不同网络环境下软件是否正常运行

  • WIFI
  • 2G3G4G5G 移动网络
  • 弱网
  • 无网

系统测试环境

环境组成

  • 硬件

    PC服务器网络设备打印机......

  • 软件

    操作系统Web服务器软件应用服务器软件数据库软件软件支持平台JDK 被测软件,测试数据,测试脚本,浏览器

环境分类

  • 主测试环境例如win10+chrome+1920*1080
  • 辅测试环境例如win7+ie8+1024*768
  • 真实环境(如弱网考虑电梯、地下停车场)
  • 仿真环境如VMwareQNET模拟器

测试数据准备

产品数据(注意隐私和安全,脱敏处理),工具生成,捕获数据,手工构造,随机数据

系统测试执行

测试环境搭建

系统测试预测试

基本功能检查,检查软件质量是否满足后续测试要求,也叫冒烟测试

每日构建 Daily Build 每天自动完整编译最新代码

转系统测试评审(可选)

开会确定是否能开始正式的系统测试执行

  • 评审点 1.冒烟测试是否通过 2.测试用例是否完成并经过评审 3.测试人员是否到位 4.测试工具是否到位且进行了相关培训

执行测试用例

  • 填写测试记录 1.测试用例执行人员 2.测试用例执行时间 3. 测试用例执行结果 4.问题单号 5.执行测试用例数统计 6.测试记录提交人员

  • 编写测试日报

    汇报每天执行情况

    测试日报内容:执行情况,发现缺陷情况,存在的问题以及需要的帮助

  • 缺陷管理

    提交缺陷报告,跟踪缺陷状态,回归测试验证缺陷

编写测试报告(软件)和测试总结(个人)

测试执行结束时