第二章 测试心理学
1. 所谓的软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完
成的功能,不执行其不该有的操作。
2. 测试的定义:不是 1)软件测试就是证明软件不存在错误的过程。2)软件测试的目的
在于证明软件能够正确完成其预订的功能。3)软件测试就是建立一个‘软件做了其应该
做的’信心的过程。真正的定义是:软件测试时为发现错误而执行程序的过程。
3. 心里学研究表明,当人们看是一项工作时,如果已经知道它是不可行的或无法实现时 ,
人们的表现就会非常的糟糕。软件测试更适宜被视为试图发现程序中错误(假设其存
在)的破坏性的过程。(软件测试心理学)
4. 黑盒测试和白盒测试是两种最普遍的测试策略。
黑盒测试:又称为数据驱动的测试或输入/输出驱动的测试。将程序视为一个黑盒子。
测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规
范正确运行的环境条件。(测试投入的目标在于通过有限的测试用例,最大限度的提
高发现的问题数量,以取得最好的测试效果)
白盒测试:称为逻辑驱动测试,允许我们检查程序的内部结构。(条件覆盖,判定覆
盖,语句覆盖)
5. 软件测试中的重要原则:
编号 原则
1
测试用例中一个必需部分是对预期输入或结果进行定义
2
程序员应当避免测试自己编写的程序
3
编写软件的组织不应当测试自己编写的软件
4
应当彻底检查每个测试的执行结果
5
测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无
效和未预料到的输入情况
6
检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是
否“做了其不应该做的”
7
应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
8
计划测试工作时不应默许假定不会发现错误
9
程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比
10
软件测试时一项极高创造性,极其智力挑战的工作
6. 一个好的测试用例具有较高的发现某个尚未发现的错误的可能性。
一个成功的测试用例能够发现某个尚未发现的错误。
第三章 代码检查、走查与评审
7. 代码检查与走查是两种主要的人工测试方法,要求人们组成一个小组来阅读或直观检
查特定的程序。头脑风暴,是测试而不是调试。
8. 代码检查错误列表:数据引用错误,运算错误,数据申明错误,比较错误,控制流程
错误,输入/输出错误,接口错误,其他性检查。
9. 实际上,大多数的软件项目都应使用到以下的人工测试方法: 1)利用错误列表进行代
码检查。2)小组代码走查。3)桌面检查。4)同行评审。