软件测试实验报告文档格式.docx
- 文档编号:22066436
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:23
- 大小:22.73KB
软件测试实验报告文档格式.docx
《软件测试实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
3.实验参考题目
对电话账单来说,春季和秋季的标准时间与夏时制时间的转换会带来有意思的问题。
春季,这种转换发生在(3月末、4月初的)星期日凌晨2:
00时,这时时钟要设置为凌晨3:
00时。
对称的转换通常发生在10月最后一个星期日,时钟要从2:
59:
59调回到2:
00:
00。
请为采用以下费率计算用户的每月通话费:
通话时间<
=20分钟时,每分钟收费0.05美元,通话时间不到1分钟时按1分钟计算。
通话时间>
20分钟时,收费1.00美元,超过20分钟的部分,每分钟0.10美元,不到1分钟时按1分钟计算。
假设:
通话计费时间从被叫方应答开始计算,到呼叫方挂机时结束。
没有超过20个小时的通话。
4.实验内容
(1)找到可测试的内容,或对实验参考题目进行编码(程序语言自定)。
(2)根据实验内容设计测试用例,要求分别是用边界值分析、等价类测试和决策表测试方法生成测试用例。
(3)执行测试用例,并记录测试结果。
(4)编写实验报告,实验报告的内容包括测试用例的测试结果、程序中存在的bug、以及这三种测试用例生成方法对于揭露程序的错误有什么异同点。
程序初始版代码清单:
importjava.util.*;
publicclassFee{
publicstaticvoidmain(String[]args)
{
intbeginSet=0,endSet=0;
DatebeginDate=null,endDate=null;
intisSpeaking=0;
intset=0;
//0是夏时制,1是标准时制
intflag=1;
while(flag==1)
{
if(set==0)
{"
现在是夏时制"
);
}
else{"
现在是标准时间"
"
请输入您需要的服务"
1改变时制"
if(isSpeaking==0)
2开始通话"
else
2结束通话"
Scannerscanner=newScanner(System.in);
inti=scanner.nextInt();
switch(i)
{
case1:
if(set==0){set=1;
elseif(set==1){set=0;
break;
case2:
if(isSpeaking==0)
{
beginDate=newDate();
beginSet=set;
"
开始通话时间是"
+beginDate);
isSpeaking=1;
}
elseif(isSpeaking==1)
endDate=newDate();
endSet=set;
结束通话时间是"
+endDate);
doubleminute=(endDate.getTime()-beginDate.getTime())/(60*1000);
if(beginSet==endSet)
{
if(minute<
=20)
{"
通话费是"
+minute*0.05+"
美元"
}else
{
"
+((minute-20)*0.1+1)+"
}
isSpeaking=0;
}else{
if(beginSet==1&
&
endSet==0)
{minute-=60;
{"
}else
{
"
}
if(beginSet==0&
endSet==1)
minute+=60;
if(minute<
{"
}else
{
"
}
}
}
}
}
边界值分析:
输入:
通话时间,通话日期
通话时间={19’,19’59”,20’,20’59”,21’}
通话日期:
1月15日(标准时间)
3月底4月初的一个星期日凌晨2:
00(标准时间转为夏时制)
6月15日(夏时制)
10月最后一个星期天(夏时制转成标准时间凌晨,2:
00)
通话时间
通话日期
预计输出(美元)
12:
00-12:
20
1
6月15日(夏时制)
1:
50-3:
10
3月底4月初的一个星期日凌晨2:
2:
50-2:
10月最后一个星期天(夏时制转成标准时间凌晨,2:
19
0.95
19:
59
20:
00
1.1
21
等价类划分:
通话时间={小于20分钟,等于20分钟,大于20分钟}
通话日期={标准时间,夏时制}
测试用例:
预计输出
10min
1月15日
0.5
20min
30min
2
6月15日
测试时制转换时能否正确运行:
测试未满一分钟是否按照一分钟计算:
19min59sec
09:
决策表:
C1通话时间:
T1小于20min,T2等于20min,T3大于20min,T419min59sec
C2通话日期:
D1标准时间,D2夏时制,D3标准时间转夏时制,D4夏时制转标准时间
A1:
每分钟0.05美元
A2:
一美元加上每分钟0.1美元
C1
T1
T2
T3
T4
C2
D1
D2
D3
D4
A1
*
A2
编号
3
4
5
6
7
8
9
11
12
13
14
15
16
2:
00-2:
30
55-3:
05
55-2:
测试出的bug:
1初始版程序中计算两个通话时间的间隔时有问题,没实现“不满1分钟按1分钟计算”
于是将代码:
minute=(endDate.getTime()-beginDate.getTime())/(60*1000);
改成:
minute=Math.ceil((endDate.getTime()-beginDate.getTime())/(60*1000));
向上取整
2初始版程序没有对20小时进行限制;
3初始版程序无法退出。
修改后的程序为:
3退出程序"
doubleminute=Math.ceil((endDate.getTime()-beginDate.getTime())/(60*1000));
if(minute>
20*60)
{"
超过20小时了!
"
case3:
flag=0;
"
感谢使用"
三种测试方法的不同点:
边界值分析,基于定义域,不识别数据或逻辑关系,生成的测试用例数比较多;
等价类技术考虑数据依赖关系,标识等价类时需要更多的判断和技巧,等价类标识出以后的处理也是机械的;
决策表技术也要考虑数据的逻辑依赖关系,它的考虑较为完备,能够正确反映输入的依赖关系。
三种测试方法的相同点:
边界值分析,等价类划分和决策表技术都属于黑盒测试,都能一定程度上测试出软件的缺陷
实验2
结构性测试方法(4学时)
1.
实验目的
(1)学习使用自动化测试工具Junit
。
(2)掌握逻辑覆盖测试。
3.
实验参考题目
一个假想的保险金计算程序,根据两个因素计算半年保险金:
投保人的年龄和驾驶历史记录:
保险金
=
基本保险费率×
年龄系数
-
安全驾驶折扣
年龄系数是投保人年龄的函数,如果投保人驾驶执照上的当前点数(根据交通违规次数确定)低于与年龄有关的门限,则给予安全驾驶折扣。
书面保险政策的驾驶人年龄范围为从16-100岁,如果投保人有12点,则驾驶入的执照就会被吊销(因此不需要保险)。
基本保险费率随时间变化,对于这个例子,是每半年500美元。
具体情况如表2.1所示。
表2.1
保险金计算情况分类
年龄范围
年龄系数
门限点数
16≤年龄<25
2.8
50
25≤年龄<35
1.8
35≤年龄<45
1.0
100
45≤年龄<60
0.8
150
60≤年龄<100
1.5
200
4.
实验内容
(1)使用各种逻辑覆盖方法生成测试用例。
(2)使用JUNIT测试工具进行TDD开发。
(4)修改BUG,并进行回归测试直到测试用例全部通过。
(5)编写实验报告,实验报告的内容包括测试用例的测试结果、程序中存在的bug、以及这几种测试用例生成方法的异同点。
intage,num,discount=0;
①
scanf("
%d%d"
&
age,&
num);
②
if(age>
=100){;
}③
elseif(age>
=60)④
if(num<
5)⑤
discount=550;
⑥
=45)⑦
7)⑧
discount=250;
⑨
=35)⑩
5)⑪
discount=400;
⑫
=25)⑬
3)⑭
discount=850;
⑮
=16){⑯
1)⑰
discount=1350;
⑱
printf("
折扣=%d\n"
discount);
⑲
1.语句覆盖
用例ID
年龄
违规次数
保险金
是否通过
备注
是
1350
850
40
400
250
80
550
2.判断覆盖
101
70
3.条件覆盖
4.条件判断覆盖
5.条件组合覆盖
Defineage>
=100trueasA1,falseas!
=60trueasA2,falseas!
=45trueasA3,falseas!
A3
=35trueasA4,falseas!
A4
=25trueasA5,falseas!
A5
=16trueasA6,falseas!
A6
Definenum<
5trueasB1,falseas!
B1
7trueasB2,falseas!
B2
3trueasB3,falseas!
B3
1trueasB4,falseas!
B4
条件组合:
!
A1!
A2!
A3!
A4!
A5!
A6B1B2B3B4
A5A6B1B2B3B4
A4A5A6B1B2B3!
A3A4A5A6B1B2B3!
A2A3A4A5A6!
B1B2!
B3!
A1A2A3A4A5A6B1B2!
A1A2A3A4A5A6!
B1!
B2!
6.路径覆盖
Junit测试:
Main.java
import;
publicclassM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验 报告