【单元测试】任务1:白盒测试2
1. 任务前置知识
2. 任务周期安排
3. 任务参考文档
4. 任务实现要求
4.1. 白盒测试—逻辑覆盖—判定条件覆盖
4.2. 白盒测试—逻辑覆盖—条件组合覆盖
4.3. 白盒测试—逻辑覆盖—路径覆盖
4.4. 白盒测试—基本路径覆盖法
需要技能竞赛软件测试资料的同学们可s聊我,详细了解
1. 任务前置知识
- Java程序设计:掌握Java基础使用;
- 判定条件覆盖:掌握使用判定条件覆盖进行测试点设置;
- 条件组合覆盖:掌握使用条件组合覆盖进行测试点设置;
- 路径覆盖:掌握使用路径覆盖进行测试点设置;
- 基本路径覆盖法:掌握使用基本路径覆盖法进行测试点设置。
2. 任务周期安排
共4学时,任务内容如下:
- 白盒测试—逻辑覆盖—判定条件覆盖;
- 白盒测试—逻辑覆盖—条件组合覆盖;
- 白盒测试—逻辑覆盖—路径覆盖;
- 白盒测试—基本路径覆盖法。
3. 任务参考文档
- 无。
4. 任务实现要求
4.1. 白盒测试—逻辑覆盖—判定条件覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{int a = -1; int b = -1;if ((x>0)&&(y>0)){a = 10;}if ((x<10)&&(y<10)){b = 0;}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {int x;public void TestT(int a, int b) {if(a>9 && b>5) {x = a * a * b; }else {if(a<0 && b<0) {x = a - b;}else {x = a + b;} } }
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {public void TestS(int x, int y) {int a = 0;while(x>0) {if(y == 0) {x = y+2;break;}else {if(y == 1){a = y+10; }else {a = y+20;}}x=x-1;} }
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Login {public static void login(String userA,String passA,String userB,String passB,String userC,String passC) {if (userA == "" || passA == "") {System.out.println("zcadmin用户名或密码不能为空");}else if(userA=="zcadmin" && passA =="ZcAdmin" ) {System.out.println("zcadmin登录成功");}else {System.out.println("zcadmin用户名或密码不正确");}if (userB == "" || passB == "") {System.out.println("sysadmin用户名或密码不能为空");}else if(userB=="sysadmin" && passB =="SysAdmin" ) {System.out.println("sysadmin登录成功");}else {System.out.println("sysadmin用户名或密码不正确");}if (userC == "" || passC == "") {System.out.println("zcleader用户名或密码不能为空");}else if(userC=="zcleader" && passC =="ZcLeader" ) {System.out.println("zcleader登录成功");}else {System.out.println("zcleader用户名或密码不正确");}}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {public void Year(int year) {if(year %4 ==0 && year%100!=0){System.out.println("leap year.");}else if(year%400==0) {System.out.println("Century leap year.");} else {System.out.println("It is not leap year.");}}
}
4.2. 白盒测试—逻辑覆盖—条件组合覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{int a = -1; int b = -1;if ((x>0)&&(y>0)){a = 10;}if ((x<10)&&(y<10)){b = 0;}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {int x;public void TestT(int a, int b) {if(a>9 && b>5) {x = a * a * b; }else {if(a<0 && b<0) {x = a - b;}else {x = a + b;} } }
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {public void TestS(int x, int y) {int a = 0;while(x>0) {if(y == 0) {x = y+2;break;}else {if(y == 1){a= y+10; }else {a = y+20;}}x=x-1;} }
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Login {public static void login(String userA,String passA,String userB,String passB,String userC,String passC) {if (userA == "" || passA == "") {System.out.println("zcadmin用户名或密码不能为空");}else if(userA=="zcadmin" && passA =="ZcAdmin" ) {System.out.println("zcadmin登录成功");}else {System.out.println("zcadmin用户名或密码不正确");}if (userB == "" || passB == "") {System.out.println("sysadmin用户名或密码不能为空");}else if(userB=="sysadmin" && passB =="SysAdmin" ) {System.out.println("sysadmin登录成功");}else {System.out.println("sysadmin用户名或密码不正确");}if (userC == "" || passC == "") {System.out.println("zcleader用户名或密码不能为空");}else if(userC=="zcleader" && passC =="ZcLeader" ) {System.out.println("zcleader登录成功");}else {System.out.println("zcleader用户名或密码不正确");}}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {public void Year(int year) {if(year %4 ==0 && year%100!=0){System.out.println("leap year.");}else if(year%400==0) {System.out.println("Century leap year.");} else {System.out.println("It is not leap year.");}}
}
4.3. 白盒测试—逻辑覆盖—路径覆盖
任务1:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public void Test(int x, int y)
{int a = -1; int b = -1;if ((x>0)&&(y>0)){a = 10;}if ((x<10)&&(y<10)){b = 0;}
}
任务2:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test {int x;public void TestT(int a, int b) {if(a>9 && b>5) {x = a * a * b; }else {if(a<0 && b<0) {x = a - b;}else {x = a + b;} } }
}
任务3:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Test1 {public void TestS(int x, int y) {int a = 0;while(x>0) {if(y == 0) {x = y+2;break;}else {if(y == 1){a = y+10; }else {a = y+20;}}x=x-1;} }
}
任务4:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Login {public static void login(String userA,String passA,String userB,String passB,String userC,String passC) {if (userA == "" || passA == "") {System.out.println("zcadmin用户名或密码不能为空");}else if(userA=="zcadmin" && passA =="ZcAdmin" ) {System.out.println("zcadmin登录成功");}else {System.out.println("zcadmin用户名或密码不正确");}if (userB == "" || passB == "") {System.out.println("sysadmin用户名或密码不能为空");}else if(userB=="sysadmin" && passB =="SysAdmin" ) {System.out.println("sysadmin登录成功");}else {System.out.println("sysadmin用户名或密码不正确");}if (userC == "" || passC == "") {System.out.println("zcleader用户名或密码不能为空");}else if(userC=="zcleader" && passC =="ZcLeader" ) {System.out.println("zcleader登录成功");}else {System.out.println("zcleader用户名或密码不正确");}}
}
任务5:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。
- 任务步骤:
- 分析代码,画出程序流程图;
- 分析流程图,写出分析结果;
- 设计测试用例。
- 代码段:
public class Leapyear {public void Year(int year) {if(year %4 ==0 && year%100!=0){System.out.println("leap year.");}else if(year%400==0) {System.out.println("Century leap year.");} else {System.out.println("It is not leap year.");}}
}
4.4. 白盒测试—基本路径覆盖法
任务1:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。
- 任务步骤:
- 分析代码,画出程序流程图;
- 根据程序流程图分析节点并画出控制流图;
- 计算圈复杂度;
- 导出测试用例;
- 准备测试用例。
- 代码段:
public void Test(int x, int y)
{int a = -1; int b = -1;if ((x>0)||(y>0)){a = 10;}if ((x<10)&&(y<10)){b = 0;}
}
任务2:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。
- 任务步骤:
- 分析代码,画出程序流程图;
- 根据程序流程图分析节点并画出控制流图;
- 计算圈复杂度;
- 导出测试用例;
- 准备测试用例。
- 代码段:
public class Test {int x;public void TestT(int a, int b) {if(a>9 && b>5) {x = a * a * b; }else {if(a<0 && b<0) {x = a - b;}else {x = a + b;} } }
}
任务3:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。
- 任务步骤:
- 分析代码,画出程序流程图;
- 根据程序流程图分析节点并画出控制流图;
- 计算圈复杂度;
- 导出测试用例;
- 准备测试用例。
- 代码段:
public class Test1 {int x = 0;int y = 0; public void TestS(int x, int y) {while(x>0) {if(y == 0) {x = y+2;break;}else {if(y == 1){x = y+10; }else {x = y+20;}}y = y -1;x=x-1;} }
}
任务4:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。
- 任务步骤:
- 分析代码,画出程序流程图;
- 根据程序流程图分析节点并画出控制流图;
- 计算圈复杂度;
- 导出测试用例;
- 准备测试用例。
- 代码段:
public class Test2 {public void TestS(int x, int y, int z) {double a = 0, b = 0;if(x>2 && y<10) {a = x * y -1;b = Math.sqrt(a);}if(x == 4 || z>5){b = x*y +10;}b = b / 10;}
}
任务5:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。
- 任务步骤:
- 分析代码,画出程序流程图;
- 根据程序流程图分析节点并画出控制流图;
- 计算圈复杂度;
- 导出测试用例;
- 准备测试用例。
- 代码段:
public class Leapyear {public void Year(int year) {if(year %4 ==0 && year%100!=0){System.out.println("leap year.");}else if(year%400==0) {System.out.println("Century leap year."); } else {System.out.println("It is not leap year.");}}
}