第1章 一次自评价测试
问题:指出三角形是何种三角形
问题分析:三角形包含等腰三角形、等边三角形、不规则三角形
测试用例集:
1、有效的不规则三角形:两边之和大于第三边(2,3,4)
2、有效的等边三角形:三条边相等(3,3,3)
3、有效的等腰三角形(4,4,5)(6,5,6)(6,5,6)【测三组确保三种所有可能的情况】
4、无效的三角形:两边之和小于第三边
(1,2,4)(2,1,4)(4,1,2)【测三组,确保不是因为顺序问题?】
(2,3,6)(3,5,1)(6,1,2)
【测三组确保三种所有可能的情况】
5、无效的三角形:两边之和等于第三边(2,3,5)
6、无效的三角形:某一边为0(2,1,0)
7、无效的三角形:某边的长度为负数(-1,1,2)
8、无效的三角形:是否至少有3个第5类的测试实例:(1,2,3)(2,3,1)(3,2,1)【不知道书中为何要加这个测试实例,也是确保顺序问题?】
9、无效的三角形:三边皆为0(0,0,0)
10、有效的三角形:输入的边非整数(1.5,2.5,2)
11、无效的三角形:输入的边长数不对(1,2)
12、对于每一个测试用例,除了定义输入值之外,是否定义了预期的输入值【不知为何要加入这条】
第2章
1、软件测试的心理学:
测试是为了发现错误而执行程序的过程。软件测试更适宜被视为发现程序中错误(假设其存在)的破坏性过程。
一个成功的测试用例,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进。
2、软件测试的经济学:
黑盒测试:输入/输出驱动的测试 ;其中的穷举测试覆盖面广,但穷举测试是无法实现的:一是无法测试一个程序确保它无错;二是要考虑软件测试的经济学。
白盒测试:逻辑驱动的测试;穷举路径测试虽可以测试程序中的所有路径,但程序可能存在错误。原因包括:其一、穷举测试不能保证程序符合设计规范【如把升序写成降序,路径测试就没多大价值了】;其二、程序可能因为缺少某些路径而存在问题;其三、穷举路径测试可能不会暴露数据敏感信息。
3、重要的测试原则:
3.1、软件测试是为发现错误而执行程序的过程
3.2、尽量避免编码人员测试自己的程序
3.3、好的测试用例能够对未发现的错误高度敏感
3.4、成功的测试用例能够发现未知的错误
3.5、成功的测试需要仔细定义输入输出的期望值
3.6、成功的测试需要仔细研究分析测试结果