一般从测试是否看代码、测试粒度、测试执行方式、测试目的几个维度划分。
一、按是否查看源代码(最经典分类)
1. 黑盒测试(功能测试)
不关心程序内部代码逻辑,只看输入输出,验证软件功能是否符合需求。
常用技术:等价类划分、边界值分析、错误推测法、场景法、判定表法、因果图。 适用:系统测试、验收测试。
2. 白盒测试(结构测试)
打开 “盒子”,分析代码逻辑、分支、路径,检查代码内部逻辑是否正确。
常用技术:语句覆盖、判定覆盖、条件覆盖、判定‑条件覆盖、路径覆盖。 适用:单元测试、集成测试。
3. 灰盒测试
介于黑白盒之间,关注外部功能,同时少量了解内部结构,多用于集成测试。
二、按测试粒度 / 阶段划分
单元测试:测最小代码单元(函数、方法),白盒为主,开发人员做。
集成测试:模块拼接后测接口、模块间交互,灰盒居多。
系统测试:完整整个系统,黑盒,功能、性能、兼容性等全量验证。
验收测试:用户 / 产品确认是否上线,分 α 测试(内部模拟用户)、β 测试(真实用户试用)。
三、按执行方式
手工测试:人手动操作,适合业务流程、UI 交互、异常场景。
自动化测试:脚本 / 工具执行,回归测试、接口、性能高频场景。
类型:接口自动化、UI 自动化、性能测试。
四、按测试目的 / 专项测试
功能测试:验证业务功能是否正确
性能测试:压力、负载、并发、稳定性、吞吐量、响应时间
兼容性测试:不同浏览器、系统、版本、设备
安全测试:漏洞、权限、SQL 注入、XSS、越权访问
易用性测试:操作体验、界面交互
回归测试:改完 bug 后,验证原有功能没有被破坏
冒烟测试:版本提交后快速跑核心流程,判断版本是否可测
探索性测试:不写用例,测试人员凭经验自由挖掘缺陷
五、其他
静态测试:不运行程序,代码审查、文档评审、静态代码扫描。
动态测试:运行程序,观察运行结果,绝大多数测试属于动态测试。
简单总结记忆: 黑白灰看代码;单元‑集成‑系统‑验收看阶段;手工自动化看执行;静态动态看跑不跑程序。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢