版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、白盒测试用例练习1为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。void DoWork (int x,int y,int z) int k=0,j=0; if ( (x>3)&&(z<10) ) k=x*y-1; j=sqrt(k); /语句块1 if ( (x=4)|(y>5) ) j=x*y+10; /语句块2 j=j%3; /语句块3k=0j=0k=x*y-1j=sqrt(k)x>3 and z<10aYcNbx=4ory>5eYj=x*y+10
2、Ndj=j%3由这个流程图可以看出,该程序模块有4条不同的路径:P1:(a-c-e) P2:(a-c-d)P3:(a-b-e) P4:(a-b-d)将里面的判定条件和过程记录如下:判定条件Mx>3 and z<10判定条件N=x=4 or y>51、 语句覆盖测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0TTP1(a-c-e)2、判定覆盖p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。测试用例输入 输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0TTP1(a-c-e)x=2,z=11,y
3、=5k=0,j=0FFP4(a-b-d)也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:测试用例输入输出判定M的取值判定N的取值覆盖路径x=5,z=5,y=4k=19,j=sqrt(19)%3TFP2(a-c-d)x=4,z=11,y=6k=0,j=1FTP3(a-b-e)3、条件覆盖对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2;对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。条件:x>3,z<10,x=4,y>5条件:x<=3,z>=10,x!=4,y<=5根据条件覆盖的基本思路
4、,和这8个条件取值,组合测试用例如表所示:测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8k=31, j=0T1,T2,T3,T4x>3,z<10,x=4,y>5P1(a-c-e)x=3,z=11,y=5k=0, j=0F1,F2,F3,F4x<=3,z>=10,x!=4,y<=5P4(a-b-d)4、判定/条件覆盖测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8k=31, j=0T1,T2,T3,T4x>3,z<10,x=4,y>5P1(a-c-e)x=3,z=11,y=5k=0, j=0F1,F2,F
5、3,F4x<=3,z>=10,x!=4,y<=5P4(a-b-d)5、组合覆盖条件组合1)x>3,z<10 2)x>3,z>=103) x<=3,z<10 4)x<=3,z>=105)x=4,y>5 6)x=4,y<=5 7)x!=4,y>5 8)x!=4,y<=5测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径x=4,z=5,y=6k=23, j=1T1,T2,T3,T41,5P1(a-c-e)x=4,z=10,y=5k=0, j=0T1,F2,T3,F42,6P2(a-c-d)x=3,z=5,y=6k
6、=14 j=1F1,T2,F3,T43,7P3(a-b-e)z=3,z=10,y=5k=0, j=2F1,F2,F3,F44,8P4(a-b-d)6、路径覆盖 测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径x=4,z=5,y=8k=31,j=0T1,T2,T3,T41,5P1(a-c-e)x=5,z=5,y=4k=19,j=sqrt(19)%3T1,T2,F3,F41,8P2(a-c-d)x=4,z=11,y=6k=0,j=1T1,F2,T3,T42,5P3(a-b-e)x=2,z=11,y=5k=0,j=0F1,F2,F3,F44,8P4(a-b-d)题目二:三角形问题在三角形计算中,要求
7、输入三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。 一、核心程序代码 /* 判断三角形的类 */ public class TriangleTestMethod /* 判断三角形的种类。参数a, b, c分别为三角形的三边, * 返回的参数值为0,表示非三角形; * 为1,表示普通三角形; * 为2,表示等腰三角形; * 为3,表示等边三角形。 */ public static int comfirm(in
8、t a, int b, int c) if(a + b > c) && (b + c > a) && (a + c > b) / 判断为三角形 if(a = b) && (b =c) / 判断为等边三角形 return 3; if(a = b) | (b = c) | (a = c) / 判断为等腰三角形 return 2; else / 判断为普通三角形 return 1; else / 为非三角形 return 0; 二、程序流程图三、测试用例 1.语句覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case1 a=1, b
9、=2, c=3 0 , 0Case2a=3, b=4, c=5 1 , , , 1Case3a=3, b=3, c=4 2 , , , 2Case4a=3, b=4, c=5 3 , , 32.判定覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case11a=1, b=2, c=3 0 , 0Case12a=3, b=4, c=5 1 , , , 1Case13a=3, b=3, c=4 2 , , , 2Case14a=3, b=4, c=5 3 , , 33.条件覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case5a=1, b=6, c=7 0 F1, T2, T3 0 Case6
10、a=7, b=1, c=6 0 T1, F2, T3 0 Case7a=1, b=7, c=6 0 T1, T2, F3 0 Case8a=3, b=3, c=4 2 T1, T2, T3, T4, F5, T6, F7, F8 2 Case9a=3, b=4, c=3 2 T1, T2, T3, F4, F5, F6, F7, T8 2 Case10a=4, b=3, c=3 2 T1, T2, T3, F4, T5, F6, T7, F8 2 4.条件-判定覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case15a=1, b=6, c=7 0 F1, T2, T3 0 Case16a=
11、7, b=1, c=6 0 T1, F2, T3 0 Case17a=1, b=7, c=6 0 T1, T2, F3 0 Case18a=3, b=3, c=4 2 T1, T2, T3, T4, F5, T6, F7, F8 2 Case19a=3, b=4, c=3 2 T1, T2, T3, F4, F5, F6, F7, T8 2 Case20a=4, b=3, c=3 2 T1, T2, T3, F4, T5, F6, T7, F8 2 Case21a=3, b=3, c=3 3 F1, T2, T3 (3 , , ) 3 Case22a=3, b=4, c=5 1 T1, F2,
12、 T3 (, , , ) 1 5.条件组合覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case23a=1, b=6, c=7 0 F1, T2, T3 0 Case24a=7, b=1, c=6 0 T1, F2, T3 0 Case25a=1, b=7, c=6 0 T1, T2, F3 0 Case26a=3, b=3, c=4 2 T1, T2, T3, T4, F5, T6, F7, F8 2 Case27a=3, b=4, c=3 2 T1, T2, T3, F4, F5, F6, F7, T8 2 Case28a=4, b=3, c=3 2 T1, T2, T3, F4, T5
13、, F6, T7, F8 2 Case29a=3, b=4, c=5 1 T1, T2, T3, F4, F5, F6, F7, F8 1 Case30a=3, b=4, c=3 2 T1, T2, T3, F4, F5, F6, F7, T8 2 备注 其他条件组合,无法到达结束 四、程序控制流图基本路径覆盖测试用例输入 期望输出 覆盖对象 测试结果 Case31 a=1, b=6, c=7 0 A->D 0 Case32 a=7, b=6, c=1 0 A->B->D 0 Case33 a=1, b=7, c=6 0 A->B->C->D 0 Case3
14、4 a=3, b=3, c=3 3 A->B->C->E->G->H 3 Case35 a=3, b=3, c=4 2 A->B->C->E->G->I 2 Case36 a=4, b=3, c=3 2 A->B->C->E->F->H 2 Case37 a=3, b=4, c=3 2 A->B->C->E->F->J->H 2 Case38 a=3, b=4, c=5 1 A->B->C->E->F->J->K 1 题目三:计算生日
15、是星期几已知公元1年1月1日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。应用逻辑覆盖方法和基路径测试方法为上面的问题设计测试用例一程序代码#include<stdio.h>int check(int year,int month,int day)int pass=1;int leap=0; if( (year%4=0 && year%100!=0 )| year%400=0 ) leap=1; if(year<1 |day<1) return 0; switch(month) case 1:case 3:case 5:case 7:ca
16、se 8:case 10:case 12:if(day>31)return 0;break; case 4:case 6:case 9:case 11:if(day>30) return 0; break; case 2: if(leap=1&&day>29) return 0; if(leap=0&&day>28)return 0; break; default:return 0;break; return pass; void fun()int year,month,day,sumday; sumday=0;printf("
17、input year,month,day:n"); scanf("%d%d%d",&year,&month,&day);if(check(year,month,day)=0)printf("输入的日期无效");return;if(month=1|month=2) month+=12; year-;sumday=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;if(month=13|month=14) month-=12; year+;switch(s
18、umday) case 0:printf("%d-%d-%d is Mondayn",year,month,day);break; case 1:printf("%d-%d-%d is Tuesdayn",year,month,day);break; case 2:printf("%d-%d-%d is Wednesdayn",year,month,day);break; case 3:printf("%d-%d-%d is Thurdayn",year,month,day);break; case 4:print
19、f("%d-%d-%d is Fridayn",year,month,day);break; case 5:printf("%d-%d-%d is Saturdayn",year,month,day);break; case 6:printf("%d-%d-%d is Sundayn",year,month,day);break;default:printf("date error");break; main() for(int i=0;i<14;i+) fun();二画出程序的控制流图1.程序流程图如下:m
20、onth=13|month=14nomonth=1|month=2yesmonth+=12;year-;计算星期数sumday=公式(year,month,day)noyesMonth-=12;year+;5460 1 2 3 4 5 6 其他sumday输出语句1输出语句2输出语句3输出语句4输出语句5输出语句6输出语句7输出语句0结束78910111213141515输入年月日year,month,day23endCheck(year,month,day)01Check( )函数nononoyesyes得到year,month,dayyear<1 |day<1no(year%4
21、=0 && year%100!=0 )| year%400=01 3 5 7 8 10 12 4 6 9 11 2 其他monthreturn passpass=1; leap=0;leap=1;return 0day>31day>30return 0noyesreturn 0yesleap=1&&day>29leap=0&&day>28return 0161817192021222324252628292827313032332.程序控制流图如下:16191721222324313334ennd
22、9101113143.用基本路径的测试路径编号基本路径编号基本路径1(21)(24)(31)(33)11(0)2(34)12(0)3(21)(34)13(0)4(21)(22)(34)14(0)5(21)(23)(34)15(0)(11)6(21)(24)(34)16(0)(12)7(21)(31)(34)17(0)(13)8(21)(22)(33)18(0)(14)9(21)(23)(33)10(21)(31)(33)条件:编号条件编号编号T1month=1T13year%100!=0T25month=2T2month=2T14year%100!=0T26month=3T3month=13T
23、15year%400=0T27month=4T4month=14T16year<1T28month=5T5sumday=0T17day<1T29month=6T6sumday=1T18month=1T30month=7T7sumday=2T19day>31T31month=8T8sumday=3T20day>30T32month=9T9sumday=4T21leap=1T33month=10T10sumday=5T22leap=0T34month=11T11sumday=6T23day>29T35month=12T12year%4=0T24day>284.测
24、试用例用例编号 输入的数据预期的输出实际的输出执行的路径覆盖的条件12012 2 1WednesdayWednesday(0)T12,T13,T25,T21,T2,T4,T722012 3 1ThurdayThurday(0)T12,T13,T26,T832012 4 6FridayFriday(0)T12,T13,T27,T942012 5 5SaturdaySaturday(0)(11)T12,T13,T28,T1052012 6 3SundaySunday(0)(12)T12,T13,T29,T1162012 7 30MondayMonday(0)(13)T12,T13,T30,T572
25、000 8 15TuesdayTuesday(0)(14)T12,T15,T31,T682012 9 31错误提示错误提示(0)T12,T13,T20,T3292013 2 8WednesdayWednesday(21)(24)(31)(33)T25,T22,T2,T4,T7102013 0 12错误提示错误提示(34)T17112013 1 26SaturdaySaturday(21)(34)T18,T1,T3,T10122013 10 33错误提示错误提示(21)(22)(34)T33,T19132013 11 31错误提示错误提示(21)(23)(34)T34,T20142012 2 3
26、0错误提示错误提示(21)(24)(34)T12,T13,T25,T21,T23152013 2 29错误提示错误提示(21)(31)(34)T25,T24162013 12 31SaturdaySaturday(21)(22)(33)T35,T10172013 6 30SundaySunday(21)(23)(33)T29,T11182013 2 15FridayFriday(21)(24)(31)(33)T25,T22,T2,T4,T9190 12 12错误提示错误提示(34)T16题目四:选择排序下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素Vi的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ): void SelectSort ( datalist & list ) /对表list
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精益服务解决方案
- 面部护理客户分析方案
- 煤炭车队营运方案
- 公共卫生突发事件下中小企业面临困境及应对策略
- 离婚孩子探视方案
- 部编版八年级(上)第三单元练习语文试卷含答案
- 期中测试卷-2024-2025学年统编版(五四制)语文一年级上册
- 怒杀阎婆惜概括50字左右
- 军史长廊策划方案
- 2024-2025学年湖南省长沙市长郡月亮岛学校九年级(上)第一次月考物理试卷(含答案)
- 临床病理诊断报告管理制度
- CATTI汉英词汇手册
- 《无人机法律法规知识》课件-第1章 民用航空法概述
- GB/Z 44306-2024颗粒质量一致性评价指南
- 大健康产业互联网医疗服务创新方案设计
- 幼儿家庭教育(山东联盟)智慧树知到答案2024年青岛滨海学院
- 2024年安全工程师考试真题及答案
- 公开课课件-《大气的组成和垂直分层》
- 三个和尚幼儿故事课件
- 互联网产品运营策略与用户增长考核试卷
- 水文勘测工(中级)技能鉴定考试题库(浓缩500题)
评论
0/150
提交评论