软件测试实验

  • 格式:doc
  • 大小:1.08 MB
  • 文档页数:17

下载文档原格式

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

软件测试

实验指导书

软件测试课程组

课程名称软件测试教程

课题名称集成测试实验

专业计算机科学与技术

班级计算机1002班

学号201003010234

姓名吴超

指导教师邓作杰

湖南工程学院计算机与通信学院

实验1 黑盒测试实验

一、实验目的

1、能熟练应用黑盒测试技术进行测试用例设计;

2、能对测试用例进行优化设计;

二、实验环境

Windows环境,Word和Visio或者相关的办公软件, C/C++或Java编程环境;

三、实验内容

1.题目一:电话号码问题

某城市电话号码由三部分组成。它们的名称和内容分别是:

(1)地区码:空白或3位数字;

(2)前缀:非'0'或'1'的3位数字;

(3)后缀:4 位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。

2.题目二:三角形问题

根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”3.题目三:日期问题

用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。

(1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。

(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。

(3) 根据(1) 和(2) ,画出简化后的决策表。

四、实验步骤

(1)根据黑盒测试技术设计测试用例(参照附件1),主要考虑等价类划分和边界值分析测试技术;

(2)根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计题目1、2两套测试用例;

(3)根据设计的测试用例集进行测试;

2、题目二:三角形问题

黑盒测试程序

import java.util.Scanner;

public class三角形 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

int a=in.nextInt();

int b=in.nextInt();

int c=in.nextInt();

String result=check(a,b,c);

System.out.println(result);

}

private static String check(int a,int b,int c) { StringBuffer str=new StringBuffer();

if ( a+b>c && a+c>b && b+c>a ){

if ( a==b && b==c ){

str.append("等边三角形");

}else if (a==b || b==c || a==c){

str.append("等腰三角形");

}else {

str.append("不等边三角形");

}

}else str.append("无法构成三角形");

return str.toString();

}

}

五、运行与调试

黑盒测试例子

五、实验心得与体会

这次的黑盒测试的实验开始把我难住了,当慢慢的一步一步分析,并且看一些资料,才发现原来这么简单。也许有些事不是你想象的那么难。

实验2白盒测试实验

一、实验目的:

通过本次实验,使学生掌握利用白盒测试方法对程序进行功能测试,学会利用路径覆盖、语句覆盖、条件组合覆盖法设计测试用例。

二、实验设备

主流PC 机一套,要求安装windows 操作系统、Visual C++开发工具和OFFICE 工具;

三、实验内容

1.题目一:使用逻辑覆盖测试方法测试以下程序段

1:void DoWork (int x,int y,int z)

2:{

3:int k=0, j=0;

4:if ( (x>3)&&(z<10) )

5:{

6:k=x*y-1;

7:j=sqrt(k);

8:}

9:if((x==4)||(y>5))

10: j=x*y+10;

11:j=j%3;

12:}

说明:

(1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

四、实验步骤

(1)控制流图

(2)覆盖方法

五、实验心得与体会

白盒测试属于比较透明的测试,大家可以看到程序的内部再给出测试数据,能解决许多程序中编码出现的问题。白盒测试是一个非常不错的测试方法。