软件测试(黑盒、白盒、灰盒)

软件测试(黑盒、白盒、灰盒) 黑盒测试定义把软件当成一个打不开的黑盒子不看内部代码结构只关注输入和输出。常用测试用例设计方法1.等价类划分法将所有可能的输入划分为若干等价类每类中选一个代表值作为测试用例大幅减少用例数量。有效等价类符合需求的合法输入如年龄18–60 无效等价类不符合需求的非法输入如年龄18、60、负数、非数字2.边界值分析法 专门针对输入 / 输出的边界值设计用例是发现缺陷最有效的方法之一。 测试点最小值、最大值、临界值 ±1、空值、极限值 示例输入范围 1–100 → 测试 0、1、100、1013.场景法流程法 模拟用户真实业务流程与操作路径覆盖主要业务场景与异常分支。 适用登录、下单、支付、审批等完整业务流程4. 因果图法 / 判定表法 分析多个输入条件的组合关系及其对应的输出结果适合复杂逻辑与多条件判断场景。 适用规则多、条件组合复杂的功能如优惠计算、权限判断5. 错误推测法 基于经验与直觉推测软件可能出错的地方针对性设计用例。 适用常见问题空值、特殊字符、网络超时、重复提交等)白盒测试定义打开盒子关注代码的内部结构、逻辑路径和条件。常用覆盖策略语句覆盖每条语句至少执行一次。判定覆盖分支覆盖每个判断的真、假分支都走到。条件覆盖每个判断里的每个条件都取真、假。判定条件覆盖判定 条件同时满足。路径覆盖覆盖程序中所有可能执行路径最强。灰盒测试最通俗、面试版 灰盒测试 半黑盒 半白盒定义既不完全看代码也不完全只看功能知道一点内部结构、数据流向但主要从外部测功能介于黑盒和白盒之间就是灰盒测试。核心特点知道接口、数据库、数据流向、简单逻辑不深入不逐行看代码、不做复杂代码覆盖视角半开发半用户目的既能测功能又能快速定位问题最典型场景接口测试API 测试 集成测试 后端 前端联调 数据库相关功能测试查 SQL、看数据是否正确入库三者极简对比黑盒不知道内部只测输入输出白盒看代码、测逻辑、覆盖路径灰盒懂一点内部结构主要测功能方便定位 Bug一句话总结灰盒测试是结合黑盒的功能视角和白盒的部分内部信息在接口、集成、系统层面最常用的测试方法。