实验补充1功能测试用例设计黑盒测试.docx
《实验补充1功能测试用例设计黑盒测试.docx》由会员分享,可在线阅读,更多相关《实验补充1功能测试用例设计黑盒测试.docx(6页珍藏版)》请在冰豆网上搜索。

实验补充1功能测试用例设计黑盒测试
实验补充1-功能测试用例设计(黑盒测试)
补充实验1功能测试用例设计(黑盒测试)
1.1实验类型
实验类型为验证型,2个学时.
1.2实验目的
(1)能熟练应用功能性测试技术进行测试用例设计;
(2)对测试用例进行优化设计。
1.3背景知识
一、测试用例
软件测试的本质是针对要测试的内容确定一组测试用例。
测试用例是为实施一次测试而向被测系统提供的输入数据、操作或各种环境设置。
测试用例应该包含基本的内容有输入和预期输出,输入实际有两种类型:
前提(在测试用例执行前已经存在的环境)和由某种测试方法所标识的实际输入。
预期输出也有两类:
后果和实际输出。
测试活动要建立必要的前提条件,提供测试用例输入、观测输出、然后将这些输出与预期输出进行比较,以确定该测试是否通过。
开发良好的测试用例的其他信息(如表2)主要支持测试管理,测试用例需求被开发、评审、使用、管理和保存。
表1-2测试用例
测试用例ID
目的
前提
输入
预期输出
后果
执行历史
日期
结果
执行人
有两种基本方法可以用来标识测试用例,即功能性测试和结构性测试。
功能性测试的基本观点是,任何程序都可以看作是将从定义域取值映射到输出值域的函数。
这种观点常常在工程中使用,将系统看作是黑盒。
采用功能性方法标识测试用例,所使用的唯一信息就是软件的规格说明。
功能性测试用例具有两个显著的优点:
(1)功能性测试与软件如何实现无关,所以如果实现发生变化,测试用例仍然有用;
(2)测试用例开发可以与实现并行进行,因此可缩短总的开发时间。
在缺点方面,功能性测试用例也常常带来两个问题:
测试用例可能存在严重的冗余,此外可能还会有未测试的软件漏洞。
功能性测试的主流方法主要有:
边界值分析、健壮性分析、最坏情况分析、特殊值测试、输入等价类、输出等价类和基于决策树的测试。
结构性测试有时也叫白盒测试。
结构性测试是知道软件产品内部工作过程,检测软件产品内部动作是否按照规格说明书的规定正常进行。
结构性测试需要全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
结构性测试是穷举路径测试,并力求提高测试覆盖率。
结构性测试的主要方法有:
逻辑覆盖测试、基路径测试、数据流测试等方法。
在实际应用中,为全面的测试软件产品,一般将结构性测试和功能性测试结合起来使用。
1.软件缺陷分类
有多种方法可以对缺陷分类:
以出现相应错误的开发阶段来划分、以相应失效产生的后果来划分、以解决难度来划分、以不解决难度会产生的风险来划分等等。
在日常的软件测试中,通常给出的缺陷是根据缺陷后果的严重程度来进行划分,如下表3所示。
在实际应用中可以根据具体情况对严重程度来划分不同的等级。
2.测试用例的选择
选择测试用例是软件测试员最重要的一项任务,不正确的选择可能导致测试量过大或过小,甚至测试目标不对。
从工程实践的角度讲,测试用例有几条基本准则:
a)测试用例的代表性:
能够代表各种合理和不合理的、合法的和非法的、边界和越界的,以及极限的输入数据、操作和环境设置等;
b)测试结果的可判定性:
即测试执行结果的正确性是可判定的或可评估的;
c)测试结果的可再现性:
即对同样的测试用例,系统的执行结果应当是相同的。
表1-3缺陷划分表
编号
缺陷等级
举例
1
轻微
词语拼写错误
2
中等
误导或重复信息
3
使人不悦
被截取的名称
4
影响使用
有些交易没有处理
5
严重
丢失交易
6
非常严重
不正确的交易处理
7
极为严重
经常出现非常严重的错误
8
无法忍受
数据库破坏
9
灾难性
系统停机
10
容易传染
扩展到其他系统的系统停机
二、等价类测试
等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
等价类的划分有两种不同的情况:
①有效等价类:
是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
②无效等价类:
是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
用等价类划分法设计测试用例步骤:
(1)形成等价类表,每一等价类规定一个唯一的编号;
(2)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;
(3)设计一个新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖。
三、边界值测试
1.边界值分析
边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。
边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。
边界值分析的基本思想是:
使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。
2.健壮性测试
健壮性是指在异常情况下,软件还能正常运行的能力。
健壮性考虑的主要部分是预期输出,而不是输入。
健壮性测试是边界值分析的一种简单扩展。
除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况。
3.最坏情况测试
最坏情况测试将意味着更大工作量,n变量函数的最坏情况测试会产生5的n次方个测试用例,而边界值分析只产生4n+1个测试用例。
1.4实验设备
主流PC机一套,要求安装windows操作系统、VisualC++开发工具和OFFICE工具;
1.5实验内容
1.题目一:
电话号码问题
某城市电话号码由三部分组成。
它们的名称和内容分别是:
(1)地区码:
空白或三位数字;
(2)前缀:
非'0'或'1'的三位数字;
(3)后缀:
4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。
根据该程序的规格说明,作等价类的划分,并设计测试方案。
2.题目二:
等价类划分练习
设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
(不考虑2月的问题)
(1)划分出相关的等价类并编号。
(2)根据等价类编写测试用例。
题目3:
用边界值法设计测试用例
现有一个学生标准化考试批阅试卷,产生成绩报告的程序。
其规格说明如下:
程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:
(1)标题:
这一组只有一个记录,其内容为输出成绩报告的名字。
(2)试卷各题标准答案记录:
每个记录均在第80个字符处标以数字"2"。
该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。
第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。
该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。
(3)每个学生的答卷描述:
该组中每个记录的第80个字符均为数字"3"。
每个学生的答卷在若干个记录中给出。
如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。
若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。
然后是学生乙的答卷记录。
(4)学生人数不超过200,试题数不超过999。
(5)程序的输出有4个报告:
a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告。
d)试题分析报告。
按试题号排序,列出各题学生答对的百分比。
题目4:
决策表法
用决策表测试法测试以下程序:
该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:
1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。
例如,输入为2004年11月29日,则该程序的输出为2000年12月1日。
(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类。
(2)分析程序规格说明,结合以上等价类划分的情况给出问题规定的可能采取的操作(即列出所有的动作桩)。
(3)根据
(1)和
(2),画出简化后的决策表。
1.6实验步骤
(1)根据功能性测试技术设计测试用例,主要考虑等价类划分、边界值分析和决策表测试技术。
1.7实验要求
1、根据题目要求选择其中一题编写测试用例;
2、提交实验报告;
3、文件命名方式:
学号(实验编号),如:
111542101
(1)