有关软件测试的实验报告
实验步骤:某城市电话号码由三部分组成。它们的名称和内容分别是:
(1)地区码:空白或三位数字;
(2)前 缀:非'0'或'1'的三位数字;
(3)后 缀:4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。
测试代码:
import
5
325-654789
325-654789
输入正确
6
有非数字字符:5687f96
有非数字字符
输入错误
7
少于三个数字字符:5-654789
少于三个数字字符
输入错误
8
大于三个数字符:2134-654789
大于三个数字符
输入错误
9
非'0'或'1'的三位数字:234-456456
234-456456
234-456456
int date,month,year;
Scanner input=new Scanner(System.in);
date=input.nextInt();
month=input.nextInt();
year=input.nextInt();
if(date>=1 && date<=31 && month>=1 && month<=12){
}
elseif(str.matches("[2-9]{3}\\d{4}")){
System.out.println("您输入的电话号码格式正确:"+str);
}
else{
System.out.println("您输入的电话号码格式有错误,请重新输入");
}
}
}
输入
合理等价类
不合理等价类
电话号码
(1)输入包含7-10位的数字,地区码后可以接空格或'-'
日是否正确?
1
0
1
1
0
0
1
0
动作
打印内容
1
0
0
0
0
0
0
0
提示日期不正确
0
0
0
1
0
0
0
1
提示月份不正确
0
0
1
0
1
1
0
0
提示日不正确
0
1
0
0
0
0
1
0
4.
假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内 (P) , 求找给顾客最少货币个(张)数?(货币面值50元10 元,5 元,1元四 种 )
(10)小于1
年
(11)大于0的整数
(12) 小于0
用例编号
测试用例
预测结果
测试结果
1
6~8位数字字符,可以包含非法字符或者汉字字符:2004 年11月29日,2004-11-29
2004年11月30日
2004年11月30日
2
非6~8位数字字符:2004-1
输入格式不正确
输入错误
3
非法英文字符:2004-a-a
用例编号
S
输入
输出
备注张数
商品价格x
付款y
50元R50
20元R20
10元R10
5元R5
2元R2
1元R1
1
101
错误
2
0
3
101
101
4
100
99
5
50
50
100
1
0
0
000ຫໍສະໝຸດ 164951
100
0
2
0
1
2
0
5
7
20
80
100
0
1
0
0
0
0
1
8
19
81
100
0
0
1
1
2
0
4
9
10
90
100
0
0
1
0
0
0
1
10
9
System.out.println("电话号码由三部分组成,1)地区码:空白或三位数字;(2)前缀:非'0'或'1'的三位数字;(3)后缀:4位数字。");
if(str.matches("\\d{3}(-??| *)[2-9]{3}\\d{4}")){
System.out.println("您输入的电话号码格式正确:"+str);
elsereturn 1; //判断为普通三角形
}
else{ return 0; //为非三角形}
}
}
二,程序流程图
三、测试用例
1.语句覆盖测试用例
输入
期望输出
覆盖对象
测试结果
Case1
a=1,b=2,c=3
0
,
0
Case2
a=3,b=4,c=5
1
, , ,
1
Case3
a=3,b=3,c=4
2
, , ,
等腰三角形
等腰三角形
5
三个整数都相等的组合:2,2,2
等边三角形
等边三角形
6
含有非法字符的组合:2,@,3
含有非法字符
输入错误
7
含有负整数的组合:-1,1,1
含有负整数
输入错误
8
含有0的整数组合:0,1,1
含有0的整数
输入错误
3.用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。
(15)有非数字字符 (16)少于四个数字字符 (17)大于四个数字符
用例编号
测试用例
预测结果
测试结果
1
输入包含7-10位的数字,地区码后可以接空格或'-'
2
有非法字符:64@546……45
有非法字符
输入错误
3
少于七个数字字符:5514
少于七个数字字符
输入错误
4
大于10个数字符:
大于10个数字符
输入错误
2
Case4
a=3,b=4,c=5
3
, ,
3
2.判定覆盖测试用例
输入
期望输出
覆盖对象
测试结果
Case11
a=1,b=2,c=3
0
,
0
Case12
a=3,b=4,c=5
1
, , ,
1
Case13
a=3,b=3,c=5
2
, , ,
哈尔滨华德学院
实 验 报 告
课程名称:
软件测试方法和技术
系 别:
计算机应用技术系
专 业:
软件工程
学 号:
姓 名:
陈天任
学 期:
2012年春季学期
实验成绩:
计算机应用技术系 监制
实验名称:电话号码问题
实验时间:5.16
学时:4
实验地点:s103
实验目的:根据程序的规格说明,作等价类划分,设计测试方案。
三个整数
(4)三个正整数
(5)含有负整数
(6)含有0的整数组合
用例编号
测试用例
预测结果
测试结果
1
三个不能构成三角形整数:1,2,3
不能构成三角形
不能构成三角形
2
含有非数字字符的组合:A,s,d
含有非英文字符
输入错误
3
三个互不相等的整数:2,3,4
三边不等三角形
三边不等三角形
4
仅有两个相等的整数组合:2,2,3
publicclasstest1 {
publicstaticvoidmain(String[] args) {
Scanner input=newScanner(System.in);
String str=input.nextLine();
str=str.trim();
System.out.println(str);
Y>5,记为T4
Y<=5,记为F4
测试编号
XYZ
路径
覆盖条件
1
5 4 12
aceg
F1F2F3F4
2
6 6 5
abdeg
T1T2F3F4
3
4 3 9
abdfg
T1T2T3T4
4
4 1 12
acfg
F1F2T3F4
5
4 6 12
acfg
F1F2T3T4
2.题目二:三角形问题
在三角形计算中,要求输入三角型的三个边长:A、B和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。
if(a+b<=c || a+c <= b || b+c<=a){}
else{
if(a == b && b == c){}