软件测试方法&分类

转载自:秋之川老师在小密圈里的回答

1. 按软件 开发流程 分:
(1)需求阶段:
需求测试 。比如 逻辑错误 需求合理性 需求缺失 需求建 议
(2)编码阶段:
单元测试 :对软件的最小组成单元进行测试。比如 某函数 某方法
集成测试 :即 联合 测试。在单元测试基础上,将所有 模块 按业务需求 组装 起来,进行集成测试。
(3)测试阶段:
系统测试 :将已经完成集成测试的 软件 + 硬件 + 网络 等各元素结合在一起,进行系统的 组装测试 确认测试
即对 整个产品 进行测试,目的是验证是否 "满足产品需求" 的定义
(4)发布阶段:
验收测试: Acceptance Testing,也叫 交付测试 。在产品完成 系统测试 后,产品 发布上线 前进行的测试活动。目的是确保软件准备就绪。
α测试: 公司 内部人员 模拟各类用户对即将发布的产品进行测试。关键: 逼真模拟 真实用户。
经过α测试后的版本叫 β版本
β测试: 各方面的 典型用户 在日常工作中实际 使用β版本 ,并给出“ 用户报告 ”异常情况、提出“ 批评意见

2. 按 测试视角 分:
(1)外部视角:
黑盒测试: 只关注程序的 输入&输出 。一般用于 系统测试 阶段
(2)内部视角:
白盒测试: 不仅关注程序的 输入&输出 ,还关注程序的 内部逻辑 。一般用于 单元测试 阶段
(3)内外兼顾:
灰盒测试: 兼顾黑白 测试。一般用于 集成测试 阶段
不关注模块内部 实现细节 (白盒关注),关注系统内部各 模块之间 如何协作(黑盒不关注)

3. 按 测试对象 分:
(1) GUI 测试 :对APP的 图形用户界面 进行测试,包含了 UI测试 适配测试
(2) 功能 测试 :验证产品是否符合 需求说明书 的功能
(3) 易用性 测试: 测试APP的 交互 界面 对用户来说是否 友好 易用
(4) 接口 测试: 测试系统 组件间 接口 ,检查模块之间的 参数传递 是否符合设计文档的要求
(5) 性能 测试: 通过根据模拟多种 正常 峰值 异常负载 的情况,测试系统各项性能指标。
包括: 负载测试、压力测试、稳定性测试
(6) 安全 测试: 找出系统的 安全缺陷 漏洞
(7) 兼容性 测试: 测试软件在不同 硬件 操作系统 浏览器 数据库 下是否正常运行。(C/S结构,要测 服务器&客户端 的兼容性)
(8) 国际化 测试: 测试系统对多字节 字符集 的支持、 区域 设置、 时区 设置、字符串编码等
(9) 本地化 测试: 测试 翻译后 的系统, 语言 UI 格式内容 等是否都正确

4. 按 测试对象 是否处于 运行状态 分:
(1) 静态 测试: 被测系统无需运行时的测试。如:
代码静态扫描 :利用 安全扫描工具 快速查找和修复源代码(无需编译)的 代码安全 问题。减少 代码 编写中可能出现的 安全漏洞
代码评审 :通过阅读代码来检查源 代码质量 。如 编码规范 问题、 代码结构 问题(框架使用不当)、 实现 问题(错误验证、 异常处理 )
文档评审 :对项目 执行情况 未来计划 做一个评审,对项目的 财务状况 做一个总结
(2) 动态 测试: 需要被测系统运行时的测试。如 单元测试 集成测试 系统测试

5. 按 测试范围 分:
(1) 冒烟 测试: 测试包 进行 快速可用性 测试,一般只覆盖系统 核心功能 / 所有功能的 核心测试点
(2) 全面 测试: 对系统所有功能进行测试









自动化测试
功能: 主要用于 回归测试 ,一般在系统“新增功能”或“功能变更”后检测对其他旧功能的影响 —— 为 不变的功 能提供 保障
时间: 可以 滞后于新功能 的测试。
目的&本质: 提高产品 开发效率 因为自动化测试会 覆盖 到大部分场景 开发更关心的是测试能 覆盖更多主要功能
有自动化测试的保障, 开发 才能 更频繁 有效地 迭代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值