软件测试报告
- 格式:doc
- 大小:138.00 KB
- 文档页数:9
软件测试报告
长途汽车票退票系统的测试设计
一、引言 1、编写目的
本次测试主要为验证汽车票退票函数的功能,该函数可以根据输入的时间及票面数额,得出所需缴纳的手续费。
2、测试概要 2.1 测试用例设计
测试中黑盒测试使用决策表和边界值技术;白盒测试使用基本路径测试法进行逻辑覆盖。
2.2 测试内容
对该函数进行功能测试、正确性测试等。
二、程序流程图
t>2 no
yes 0<t<=2
yes
no
no 0 < t<=2 no
yes yes no
no
yes no
开始
输入距离发车时间t 及票面金额m
m/10 余数为0 m/5有余数 退票费用p 为m*0.2取整后加1 退票费用p 为m*0.2
退票费用p 为m*0.1 m/10余数小于5 退票费用p 为m*0.1取整后加0.5 退票费用p 为m*0.1取整后
加1
-1<t<=0
yes
no
yes no t <=-1
三、源程序
///////////////////////////////////////////////////////////////////////////////
按照国家规定,开车2小时前退票按票面金额10%收取退票额,不足0.5元按0.5元计;开车2小时内退票按票面金额20%收取退票额,不足1元按1元计;开车后一小时内退票按票面金额50%收取退票金额,不足1元按1元计;开车后超过1小时不办理退票。
级数
距发车时间
税率%
票面金额
退票费用
1 t>
2 10 m%10=0 m*0.1 2 t>2 10 m%10<5 [m*0.1]+0.5
3 t>2 10 m%10>=5 [m*0.1]+1
4 0<t<=2 20 m%5=0 m*0.2
5 0<t<=2 20 m%5≠0 [m*0.2]+1
6 -1<t<=0 50 m%2=0 m*0.5
7 -1<t<=0
50
m%2≠0
[m*0.5]+1
//////////////////////////////////////////////////////////////////////////////
void main() {
m/2有余数 退票费用p 为m*0.5取整后加1
退票费用p 为m*0.5
退票费用p 为m
int t, m;
float p;
cont<<"请输入距发车时间、票面金额:"<<endl;
cin>>t>>m;
if(t>2)
if(m%10=0)
p=m*0.1;
else if(m%10<5)
p=floor(m*0.1)+0.5;
else
p=floor(m*0.1)+1;
else if(0<t <= 2)
if(m%5=0)
p=m*0.2;
else
p=floor(m*0.2)+1;
else if(-1<t <= 0)
if(m%2=0)
p= m*0.5;
else
p =floor(m*0.5)+1 ;
else if(t<= -1)
p=m;
cout<<"退票费用:"<<p<<endl;
}
四、静态检查表
4.1需求检查表
检测项目是否
1.需求是否完整?√
2.所有的需求的分级是否清晰而适当?√
3.需求组合是否充分地提出了所有适当的例外情况?√
4.需求组合是否充分地提出了边界情况?√
5.功能性和非功能性的需求都考虑到了吗?√
6.需求是否足够?√
7.反面的需求明确地规定了吗?√
8.所有到其它需求的交叉引用是否正确?√
9.需求是否具有一致性?√
10.需求是否可测?√
11.这个需求是否必须?√
12.需求是否现实?(即在现有的技术条件下能否实现这
√
个系统?)
4.2代码检查表
检测项目是否
1.变量的定义前后是否一致?√
2.变量是否在说明的作用域之内?√
3.引用关键字是否符合要求?√
4.代码当中是否添加了适当的注释?√
5.换行是否合适?√
6.间隔是否合适?√
7.{}是否成对出现?√
8.指令的语法是否正确?√
9.标点是否合适?√
10.符号是否正确?√
五、测试用例及其输出
1、动态黑盒测试
(1) 边界值分析
测试用例距发车时间t
(小时)
票面金额m(元)退票费用p(元)实际输出是否正确
1 2 60 12 √
2 2 65 1
3 √
3 0 60 30 √
4 0 62 31 √
5 -1 60 60 √
(2) 决策表
1 2 3 4 5 6 7 8
t>2
m%10=0T F F F F F F F m%10<5 F T F F F F F F m%10>=5 F F T F F F F F
0<t<=2 m%5=0F F F T F F F F m%5≠0F F F F T F F F
-1<t<=2 m%2=0F F F F F T F F m%2≠0F F F F F F T F
t<=-1 m F F F F F F F T p=m*0.1 X
p=[m*0.1]+0.5 X
P=[m*0.1]+1 X
p=m*0.2 X
p=[m*0.2]+1 X
p=m*0.5 X
p=[m*0.5]+1 X
p=m X 决策表测试用例及其输出
测试用例
距发车时间t(小时)
票面金额m (元)
退票费用p
(元)
实际输出是否正确
6 3 50 5 √
7 3 51 5.5 √
8 3 55 6 √
9 3 57 6 √ 10 1 70 14 √ 11 1 71 15 √ 12 1 75 15 √ 13 1 76 16 √ 14 -0.5 40 20 √ 15 -0.5 41 21 √ 16 -0.5 42 21 √ 17 -0.5 44 22 √ 18 -2 67 67 √ 19 -2
78
78
√
2、白盒测试——路径覆盖
(1) 把流程图简化成如下的控制流图,每个节点代表流程图中的一条或多条语句。
(2) 环
(2) 环形复杂度的计算
10
20 30
11
12 13
21
14
22
23
31
32
33
40
41
V(G)=14-15+2=1
E=14 流图中边的数量
N=15 流图中结点的数量
(3) 所有的DD路径
现使用上述压缩的控制流程图中的圈的序列来表示DD 路径:
1、10 11 12
2、10 11 13
3、10 11 14
4、10 20 21 22
5、10 20 21 23
6、10 20 30 31 32
7、10 20 30 31 33
8、10 20 30 40 41 DD路径覆盖性的测试用例
测试用例距发车时间t(小
时)
票面金额m(元)退票费用p(元)
实际输出是否正
确
20 3 80 8 √
21 4 83 8.5 √
22 5 85 9 √
23 2 80 16 √
24 1 82 17 √
25 0 84 42 √
26 -0.5 87 44 √
27 -1 87 87 √
28 -2 84 84 √
六、测试结论
1、覆盖分析
1.1 需求覆盖
已经达到规格说明书中所有需求/功能,即达到100%的目标。
1.2 测试覆盖
测试覆盖率为100%
2、缺陷的统计与分析
微小。
3、残留缺陷与未解决问题
无。
4、测试结论
测试执行充分,可靠性强,测试目标完成,测试通过,可以进入下一阶段项目目标。