软件质量与测试课程设计实验报告样本Word下载.docx
- 文档编号:7847731
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:18
- 大小:38.25KB
软件质量与测试课程设计实验报告样本Word下载.docx
《软件质量与测试课程设计实验报告样本Word下载.docx》由会员分享,可在线阅读,更多相关《软件质量与测试课程设计实验报告样本Word下载.docx(18页珍藏版)》请在冰点文库上搜索。
月份>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
M3中
ND-005
1989-4—2
提示”请填入-个在1和31之间的整数”
请填入•个在1和
31之间的整数
日期在
D2中
ND-006
1989-4-32
D3中
表3:
较为合理的有效等价类的划分
1800W年份2050,且为闰年
Ml:
5、7、10、
12
1W日期W28
1800W年份2050,且为非闰年
2^4、6、8、
9、11
29
l
30
M4:
3
D4:
31
表4:
有效等价类测试用例
输入日期(年-加日)
预期输出(年-月-日)
实际输出(年-加日)
ND-007
1850-1-1
输入年月日,点击”计算”按钮
1849-12-31
ND-008
1850-3-29
同上
1850-3-2&
1850-3-28・
XD-009
1850-5-30
1850-5-29
ND-010
1850-11-31
输入日期不合法的合理提示
Themonth11Cannothave31days・
ND-011
1900-1-29
1900-1-28
ND-012
1900-3-30
1900-3-29
ND-013
1900-5-31
1900-5-30
ND-014
1900-11-1
1900-10-31
ND-015
-1-30
-1-28
ND-016
-3-31
-3-30
ND-017
-5-1
-4-30
ND-018
-11-29
-11-28
ND-019
-1-31
ND-020
-2-1
ND-021
-5-29,
-5-28
ND-022
-11-30
2.2.2边界值法
根据preday的有效输入日期能够设置边界值法的测试用例取
值如下,
年份:
1800、
1801、
2049、2050
1、2、
11、
K2.
30、
此时,构成的边界值法测试用例如表5所示。
表5:
边界值法测试用例
输入口期(年-月-日)
预期输出(年■月-日)
实际输出(年-月■日)
ND-023
1800-1-1
输入日期超出范围的合理提示
Reachthemindate・
ND-024
1800-2-1
1800-1-31
ND-025
1800-11-30
1800-11-29
ND-026
1800-12-31
1800-12-30
ND-027
1801-1-2
1801-1-1
ND-028
1801-2-30
输入日期不合法的合理提示
Themonth2Cannothave30days・
ND-029
1801-11-31
ND-030
1801-12-1
同I-.
1801-11-30
ND-031
2049-1-30
同I-.
2049-1-29
ND-032
2049-2-31
输入日期不合法的
Themonth2Cannot
合理提示
have31days・
ND-033
2049-11-1
2049-10-31
ND-034
2049-12-2
2049-12-1
ND-035
2050-1-31
2050-1-30
ND-036
2050-2-1
ND-037
2050-11-2
2050-11-1
ND-038
2050-12-30
2050-12-29
2.2.2错误推测法
错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷,有针对地设计测试用例的方法。
错误推法的基本思想是列举出系统中所有可能的缺陷和容易发生缺陷的特殊情况,并根据她们选择测试用例。
程序preday错误推测法测试用例设计如表6所示。
表6:
错误推测法测试用例
预期输出(年■■月-日)
实际输出(年-月-日)
ND-039
无
所有的接文本框都淸零
如图1
Verl-BugOOOl
ND-040
1800-12-0
输入年月日,点击”计算”按钮
Verl-Bug0002
ND-041
1989-8-1
1989-7-31
1989-7-30
Verl-Bug0003
ND-042
最小输入日期的合理提示
输出”Reachthemindate.
经过
ND-043
2050-12-31
ND-044
-3-1
-2-29
ND-045
-0-0
-1-29
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软件缺陷报告的设计
缺陷报告
缺陷名称:
显示错误的日期
报告人:
部门:
营业部客服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软件缺陷修正报告的设计
修错报告
-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)
修正记号:
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;
}2.6.1语句覆盖
利用语句覆盖设计测试用例时应保证程序的每一条可执行语句至少执行一次。
从程序图上看,其实等同于节点覆盖。
语句覆盖率的计算方式如下:
语句覆盖率二至少被执行一次的语句数量/可执行的语句总数
进行白盒测试的程序段的流程图如图2.6.1所示,开始此段程序的条件是日期为1,即在设计测试用例时所有的日期都必须为1时程序运行时才能运行选择的这段程序。
语句覆盖的测试用例如表2.6.1所示,表中经过的路径为图2.6.1中所示的路径。
图2.6.1逻辑覆盖的流程图
表2.6.1语句覆盖的测试用例设计
输入
经过路径
语句覆盖
年-月-日
LC-001
1989
5
1
1989-4-30
A
1&
67%
LC-002
1980
1980-2-29
BCD
LC-003
-2-28
BCE
1800
BFGH
LC-005
1801
BFGI
25%
LC-006
1988
6
1988-5-31
BFJ
16.67%
2.6.2判定覆盖
判定覆盖又称分支覆盖,其含义是:
设计测试用例时应保证程序中每个判定节点的取真和去假分支至少执行一次。
由于判定节点并非只有二值情况,对于多分支的情况,判定覆盖的含义为:
测试用例的设计应保证程序中每个判定节点取得每种可能的结果至少一个。
从流程图来看,判定覆盖等同于边覆盖。
判定覆盖率的计算公式如下:
判定覆盖率二判定结果被评价的次数/判定结果的总数
判定覆盖的测试用例设计
判定覆盖
年-月-H
LC-007
1990
1990-11-30
20%
LC-008
1898
1898-2-28
60%
LC-009
LC-010
-12-31
80%
LC-011
LC-012
11
-10-31
2.6.3条件组合覆盖
条件组合覆盖的含义是:
测试用例的设计应满足每个判定节点中所有简单判定条件的各种的组合应至少执行一次。
条件组合覆盖率的计算方法如下:
条件组合覆盖率二条件操作数值至少被评价一次的数量/条件操作数值的所有组合总数
条件组合覆盖的测试用例设计表2.6.3,其相应测试用例的简单判定条件的判定如简单判定条件表。
表:
2.6.3条件组合覆盖的测试用例
条件组合覆盖率
年-月-II
LC-013
12.5%
LC-014
7
-6-30
LC-015
2033
10
2033-9-30
37.5%
LC-016
50%
LC-017
1866
1866-2-28
62.5%
LC-018
1804
1804-2-29
LC-019
1800-4-30
87.5%
LC-020
1999
1999-4-30
简单判定条件判定表
简单判定条件
Month
==5
==7
==10
==12
==3
==1
Year
==1800
isLeapYear
(year)
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、年份任意的日期进行测试,测试用例设计如下表:
回归测试测试用例表
输入日期
预计输出
HG-001
输入年月日,点击”计算”按
HG-002
1999-8-1
1999-7-31
HG-003
2050-8-1
2050-7-31
HG-004
1800-8-1
1800-7-31
HG-005
HG-006
1804-2-1
1804-1-31
HG-007
1804-3-1
HG-008
1806-3-1
1806-2-28
HG-009
1888-4-1
1888-3-31
HG-010
1900-5-1
1900-4-30
HG-011
1945-6-1
1945-5-31
HG-012
1956-7-1
1956-6-30
HG-013
1999-9-1
1999-8-31
HG-014
-10-1
-9-30
HG-015
2032-11-1
2032-10-31
HG-016
2036-12-1
2036-11-30
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 测试 课程设计 实验 报告 样本
![提示](https://static.bingdoc.com/images/bang_tan.gif)