当前位置: 首页 > news >正文

【单元测试】任务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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足判定条件覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足条件组合覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图,对程序流程图进行分析,设计一组测试用例,满足路径覆盖。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 分析流程图,写出分析结果;
    3. 设计测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 根据程序流程图分析节点并画出控制流图;
    3. 计算圈复杂度;
    4. 导出测试用例;
    5. 准备测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 根据程序流程图分析节点并画出控制流图;
    3. 计算圈复杂度;
    4. 导出测试用例;
    5. 准备测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 根据程序流程图分析节点并画出控制流图;
    3. 计算圈复杂度;
    4. 导出测试用例;
    5. 准备测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 根据程序流程图分析节点并画出控制流图;
    3. 计算圈复杂度;
    4. 导出测试用例;
    5. 准备测试用例。
  • 代码段:
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:根据下面的代码段,画出程序流程图和控制流图,对控制流图进行分析,设计一组满足基本路径覆盖的测试用例。

  • 任务步骤:
    1. 分析代码,画出程序流程图;
    2. 根据程序流程图分析节点并画出控制流图;
    3. 计算圈复杂度;
    4. 导出测试用例;
    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.");}}
}


http://www.mrgr.cn/news/36525.html

相关文章:

  • Redis过期时间删除策略详解
  • Adaptive Graph Contrastive Learning for Recommendation
  • 【计算机网络 - 基础问题】每日 3 题(二十五)
  • M3u8Video/HlsVideo之视频流以及MP4播放
  • 深入理解 JSX:构建 React 用户界面的利器
  • Linux之实战命令12:lsof应用实例(四十六)
  • 53 语言模型(和之后用来训练语言模型的数据集)_by《李沐:动手学深度学习v2》pytorch版
  • php在线相册
  • 红黑树(Red-Black Tree):原理、常见算法及其应用
  • JPA+Thymeleaf增删改查
  • 【Linux 从基础到进阶】Spark 大数据计算引擎使用
  • Java 注解
  • Kubernetes整体架构与核心组件
  • 数据治理影响企业数据资产的因素有哪些?
  • [leetcode]216_组合总和III_给定数字范围且输出无重复
  • Oracle(148)如何进行数据库降级?
  • 可调节基准电压电路设计
  • linux-性能优化命令
  • Redis缓存淘汰算法详解
  • Verba - Weaviate RAG 私人助理