这本书是我2012年买的,那时候第一遍看完还不是太懂,重读发现另有一番收获。
这本书的第一章刚开始就讲了一个经典的三角形三条边的问题。对于新手来说还是值得学习一下测试导向的设计思路。
程序描述:程序从对话框中读取三个整数值,这三个整数值代表了三角形三条边的长度。程序显示提示信息,指出该三角形是何种三角形:不规则三角形,等腰,等边
书中的思路如下:
1.是否有case代表一个有效的不规则三角形
2.是否有case代表一个有效的等边三角形
3.是否有case代表一个有效的等腰三角形
4.是否3个case代表有效等腰三角形 如334 343 433
5.是否有case 某边长度为0
6是否有case 某边长度为负数
7.是否有case 三个整数都大于0其中两边之和等于第三边
8.是否有至少3个case7列举两边之和=第三边的情况
9.是否有case 三个都大于0,两边之和小于第三边
10.三个case9保证每个边大于两边之和都cover到
11.三边为0
12.非整数
13.参数个数不对,要三个给一个/两个
14.每个case的预期输出值
整体上设计的还行,不过我个人看法还可以有以下测项
1.白盒测试,针对程序判断是三角形-->是什么三角形逻辑进行code review,通过cr可以看到一些没有异常处理的逻辑
如果没有特别对输入框做限制或者对传入的参数做限制的话会有一些异常。对话框最好设定为只可输入整数否则弹出错误提示。
2.有至少一个边为数字字符串 如‘3’‘4’‘3’
3.有至少一个边为字母
4.有至少一个边为特殊符号 ¥ %!@之类
5.有一个边数值特别大(敲到最大限制) 考察可能潜在的精度转换
6.同时存在整数和浮点数 如 3 4.5 3 3.5 3.5 4