软件测试的艺术
文章目录
2.软件测试的心理学和经济学
软件测试的心理学
- 软件测试是为发现错误而执行程序的过程
软件测试的经济学
-
黑盒测试(数据驱动的测试)
- 穷举输入测试
-
白盒测试(逻辑驱动的测试)
- 穷举路径测试
软件测试的原则
- 测试用例中一个必需部分是对于预期输出或结果的定义
- 程序员应当避免测试自己编写的软件
- 编写软件的组织不应当测试自己编写的软件
- 应当彻底检查每个测试的执行结果
- 测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效的输入情况和未预料到的输入情况
- 检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”
- 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
- 计划测试工作时不应默许假定不会发生错误
- 程序某部分存在更多错误的可能性,与该部分已发生错误的数量成正比
- 软件测试是一项极富创造性、极具智力挑战性的工作
3.代码检查、走查与评审
代码检查
代码走查
桌面检查
同行评审
4.测试用例的设计
白盒测试
- 语句覆盖:程序中的每个语句至少能被执行一次
- 判定覆盖:程序中每个判定至少有一次为真值,有一次为假值,使得程序中的每个分支至少执行一次
- 条件覆盖:程序各判定中的每个条件获得各种可能的取值至少满足一次
- 判定/条件覆盖:程序中每个判定至少有一次为真值,有一次为假值,使得程序中的每个分支至少执行一次,且使得各判定中的每个条件获得各种可能的取值至少满足一次
- 多重条件覆盖:判定中的每种组合都至少被执行一次
黑盒测试
-
等价划分
-
确定等价类
- 有效等价
-