软件测试实验:决策表与黑盒测试解析

4星 · 超过85%的资源 需积分: 45 22 下载量 155 浏览量 更新于2024-09-13 3 收藏 35KB DOCX 举报
"该资源是华中科技大学软件测试课程的实验资料,主要涵盖黑盒测试与白盒测试的基础知识,特别是决策表测试法和逻辑覆盖测试。实验旨在让学生熟悉并应用测试技术,如等价类划分、动作桩设计、决策表简化以及控制流图和不同覆盖标准的测试用例设计。实验环境需要安装Windows操作系统和Office工具,对于白盒测试部分,还需要Eclipse和Junit来执行测试。" 实验一涉及的是黑盒测试中的决策表测试,目的是训练学生使用此方法设计测试用例。实验内容包括以下关键知识点: 1. **等价类划分**:这是一种常见的黑盒测试策略,将输入域划分为不同的等价类,每个类中的数据点被认为是相互等效的,可以代表整个类。实验中,根据输入变量month、day、year的取值范围,考虑到闰年和非闰年的影响,划分了有效等价类。 2. **动作桩**:动作桩是指程序中可能执行的各种操作或动作。在实验中,需要结合程序规格说明和等价类划分情况,列出所有可能的动作,这有助于构建决策表。 3. **决策表测试**:决策表是一种结构化的方法,用于表示多个条件和它们对应的操作。在实验中,需要根据等价类和动作桩构建决策表,以覆盖所有可能的输入组合。 实验二关注白盒测试,主要介绍了逻辑覆盖方法,包括: 1. **控制流图**:它是程序结构的图形表示,显示了程序中语句的执行顺序。实验要求绘制程序段的控制流图,以便于理解和分析代码逻辑。 2. **逻辑覆盖标准**:包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。这些标准衡量了测试用例对程序逻辑覆盖的程度,确保每个逻辑分支至少被执行一次。在实验中,学生需要按照这些标准设计测试用例。 实验内容要求学生对每个覆盖标准进行实践,编写对应的测试用例,这对于理解代码执行路径和确保代码质量至关重要。 这份实验资料提供了软件测试的实践平台,让学生深入理解并应用黑盒和白盒测试技术,锻炼其在实际场景中解决问题的能力。通过这两个实验,学生将能够熟练运用等价类划分、决策表和逻辑覆盖方法来设计和执行测试,从而提高软件测试的效率和质量。
2013-11-10 上传
2.1黑盒测试 2.1.1 实验目的   (1) 能熟练应用黑盒测试技术进行测试用例设计;   (2) 对测试用例进行优化设计; 2.1.2 实验设备   主流 PC 机一套,要求安装windows 操作系统和Office 工具。 2.1.3 实验内容 题目一:日期问题   用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day 和year均为整数值,并且满足:1800≤year≤2020,1≤month≤12 和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上前一天的日期。例如,输入为 2004 年11 月29 日,则该程序的输出为2004 年11 月28 日。   (1) 分析各种输入情况,列出为输入变量 month、day、year 划分的有效等价类。   (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。   (3) 根据 (1) 和 (2) ,画出简化后的决策表。 划分等价类(此处只考虑了有效等价类),基本思想是根据三个输入项的取值来划分,首先三个输条件都是整数,然后确定边界值,month[1,12],day[1,31],year[1800,2020],再来划分等价类,条件依据是:闰年的2月是29天,非闰年的2月时28天,{1,3,5,7,8,10,12}月份是31天,{2,4,6,9,11}月份是30天 等价类 Year Month Day 有效等价类 Y1:[1800,2020]且为闰年 M1:2 D1:27 Y2:[1800,2020]不为闰年 M2:1,3,5,7,8, 10, D2:28 M3:2,4,6,9,11 D3 :29 M4:12 D4 :30 D4 :31 所有动作桩(弱组合形式) 测试用例ID 测试用例的等价类构成 001 Y1 M1 D1 002 Y2 M2 D2 003 Y1 M3 D3 004 Y2 M4 D4 005 Y1 M1 D5 强组合形式有2*3*5=30种。 决策表 Year Y1,Y2 Y1,Y2 Y1,Y2 Y1,Y2 Y1,Y2 Y1,Y2 Y1 Y2 Y1 Y2 Y1,Y2 Y1,Y2 Month M1,M4 M1 M2 M2 M2 M3 M3 M3 M3 M3 M3 M4 Day D1-D4 D5 D1-D3 D4 D5 D1 D2 D2 D3 D3 D4,D5 D5 Day+1 ▲ ▲ ▲ ▲ Day=1 ▲ ▲ ▲ ▲ ▲ Month+1 ▲ ▲ ▲ ▲ Month=1 ▲ Year+1 ▲ Year not exist ▲ ▲