实验三 白盒测试(一)
一、 实验目的
理解白盒测试的基本方法,掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等代码覆盖测试策略,并能运用相应的方法设计测试用例
二、 实验时间
2学时
三、 实验准备
主流PC 机一套,要求安装windows 操作系统和Office 工具及相应编程软件;
四、 实验内容
被测程序:寻找最大数程序:max.numbers
程序操作说明:从键盘输入3个整数(间隔为空格),找出并输出其中数值最大的那一个。如果其中有一个以上的最大数(相等的情况),也要表示出来。
#include<stdio.h>
1 void main()
2 {
3 int i,a,b,c;
4 i = 0;
5 while(i<100) {
6 printf("Enter numbers: ");
7 scanf("%d %d %d",&a,&b,&c);
8 if(a>b)
9 {
10 if(a>c)
11 printf("max. a=%d\n",a);
12 else if(a==c)
13 printf("max. a=c=%d\n",c);
14 else
15 printf("max. c=%d\n",c);
16 }
17 else{
18 if(a==b)
19 {
20 if(a>c)
21 printf("max. a=b=%d\n",a);
22 else
23 if(a==c)
24 printf("max. a=b=c=%d\n",c);
25 else
26 printf("max. c=%d\n",c);
27 }
28 else{
29 if(b>c)
30 printf("max. b=%d\n",b);
31 else
32 if(b==c)
33 printf("max. b=c=%d\n",b);
34 else
35 printf("max. c=%d\n",c);
36 }
37 }
38 i++;
39 }
40 }
实验要求:依据语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、基本路径测试分别给出测试用例。基本路径测试要求画出程序流图、控制流图、计算圈复杂度、给出路径并导出测试用例。
五、 实验报告要求
1、 根据上述要求,提交用规定方法设计的测试用例,按上机报告的撰写规范完成实验报告。报告不得相互抄袭或拷贝,否则一律不及格。
2、 实验报告至少包括以下内容:
①? 实验目的;②实验内容和步骤;③实验结果 注:实验时间为上机时间
3、 实验报告由每班学习委员统一收齐,并于下一次实验上课的时候上交。
4、 每次实验必须自己保存好实验结果,以备下次实验时使用。
第二篇:实验2 白盒测试
实验2、白盒测试
学时:4
一、实验目的
1. 掌握静态白盒测试方法及一般要求
2. 掌握白盒测试用例的设计方法
3. 掌握白盒测试的实验方法。
二、实验要求
1.按照实验题目的要求,编写程序并上机调试
2.同学之间进行代码评审、代码检查
3.设计测试用例,并完成白盒测试
三、实验设备
计算机、Windows 、Visual Studio 2005
四、实验原理、方法
上机操作使用Visual C# 输入并调试程序
五、实验内容
1.根据题目要求新建两个测试项目,开发出项目程序。
题1:输入1-100内的两个整数,求其最大公约数(注:下面的代码仅供参考,可能有错误)。
程序正确的运行结果为:
请输入两个整数(1-100):
4
80
最大公约数为:4
代码为:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string s1, s2;
Int16 i, j;
Console.WriteLine("请输入两个整数"); s1 = Console.ReadLine(); s2 = Console.ReadLine(); i = Int16.Parse(s1); j = Int16.Parse(s2); if(i<1 || i>100) { Console.WriteLine("输入不正确!"); return; } if(j<1||j>100) { Console.WriteLine("输入不正确!"); return; } int max,min,result=1; if(i>=j) { max=i; min=j; } else { max=j; min=i; } for(int n=1; n<=min; n++) { if(min%n==0 && max%n==0) { if(n>result) result=n; } }
Console.WriteLine("最大公约数为:{0}",result);
return;
}
}
}
题2:输入一个0-500的整数,判断其能否被3,5,7整除,并输入下列信息之一:
(1) 能够同时被3,5,7整除
(2) 能够同时被其中两个数整除(给出这两个数)
(3) 能被其中一个数整除(给出这个数)
(4) 不能被任一个数整除。
(该题目自己开发)
3.同学之间两人一组,进行同行评审。关注程序中的语法错误,逻辑错误,编程的风格,注释是否完备,程序能够实现其功能等。(1学时)
4.根据项目功能要求,设计白盒测试的语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖等逻辑覆盖的测试用例,以及路径覆盖的测试用例。(2学时)
5.编译运行程序,完成各项测试。(1学时)
六、实验步骤
1. 编写程序
2. 输入调试程序,记录调试情况
七、实验报告及记录格式
实验报告中必须有完整的程序清单,对同组同学的代码的评审结果及更改意见,各测试用例及测试用例的结果。
八、实验注意事项
1. 输入程序时应严格注意大小写
2. 注意记录编译调试过程中的出错信息和改正结果。
3. 爱护机器,遵守规章制度
九、讨论、思考题
1. 结合实际测试,总结测试用例的设计方法。