以下是一个公司的面试题,欢迎大家发表自己的想法。
=====================================================
输入 a,b,c,如果这三个数满足三角形的条件,则计算三角形的周长,否则输出提
示错误。然后判断三角形是等腰三角形还是等边三角形,若是等腰三角形则打
印输出等腰三角形,若是等边三角形则打印输出等边三角形,否则退出。请给
出程序流程及控制流程,测试路径。试举一个测试用例.
三角形问题解答
step1:确定测试策略:从输出域考虑三角形问题
(1)普通的三角形;
(2)识别等腰三角形;
(3)识别等边三角形;
(4)非三角形。
故采用的策略是:等价类法
step2:流程图:如附件
step3:圈复杂度:8
step4:基本独立路径:1-12-6-7;1-2-12-6-7;1-2-3-12-6-7;
1-2-3-4-5-6-7;1-2-3-4-5-9-7;1-2-3-4-8-9-7;1-2-3-4-8-10-9-7;
1-2-3-4-8-10-11-7.
step5:用例
有效等价类
用例 1:三边取值相等
用例 2.3.4:两边取值相等(三种情况)
用例 5:三边取值均不等
用例 6.7.8:两边取值大于第三边(三种情况)
无效等价类
用例 9:含 0 的取值
用例 10:含负整数
用例 11:少于 3 个整数(只有两边有值)
用例 12:含有非整数(例如:小数)
用例 13:含有非数字字符(例如:字母、其他符号等)
边界值:
用例 14:输入两边之和等于第三边
错误猜测法:
用例 15:输入三条边为 0
用例 16:输入三个负数
step6:用白盒测试验证测试的覆盖率
结果:前 8 个用例已经满足对流程图的覆盖
step7:总结
新手,希望大家多多探讨类似的测试问题