作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。
热门文章推荐:
一、AI 讲解
软件测试是为了验证软件的功能性、可靠性、性能等各方面是否符合其预定的需求,通常分为动态测试和静态测试两大类。
这两类测试各有不同的子类别,具体可以用以下表格进行解释:
动态测试
类型 | 描述 | 示例 |
---|---|---|
白盒测试 | 又称为结构测试,主要针对软件内部逻辑结构进行测试,需要测试者了解程序的内部结构和工作原理。 | 对一个排序函数,测试其内部逻辑是否能正确处理不同类型的输入数组。 |
黑盒测试 | 又称为功能测试,不考虑程序内部逻辑结构,只根据需求规格说明来测试软件的功能。 | 测试一个网上购物平台是否能正确处理用户的购买请求。 |
灰盒测试 | 结合了白盒测试和黑盒测试的方法,部分了解内部结构,同时也关注于软件外部功能的测试。 | 测试一个数据库系统,既关注其查询性能,也验证其安全性能。 |
静态测试
类型 | 描述 | 示例 |
---|---|---|
桌前检查 | 通过手工检查文档(需求、设计、代码等)来发现错误,不通过执行程序来发现。 | 在软件开发早期,通过手工检查需求文档,发现需求描述不清的问题。 |
代码审查 | 通过系统地检查源代码来识别错误的过程,通常由代码编写者以外的人员进行。 | 团队成员互相审查对方的代码,以发现潜在的逻辑错误或不规范的编码习惯。 |
代码走查 | 一种更为正式的代码审查过程,通常包括使用检查列表、固定流程和会议等形式。 | 组织一个会议,邀请开发者和测试者一起,根据检查列表逐项审查代码质量。 |
二、AI 出题
2.1 选择题
-
白盒测试侧重于:
A. 软件的功能性测试
B. 软件的性能测试
C. 软件内部结构和逻辑的测试
D. 软件的接口测试 -
黑盒测试的测试对象是:
A. 程序的源代码
B. 程序的内部结构
C. 程序的外部功能
D. 程序的文档 -
灰盒测试结合了以下哪两种测试方法:
A. 静态测试和动态测试
B. 白盒测试和黑盒测试
C. 代码审查和代码走查
D. 桌前检查和功能测试 -
静态测试中,桌前检查主要是检查:
A. 程序的运行性能
B. 文档中的错误
C. 程序的内存泄露
D. 程序的用户界面 -
代码审查的主要目的是:
A. 优化程序性能
B. 发现并修正源代码中的错误
C. 测试程序的功能是否符合用户需求
D. 确认程序的部署流程 -
在软件测试过程中,代码走查通常需要:
A. 执行程序
B. 编译程序
C. 手动检查代码
D. 使用自动化测试工具 -
下列哪项不是灰盒测试的特点:
A. 部分了解内部结构
B. 完全基于需求文档进行
C. 关注于软件外部功能
D. 结合白盒和黑盒的测试方法 -
动态测试与静态测试的主要区别在于:
A. 动态测试需要执行程序,而静态测试不需要
B. 静态测试只用于代码审查
C. 动态测试只关注性能测试
D. 静态测试只用于桌前检查 -
以下哪项属于静态测试的一种:
A. 性能测试
B. 代码审查
C. 压力测试
D. 兼容性测试 -
黑盒测试通常使用哪些基准来设计测试用例:
A. 程序的内部逻辑
B. 用户需求规格
C. 源代码结构
D. 程序的部署环境
2.2 答案和解析
- C. 软件内部结构和逻辑的测试
- C. 程序的外部功能
- B. 白盒测试和黑盒测试
- B. 文档中的错误
- B. 发现并修正源代码中的错误
- C. 手动检查代码
- B. 完全基于需求文档进行
- A. 动态测试需要执行程序,而静态测试不需要
- B. 代码审查
- B. 用户需求规格
三、真题