软件质量与测试课程设计实验报告样本.docx
- 文档编号:10721525
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:18
- 大小:38.25KB
软件质量与测试课程设计实验报告样本.docx
《软件质量与测试课程设计实验报告样本.docx》由会员分享,可在线阅读,更多相关《软件质量与测试课程设计实验报告样本.docx(18页珍藏版)》请在冰豆网上搜索。
软件质量与测试课程设计实验报告样本
华中科技大学文华学院
《软件质量与测试》课程设计
软件工程专业07级3班
姓名:
曹洪
学号全称:
时间:
11月12日
《软件质量与测试》课程设计
1、实验目的
掌握软件测试用例的设计
掌握软件缺陷报告的设计
掌握软件缺陷修正报告的设计
2、实验过程
程序preday的基本功能:
输入有效的年、月、日,按[计算]按钮,画面输出显示前1天的年,月,日;能对日期非法输入的合理提示等。
2.1程序代码的编写详见preday文件
2.2黑盒软件测试用例的设计
2.2.1等价类划分法
程序的有效输入日期为181月1日到2050年12月31日之间的有效日期。
其中,
有效等价类为
181月1日到2050年12月3日之间的日期,其中
年份为1800到2050之间的整数;
月份为1到12之间的整数;
当月份为1、3、5、7、8、10、12时,日为1到31之间的
整数,当月份为4、6、9、11时,日为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,否则为1到28之间的数值。
无效等价类:
181月1日之前的日期;
2050年12月3日之后的日期;
181月1日到2050年12月31日之间的日期,可是月份不为1到12之间的整数;或者当月份为1、3、5、7、8、10、12时,日不为1到31之间的整数,当月份为4、6、9、11时,日不为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,否则为1到28之间的数值。
最简单的等价类划分直接以输入条件边界來划分,得到的等价类集合见下表,其中Y1-Y3,M1-M3,D1-D3分别是三个输入条件的相应的等价类的编号。
表1:
preday问题的等价类划分
等价类
年份
月份
日期
有效等价类
Yl:
1800W年份W2500
M1:
1W月份W12
D1:
1W日期W31
无效等价类
Y2:
年份<1800
M2:
月份
D2:
日期<1
Y3:
年份>2050
M3:
月份>12
D3:
日期>31
根据表1的等价类划分,无效等价类测试能够得到如表2的测试用例,而较为合理的有效等价类的划分如表3。
三个输入各自具有不同的有效等价类数目,若从每个等价类中选择一个典型值,则年份、月份和日期的取值个数分别为2、4、4,这时将年份的水平值加以扩展,即对于年份,可在Y1和Y2中各选两个典型值。
这样得到所有输入条件的取值如下:
年份:
1850、1900、、
月份:
1、3、5、11
日期:
1、29、30、31
此时,构成的有效等价类测试用例如表4所示:
表2:
Preday的无效等价类的测试用例
ID
输入日期(年-月-日)
操作步骤
预期输出
实际输出
备注
ND-001
1700-6-15
输入年月日,点击”计算”按钮
提示”请输入•个在1800和2500之间的整
数”
请输入•个在1800和2500之间
的整数
年份在
Y2中
ND-002
3000-12-15
输入年月日,点击”计算”按钮
提示”请输入--个在1800和2500之间的整
数”
请输入•个在1800和2500之间的整数
年份在
Y3中
ND-003
1989-1-15
输入年月日,点击”计算”按钮
捉示”请输入-个在1和12之间的整数”
请输入•个在1和
12之间的整数
月份在
M2中
ND-004
1989-13-12
输入年月日,点击”计算”按钮
捉示”请输入-个在1和12之间的整数”
请输入•个在1和
12之间的整数
月份在
M3中
ND-005
1989-4—2
输入年月日,点击”计算”按钮
提示”请填入-个在1和31之间的整数”
请填入•个在1和
31之间的整数
日期在
D2中
ND-006
1989-4-32
输入年月日,点击”计算”按钮
提示”请填入-个在1和31之间的整数”
请填入•个在1和
31之间的整数
日期在
D3中
表3:
较为合理的有效等价类的划分
等价类
年份
月份
日期
有效等价类
Yl:
1800W年份2050,且为闰年
Ml:
5、7、10、
12
D1:
1W日期W28
Y2:
1800W年份2050,且为非闰年
M2:
2^4、6、8、
9、11
D2:
29
M3:
l
D3:
30
M4:
3
D4:
31
表4:
有效等价类测试用例
ID
输入日期(年-加日)
操作步骤
预期输出(年-月-日)
实际输出(年-加日)
ND-007
1850-1-1
输入年月日,点击”计算”按钮
1849-12-31
1849-12-31
ND-008
1850-3-29
同上
1850-3-2&
1850-3-28・
XD-009
1850-5-30
同上
1850-5-29
1850-5-29
ND-010
1850-11-31
同上
输入日期不合法的合理提示
Themonth11Cannothave31days・
ND-011
1900-1-29
同上
1900-1-28
1900-1-28
ND-012
1900-3-30
同上
1900-3-29
1900-3-29
ND-013
1900-5-31
同上
1900-5-30
1900-5-30
ND-014
1900-11-1
同上
1900-10-31
1900-10-31
ND-015
-1-30
同上
-1-28
-1-28
ND-016
-3-31
同上
-3-30
-3-30
ND-017
-5-1
同上
-4-30
-4-30
ND-018
-11-29
同上
-11-28
-11-28
ND-019
-1-31
同上
-1-30
-1-30
ND-020
-2-1
同上
-1-31
-1-31
ND-021
-5-29,
同上
-5-28
-5-28
ND-022
-11-30
同上
-11-29
-11-29
2.2.2边界值法
根据preday的有效输入日期能够设置边界值法的测试用例取
值如下,
年份:
1800、
1801、
2049、2050
月份:
1、2、
11、
12
日期:
K2.
30、
31
此时,构成的边界值法测试用例如表5所示。
表5:
边界值法测试用例
ID
输入口期(年-月-日)
操作步骤
预期输出(年■月-日)
实际输出(年-月■日)
ND-023
1800-1-1
输入年月日,点击”计算”按钮
输入日期超出范围的合理提示
Reachthemindate・
ND-024
1800-2-1
同上
1800-1-31
1800-1-31
ND-025
1800-11-30
同上
1800-11-29
1800-11-29
ND-026
1800-12-31
同上
1800-12-30
1800-12-30
ND-027
1801-1-2
同上
1801-1-1
1801-1-1
ND-028
1801-2-30
同上
输入日期不合法的合理提示
Themonth2Cannothave30days・
ND-029
1801-11-31
同上
输入日期不合法的合理提示
Themonth11Cannothave31days・
ND-030
1801-12-1
同I-.
1801-11-30
1801-11-30
ND-031
2049-1-30
同I-.
2049-1-29
2049-1-29
ND-032
2049-2-31
同上
输入日期不合法的
Themonth2Cannot
合理提示
have31days・
ND-033
2049-11-1
同I-.
2049-10-31
2049-10-31
ND-034
2049-12-2
同I-.
2049-12-1
2049-12-1
ND-035
2050-1-31
同上
2050-1-30
2050-1-30
ND-036
2050-2-1
同上
2050-1-31
2050-1-31
ND-037
2050-11-2
同上
2050-11-1
2050-11-1
ND-038
2050-12-30
同上
2050-12-29
2050-12-29
2.2.2错误推测法
错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷,有针对地设计测试用例的方法。
错误推法的基本思想是列举出系统中所有可能的缺陷和容易发生缺陷的特殊情况,并根据她们选择测试用例。
程序preday错误推测法测试用例设计如表6所示。
表6:
错误推测法测试用例
ID
输入日期(年-月-日)
操作步骤
预期输出(年■■月-日)
实际输出(年-月-日)
备注
ND-039
无
无
所有的接文本框都淸零
如图1
Verl-BugOOOl
ND-040
1800-12-0
输入年月日,点击”计算”按钮
无
1800-11-30
Verl-Bug0002
ND-041
1989-8-1
同上
1989-7-31
1989-7-30
Verl-Bug0003
ND-042
1800-1-1
同上
最小输入日期的合理提示
输出”Reachthemindate.
经过
ND-043
2050-12-31
同上
2050-12-30
2050-12-30
经过
ND-044
-3-1
同上
-2-29
-2-29
经过
ND-045
-0-0
同上
无
-1-29
Verl-BugOOOl
2.3黑盒软件测试用例的执行
2.3.1Verl-BugOOOl
运行程序后,界面上的年、月、日输入框内的数据没有清空。
如图1所示:
2.3.2Verl-Bug0002
输入日期1800-12-0后,会跳出输入日期不合法提示的警告信息,如图2所示,点击确定后能得到前一天的日期并显示在对话框内,如图3所示:
2.3.3Verl-Bug0003
输入1989年8月1日后点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示:
2.3.3Verl~Bug0004
输入日期-0-0后,会跳出”请填入一个在1和12之间的整数”的警告信息,如图5所示,点击确定后能在对话框内显示—1-29,如图6所示:
2.4软件缺陷报告的设计
缺陷报告
缺陷名称:
显示错误的日期
Verl-Bug0003
报告人:
曹洪
部门:
营业部客服B组
发现人:
曹洪
缺陷编号ID:
报告时间:
-11-3
发现时间:
-11-1
部门:
泉海潮公司
发现场所:
泉海潮公司软件工具实验室501
软件系统名:
preday软件版本:
preday1.0
版
发生阶段:
用户使用
再现率:
100%
严重级:
高
优先级:
高
处理决定决定人:
曹洪
-11-3,缺陷报告提交给软件开发部门,限-11-518:
00前修复。
-11-4±午,质保部门修错验证测试;-11-4下午,与其它修复软件一起提交给版本发布部门
-11-5,版本发布部门作为升级版Verl.0SP1交付给用户。
缺陷现象
输入日期是1989-8-1,点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示:
缺陷再现步骤
1、在线数据
d:
\preday\Bug\Verl\Verl-Bug0003\Verl-Bug0003.txt
2、输入数据
3、点击【计算】按钮
2.5软件缺陷修正报告的设计
修错报告
缺陷名称:
显示错误的日期
Verl-Bug0003
报告人:
曹洪
-11-4
部门:
软件开发部preday项目组
缺陷编号ID:
报告时间:
修错时间:
修错人:
宫毕克
-11-4
部门:
软件开发部preday项目组
1.缺陷原因
表面原因:
将7月的天数错误的设置为30天,实际应是31天。
实质原因:
在设置日期为1、月份为8时,选择处理的逻辑错
误。
2.缺陷对策
重新设置8月1日的逻辑处理。
3.对策函数名
predayDlg.cpp的
voidPredayl(constint&year,constint&month,const
int&day,CString&strpreday)
修正记号:
Verl-Bug0003
4.缺陷产生阶段
编码
5.修正后结果
2.6白盒软件测试用例的设计
修正的代码:
if(month=5||month=7||month==10||month==12){preday=30;
premonth=month-1;
}
elseif(month==3){
premonth=month-1;
if(isLeapYear(year)){
preday=29;
else{
preday=28;
}
}
elseif(month==1){
if(year==1800)
{
AfxMessageBox("Reachthemindate.\n^);bValid=false;
}
else
{
preday=31;
premonth=12;
preyear=year_1;
}
}
else{
preday=31;
premonth=month-1;
}2.6.1语句覆盖
利用语句覆盖设计测试用例时应保证程序的每一条可执行语句至少执行一次。
从程序图上看,其实等同于节点覆盖。
语句覆盖率的计算方式如下:
语句覆盖率二至少被执行一次的语句数量/可执行的语句总数
进行白盒测试的程序段的流程图如图2.6.1所示,开始此段程序的条件是日期为1,即在设计测试用例时所有的日期都必须为1时程序运行时才能运行选择的这段程序。
语句覆盖的测试用例如表2.6.1所示,表中经过的路径为图2.6.1中所示的路径。
图2.6.1逻辑覆盖的流程图
表2.6.1语句覆盖的测试用例设计
ID
输入
预期输出
经过路径
语句覆盖
年份
月份
日期
年-月-日
LC-001
1989
5
1
1989-4-30
A
1&67%
LC-002
1980
3
1
1980-2-29
BCD
1&67%
LC-003
3
1
-2-28
BCE
1&67%
LC-001
1800
1
1
Reachthemindate・
BFGH
1&67%
LC-005
1801
1
1
1800-12-31
BFGI
25%
LC-006
1988
6
1
1988-5-31
BFJ
16.67%
2.6.2判定覆盖
判定覆盖又称分支覆盖,其含义是:
设计测试用例时应保证程序中每个判定节点的取真和去假分支至少执行一次。
由于判定节点并非只有二值情况,对于多分支的情况,判定覆盖的含义为:
测试用例的设计应保证程序中每个判定节点取得每种可能的结果至少一个。
从流程图来看,判定覆盖等同于边覆盖。
判定覆盖率的计算公式如下:
判定覆盖率二判定结果被评价的次数/判定结果的总数
判定覆盖的测试用例设计
ID
输入
预期输出
经过路径
判定覆盖
年份
月份
日期
年-月-H
LC-007
1990
12
1
1990-11-30
A
20%
LC-008
1898
3
1
1898-2-28
BCE
60%
LC-009
3
1
-2-29
BCD
60%
LC-010
1
1
-12-31
BFGI
80%
LC-011
1800
1
1
Reachthemindate・
BFGH
80%
LC-012
11
1
-10-31
BFJ
60%
2.6.3条件组合覆盖
条件组合覆盖的含义是:
测试用例的设计应满足每个判定节点中所有简单判定条件的各种的组合应至少执行一次。
条件组合覆盖率的计算方法如下:
条件组合覆盖率二条件操作数值至少被评价一次的数量/条件操作数值的所有组合总数
条件组合覆盖的测试用例设计表2.6.3,其相应测试用例的简单判定条件的判定如简单判定条件表。
表:
2.6.3条件组合覆盖的测试用例
ID
输入
预期输出
条件组合覆盖率
年份
月份
日期
年-月-II
LC-013
5
1
-4-30
12.5%
LC-014
7
1
-6-30
25%
LC-015
2033
10
1
2033-9-30
37.5%
LC-016
12
1
-11-30
50%
LC-017
1866
3
1
1866-2-28
62.5%
LC-018
1804
3
1
1804-2-29
62.5%
LC-019
1800
1
1
1800-4-30
87.5%
LC-020
1999
1
1
1999-4-30
87.5%
简单判定条件判定表
ID
简单判定条件
Month
==5
Month
==7
Month
==10
Month
==12
Month
==3
Month
==1
Year
==1800
isLeapYear
(year)
LC-013
T
LC-014
F
T
LC-015
F
F
T
LC-016
F
F
F
T
LC-017
F
F
F
F
T
F
LC-018
F
F
F
F
T
T
LC-019
F
F
F
F
F
T
T
LC-020
F
F
F
F
F
T
F
2.7黑盒回归测试用例的设计
验证软件缺陷的修正
验证人:
曹洪
验证版本:
Verl.OSPl
1、使用发生软件缺陷的测试用例(1989-8-1)
输出结果:
predayis:
1989-7-31.
判定:
0K
输入日期1989-8-lc
2、做回归测试一检证因修错并未破坏原来正确的部分
发生Verl-Bug0003错误的原因是再设计8月1日的日期时逻辑处理错误,再选择回归测试的测试用例是主要是针对日期为1,月份为7或不为7、年份任意的日期进行测试,测试用例设计如下表:
回归测试测试用例表
ID
输入日期
操作步骤
预计输出
实际输出
备注
HG-001
1989-8-1
输入年月日,点击”计算”按
1989-7-31
1989-7-31
经过
HG-002
1999-8-1
同上
1999-7-31
1999-7-31
经过
HG-003
2050-8-1
同上
2050-7-31
2050-7-31
经过
HG-004
1800-8-1
同上
1800-7-31
1800-7-31
经过
HG-005
1801-1-1
同上
1800-12-31
1800-12-31
经过
HG-006
1804-2-1
同上
1804-1-31
1804-1-31
经过
HG-007
1804-3-1
同上
1804-2-29
1804-2-29
经过
HG-008
1806-3-1
同上
1806-2-28
1806-2-28
经过
HG-009
1888-4-1
同上
1888-3-31
1888-3-31
经过
HG-010
1900-5-1
同上
1900-4-30
1900-4-30
经过
HG-011
1945-6-1
同上
1945-5-31
1945-5-31
经过
HG-012
1956-7-1
同上
1956-6-30
1956-6-30
经过
HG-013
1999-9-1
同上
1999-8-31
1999-8-31
经过
HG-014
-10-1
同上
-9-30
-9-30
经过
HG-015
2032-11-1
同上
2032-10-31
2032-10-31
经过
HG-016
2036-12-1
同上
2036-11-30
2036-11-30
经过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 测试 课程设计 实验 报告 样本