上海大学软件工程实验五测试法Word下载.docx
《上海大学软件工程实验五测试法Word下载.docx》由会员分享,可在线阅读,更多相关《上海大学软件工程实验五测试法Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
B+C>
A
条件4:
条件4-1:
A=B
条件4-2:
B=C
条件4-3:
A=C
若4-1,4-2均为真,简称条件4:
TTT
若4-1,4-2均为假,简称条件4:
FFT
4-1真,4-2假,4-3假条件4:
TFF
以此类推
条件5:
A^2+B^2=C^2
条件6:
A^2+C^2=B^2
条件7:
B^2+C^2=A^2
语句覆盖
测试用例输入
执行的语句
判定的取值
条件的取值
覆盖的路径
.......
1
2
sabei
F
T
sabcfi
3
4
5
sabcdgi
FFF
6
9
abcdhi
判定覆盖
条件覆盖
判定/条件覆盖
组合覆盖
FTF
路径覆盖
B:
阅读以下C++语言程序及其说明,完成任务1-2。
【程序和说明】
以下程序读入表示1900年1月1日以后的日期的年份、月份、日的三个正整数,输出该日期是星期几。
如:
读入20131223,输出星期一。
#include<
iostream>
usingnamespacestd;
char*day[7]={
"
星期一"
星期二"
星期三"
星期四"
星期五"
星期六"
星期日"
};
intmonth[12]={
0,
31,
31+28,
31+28+31,
31+28+31+30,
31+28+31+30+31,
31+28+31+30+31+30,
31+28+31+30+31+30+31,
31+28+31+30+31+30+31+31,
31+28+31+30+31+30+31+31+30,
31+28+31+30+31+30+31+31+30+31,
31+28+31+30+31+30+31+31+30+31+30
voidmain()
{
inttotal_days;
inty,m,d;
cout<
<
"
请输入要查询的日期(年月日)?
endl;
cin>
>
y>
m>
d;
while(y!
=0&
&
m!
d!
=0)
{
total_days=(y-1900)*365+(y-1900)/4+month[m-1]+d-1;
if((y-1900)%4==0&
m<
3&
y!
=1900)
--total_days;
(day[total_days%7])<
}
}
【任务1】
使用黑盒测试技术(等价类划分),写出等价类划分表:
输入类型
有效等价类
无效等价类
年份,正整数
1900的正整数
非整数1
=02
19003
655364
月份,正整数
=1,<
=12的正整数
非整数5
=06
17
128
日,正整数
=31
小月<
=30
闰年二月<
=29
非闰年二月<
=28
正整数
非整数9
=010
111
3112
小月有31日13
闰年二月有>
=30日14
非闰年二月有>
=29日15
【任务2】
为该程序设计一组测试用例;
利用这组测试用例,对程序进行测试,并记录测试结果。
序号
输入
预期结果
实际结果
1900.5
报错
-1
无输出
10
655300
星期四
2019
1.2
星期日
7
8
15
星期二
1.1
循环一次后报错
星期一
11
12
38
星期五
13
31
星期三
14
29
2008
30
星期六
16
【任务3】
使用黑盒测试技术(边界值分析),对上题2的测试结果进行补充。
1900
65535
1899
65536
17
18
32
19
20
21
22
23
24
25
26
27
28
【任务4】
指出程序的不足之处,提出错误推测。
1.无法区分大小月
2.无法区分闰年与非闰年
3.对月份,日期的最大值没有限定,这两个值也可以为负数
4.对于年份溢出没有提示和防范