摘要
本文用对比方式讲清四类测试的区别:静态测试不运行程序,检查需求、设计、代码等静态工件;动态测试实际运行程序,通过输入输出观察行为。白盒测试关注内部结构与代码逻辑路径,黑盒测试只看外部输入输出和功能表现。本文最后结合软考真题实战,帮助理解与备考。
目录
[一. 如何区分静态测试、动态测试?](#一. 如何区分静态测试、动态测试?)
[1. 静态测试](#1. 静态测试)
[2. 动态测试](#2. 动态测试)
[二. 如何区分白盒测试、黑盒测试?](#二. 如何区分白盒测试、黑盒测试?)
[1. 白盒测试](#1. 白盒测试)
[2. 黑盒测试](#2. 黑盒测试)
一. 如何区分静态测试、动态测试?
1. 静态测试
指不执行代码程序 ,而是通过检查它的"静态工作产品"来发现问题,比如:
需求文档
设计文档
源代码
配置文件
接口定义
举例:
人工做代码审查,看代码逻辑有没有问题;
用静态分析工具扫描源码,检查空指针风险、编码规范、安全漏洞;
检查需求文档是否有歧义、遗漏。
这些过程都不需要跑程序 ,所以叫静态测试
2. 动态测试
指执行代码程序 ,通过输入数据、运行程序、观察输出和行为来发现问题,比如:
运行单元测试;
执行接口测试;
做系统测试、性能测试;
手工点界面走业务流程。
举例:
- 单元测试 :调用
add(2, 3)并运行测试,断言返回结果为5,观察是否通过。- 接口测试:向登录接口发送正确的用户名和密码,运行服务后观察返回状态码、响应体和 token 是否正确。
- 系统测试:完整运行"下单---支付---生成订单"业务流程,观察各系统模块是否协同正常。
- 性能测试:模拟 100 个用户并发访问系统,运行后观察响应时间、吞吐量和错误率。
- 界面业务流程测试:手工在页面上点击"加入购物车---结算---提交订单",观察页面跳转、提示信息和订单状态。
- 回归测试:修改代码后重新运行已有测试用例,观察原有功能是否被破坏。
- 兼容性测试:在不同浏览器中运行同一网页,观察页面显示和功能是否正常。
这些过程必须让程序"跑起来" ,所以叫动态测试
大白话区分二者
- 测试工程师做的"回归测试"这个动作,其实就是"动态测试"
- 项目经理做的"代码审查"这个动作,其实就是"静态测试"
|--------|-----------------------|--------|
| 动作 | 是否执行程序 | 归类 |
| 代码审查 | 不运行程序,人工/工具检查代码、文档、设计 | 静态测试 |
| 回归测试 | 要运行程序,重新执行用例验证改动影响 | 动态测试 |
二. 如何区分白盒测试、黑盒测试?
1. 白盒测试
白盒测试 :基于程序内部结构、代码逻辑和路径来设计并执行测试
2. 黑盒测试
黑盒测试 :不关心程序内部结构,只看输入和输出,验证功能是否符合预期
实战:软考真题


以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~