【单元测试】任务1:白盒测试2
需要技能竞赛软件测试资料的同学们可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.");
}
}
}
更多推荐
所有评论(0)