白盒测试技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 语句覆盖测试用例设计与实现