【书山有路】 软件测试的艺术第1章
今天在外面考科目三,没法写代码了,只能更新一点理论。我们继续之前的话题,学习一点软件测试的知识。
本篇博客是《软件测试的艺术》 第2版的读书笔记。
观点
- 所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。
练习
设计一组测试数据,程序需对数据进行正确处理以证明自身的正确性。程序的描述如下:
一个程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。
程序显示提示信息,指出该三角形究竟是不规则三角形、等腰三角形还是等边三角形。
我设计的测试用例:
- a 2 2
- 2 a 2
- 2 2 a
- -1 8 9
- 0 3 3
- 3 2 1
- 3 3 3
- 3 3 4
- 3 3 2
- 3 3 7
- 3 4 5
我的得分:7分(满分14,高水平程序员平均得分7.9),还可以吧(笑)
待提高的部分:
- 至少三个测试用例,代表有效的等腰三角形,从而可以测试到两等边的所有三种可能情况(如3,3,4;3,4,3;4,3,3)
- 至少有三个测试用例,列举了一边等于另外两边的全部可能情况(如1,2,3;1,3,2;3,1,2)
- 至少有三个测试用例,列举了一边大于另外两边的全部可能情况(如2,4,1;1,4,2;4,1,2)
- 至少有一个测试用例,输入的边长为非整数(如2.5,3.5,5.5)
- 至少一个测试用例,输入的边数不对
- 对每一个测试用例除了定义了输入,还定义了预期的输出
- 要有一个测试用例 0,0,0
这个测验说明,即使测试这样一个小程序,也不是件容易的事