一、需求
使用白盒测试用例设计方法为下面的程序设计测试用例(基本路径测试)并Junit下测试:程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,取出其中4个第二次称,两边分别放2个球:如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。(递交材料:测试用例设计电子稿、源程序、Junit测试截图)
二、完成
1、测试程序代码
public String BeginSearch(){
if(x[0]+x[1]+x[2]+x[3]+x[4]<x[5]+x[6]+x[7]+x[8]+x[9]){
if(x[1]+x[2]==x[3]+x[4]){
return "1号是假球";
}
if(x[1]+x[2]<x[3]+x[4]){
if (x[1]<x[2]) {
return "2号是假球";
}else {
return "3号是假球";
}
}else {
if (x[3]<x[4]){
return "4号是假球";
}
else{
return "5号是假球";
}
}
}else {
if(x[6]+x[7]==x[8]+x[9]){
return "6号是假球";
}
if(x[6]+x[7]<x[8]+x[9]) {
if (x[6]<x[7]) {
return "7号是假球";
}else {
return "8号是假球";
}
}else {
if (x[8]<x[9]) {
return "9号是假球";
}else {
return "10号是假球";
}
}
}
}
2、画出控制流图
简化后的控制流图
3、计算环形复杂度
4、导出测试用例,列出路径
5、设计测试
路径 | 测试用例 | 预期结果 | 测试结果 |
---|---|---|---|
1 | 1,2,2,2,2,2,2,2,2,2 | 1号是假球 | 1号是假球 |
2 | 2,1,2,2,2,2,2,2,2,2 | 2号是假球 | 2号是假球 |
3 | 2,2,1,2,2,2,2,2,2,2 | 3号是假球 | 3号是假球 |
4 | 2,2,2,1,2,2,2,2,2,2 | 4号是假球 | 4号是假球 |
5 | 2,2,2,2,1,2,2,2,2,2 | 5号是假球 | 5号是假球 |
6 | 2,2,2,2,2,1,2,2,2,2 | 6号是假球 | 6号是假球 |
7 | 2,2,2,2,2,2,1,2,2,2 | 7号是假球 | 7号是假球 |
8 | 2,2,2,2,2,2,2,1,2,2 | 8号是假球 | 8号是假球 |
9 | 2,2,2,2,2,2,2,2,1,2 | 9号是假球 | 9号是假球 |
10 | 2,2,2,2,2,2,2,2,2,1 | 10号是假球 | 10号是假球 |
6、Java测试程序设计
http://www.huangjihao.com/index.php/archives/900