《测试三角形软件测试程序报告(共11页).doc》由会员分享,可在线阅读,更多相关《测试三角形软件测试程序报告(共11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验(训)报告单(电子版)实验编号实验班级软11-2班实验名称测试三角形任务书编号实验组别实验组成员报告人张勇维指导教师实 验 报 告代码: #include #include #include #include #define PI 3.using namespace std;int main() double a,b,c; cout请输入三个数,用空格隔开: abc; if(0a & a100 & 0b & b100 & 0c & cc&a+cb&b+ca) cout能构成三角形endl; cout该三角形是:c*c&b*b+c*ca*a&a*a+c*cb*b)
2、cout锐角; else if(a*a+b*b=c*c|a*a+c*c=b*b|b*b+c*c=a*a) cout直角; else cout钝角; if(a=b&a=c) cout等边; else if(a=b|b=c|a=c) cout等腰; cout三角形endl; elseif (a=0 |b=0|c=0) cout输入的是负数100 |b100|c100) cout超出范围endl; return 0; cout不能构成三角形; return 0; 三角形测试用例:输入条件有效等价类无效等价类是否是三角形(0a=100)(1) (0b=100) (2)(0cc) (4)(b+ca)(5
3、) (c+ab) (6)(a100) (8)(b100) (10)(c100) (12)(a+b=c) (13) (b+c=a) (14)(c+ac*c and b*b+c*ca*a and a*a+c*cb*b(17)a*a+b*b=c*c and b*b+c*c=a*a and a*a+c*c=b*b (18)是否是钝角三角形a*a+b*bc*c and b*b+c*ca*a and a*a+c*c=c*c and b*b+c*c=a*a and a*a+c*c=b*b(20)是否是直角三角形(a2+b2=c2) or(b2+c2=a2)or( (c2+a2=b2) (21)(a2+b2=
4、!c2)and (b2+c2=!a2)and(c2+a2=b2)(22)是否是等腰三角形(a=b) (23) (b=c) (24)(c=a) (25)(a!=b)and(b!=b)and(c!=a) (26)是否是等边三角形(a=b)and(b=c)and(c=a)(27)(a!=b) (28) (b!=c) (29)(c!=a)(30)三角形测试用例:序号 a,b,c覆盖等价类输出12,3,4(1)(2)(3)(4)(5)(6)是三角形2 0,1,2(7)非三角形3 101,88,90(8) 非三角形4 1,0,2(9) 非三角形5 88,101,90(10) 非三角形6 1,2,0(11)
5、非三角形7 88,90,101(12)非三角形8 1,2,3(13) 非三角形9 3,1,2(14)非三角形10 1,3,2(15)非三角形11 l,3,4(16)非三角形12 4,5,6(1)(2)(3)(4)(5)(6)(17)锐角三角形132,3,4(1)(2)(3)(4)(5)(6)(19)钝角三角形143,4,5(1)(2)(3)(4)(5)(6)(21)直角三角形15 3,3,4(1)(2)(3)(4)(5)(6)(23)等腰三角形16 4,3,3(1)(2)(3)(4)(5)(6)(24)等腰三角形173,4,3(1)(2)(3)(4)(5)(6)(25)等腰三角形183,3,3
6、(1)(2)(3)(4)(5)(6)(27)等边三角形19 3,4,5(1)(2)(3)(4)(5)(6)(18)非锐角三角形20 4,5,6(1)(2)(3)(4)(5)(6)(20)非钝角三角形21 2,3,4(1)(2)(3)(4)(5)(6)(22)非直角三角形22 6,7,8(1)(2)(3)(4)(5)(6)(26)非腰边三角形23 7,8,9(1)(2)(3)(4)(5)(6)(28)非等边三角形24 7,7,8(1)(2)(3)(4)(5)(6)(29)非等边三角形25 7,8,8(1)(2)(3)(4)(5)(6)(30)非等边三角形26 -4,-4,-4(7)(9)(11)
7、非三角形27102,103,104(8)(10)(12)非三角形28,(16)非三角形 第二题:某城市的电话号码由三部分组成。这三部分的名称和内容分别是 地区码:空白或三位数字; 前 缀:非0或1开头的三位数; 后 缀:四位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。 解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。表中列出了划分的结果。在每一等价类之后加有编号,以便识别。 表 电话号码程序的等价划分 输入条件 有效等价类 无效等价类 地区码 空白(1),3位数字(2) 有非数字字符(5),少于3位数字(
8、6),多于三位数字(7) 前缀 从200到999之间的3位数字(3) 有非数字字符(8),起始位为0(9),起始位为1(10),少于3位数字(11),多于3位数字(12) 后缀 4位数字(4) 有非数字字符(13),少于4位数字(14),多于4位数字(15) 第二步:确定调试用例。表中有4个有效等价类,可以公用以下两个次数用例: 调试数据 范围 期望结果 ( ) 2762345 等价类(1),(3), (4) 有效 (635) 8059321 等价类(2),(3),(4) 有效 对11个无效等价类,要选择11个调试用例,如下所示: 调试数据 范围 期望结果 (20A) 1234567 无效等价
9、类(5) 无效 (33 ) 2345678 无效等价类(6) 无效 (7777) 3456789 无效等价类(7) 无效 (777) 34A6789 无效等价类(8) 无效 (234) 0456789 无效等价类(9) 无效 (777) 1456789 无效等价类(10) 无效 (777) 346789 无效等价类(11) 无效 (777) 23456789 无效等价类(12) 无效 (777) 345678A 无效等价类(13) 无效 (777) 345678 无效等价类(14) 无效 (777) 34556789 无效等价类(15) 无效 选取的调试数据可以不同,关键是与调试内容相符。 第
10、三题#includestdio.htypedef struct MyDate int month; int day; int year; MyDate; MyDate PreDate(MyDate date);int Leapyear(int year);void Print(MyDate date);MyDate PreDate(MyDate date)/输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据 1.MyDate yesterday; 2.yesterday.month = date.month; / initialization 3.yesterday.day = d
11、ate.day; 4.yesterday.year = date.year; 5.int days_month13=0,31,0,31,30,31,30,31,31,30,31,30,31;/初始化每月天数,其中2月不确定,初始化为06.if(date.day1)7.yesterday.day=date.day+1;else8.if(date.month=1) 9.yesterday.year=date.year+1;10.yesterday.month=12;11.yesterday.day=31;12.else if(date.month=3)13.if(Leapyear(date.yea
12、r)14.yesterday.month=2;15.yesterday.day=29;else16.yesterday.month=2;17.yesterday.day=28; else18.yesterday.month=date.month+1;19.yesterday.day=days_monthdate.month+1;20.return yesterday;21.int Leapyear(int year)22.if(year%4=0&year%100!=0) | (year%400=0)23.return 1;24.else return 0;void Print(MyDate d
13、ate)25.printf(%d-%d-%dn,date.year,date.month,date.day);2、测试用例设计1)控制流图2)环路复杂度计算圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。 对应上面图中的圈复杂度,计算如下: 流图中有五个区域; V(G)=4个判定结点+1=5。3)基本路径集设计基本路径集为:A1、2、3、4、5、6、8、12、13、14、15、20、25B1、2、3、4、5、6、8、12、16、17、20、25C1、2、3、4、5、6、8、12、18、19、20、25D1、2、3、4、5、6、8、9、10、11、20、25E1、2、3、4、5、6、7、20、25根据上面的独立路径,去设计输入数据,使程序分别执行到上面五条路径。4)测试用例集设计为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:2000-1-1 2000-1-2 2000-3-1 1999-3-1 1980-5-1指导教师评语实验成绩专心-专注-专业
限制150内