白盒测试技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1:白盒测试用例设计

实验目的

1.理解白盒测试意义和目的

2. 掌握逻辑覆盖测试进行白盒测试测试

3.掌握独立路径测试方法。

实验内容

运用覆盖及路径测试方法,用白盒测试法为 JAVA 程序设计测试用例。

下面是一个洗牌、发牌程序的规格说明:

1.输入玩牌的张数,有52、48张;

2.如有52张牌,则输入玩牌人数,4或2人,输入人数后打出发牌结果;如果输入人数不对,则退出程序;

3.如有48张牌,则输入玩牌人数,3或4人,输入人数后打出发牌结果;如果输入人数不对,则退出程序;

import java.util.*;

import java.io.*;

import javax.swing.*;

public class cardTest {

public static void main(String[] args) {

String[] suit = {

"黑桃", "红桃", "梅花", "方块"};

String[] rank = {

"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};

ArrayList list = new ArrayList();

for (int i = 0; i < suit.length; i++) {

for (int j = 0; j < rank.length; j++) {

list.add(suit[i] + rank[j]);

}

}

for (int i = 0; i < list.size(); i++) {

System.out.println(list.get(i) + " ");

}

Collections.shuffle(list); //将list中的元素重新随机排序

int cardnum = Integer.parseInt(JOptionPane.showInputDialog(

"有多张牌?请输入整数52,48"));

if (cardnum == 48) {

list.remove("红桃2");

list.remove("方块2");

list.remove("梅花2");

list.remove("方块A");

int player1 = Integer.parseInt(JOptionPane.showInputDialog("请输入人数:3或4的整数"));

if (player1 == 3) {

for (int i = 0; i < 3; i++) {

System.out.print("玩家" + i + ": ");

for (int j = i * 16; j < (i + 1) * 16; j++) {

System.out.print(list.get(j+1) + " ");

}

System.out.println();

}

}

else if(player1 == 4) {

for (int i = 0; i < 4; i++) {

System.out.print("玩家" + i + ": ");

for (int j = i * 12; j < (i + 1) * 12; j++) {

System.out.print(list.get(j) + " ");

}

System.out.println();

}

}

else{

JOptionPane.showMessageDialog(null,"输入错误!");

System.exit(0);

}

}

else {

int player1 = Integer.parseInt(JOptionPane.showInputDialog("请输入人数:整数2或4"));

if (player1 == 2) {

for (int i = 0; i < 3; i++) {

System.out.print("玩家" + i + ": ");

for (int j = i * 24; j < (i + 1) * 24; j++) {

System.out.print(list.get(j) + " ");

}

System.out.println();

}

}

else {

for (int i = 0; i < 4; i++) {

System.out.print("玩家" + i + ": ");

for (int j = i * 13; j < (i + 1) * 13; j++) {

System.out.print(list.get(j) + " ");

}

System.out.println();

}

}

}

}

}

1.要求为加粗代码行画出控制流图;

2.要求采用覆盖测试法设计测试用例;

3.要求采用独立路径测试法设计测试用例。

实验步骤:

1)为代码行加上行号;

2)运用语句覆盖、判定 /条件覆盖设计测试用例,并写出每个测试用例的执行条件;

3)画出控制流图;

4)采用独立路径测试法设计测试用例。

表1 语句覆盖测试用例设计与实现

相关文档
最新文档