软件结构图解读.docx
- 文档编号:28789413
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:22
- 大小:188.41KB
软件结构图解读.docx
《软件结构图解读.docx》由会员分享,可在线阅读,更多相关《软件结构图解读.docx(22页珍藏版)》请在冰豆网上搜索。
软件结构图解读
实验二:
第五题:
职工工资判定表
1
2
3
4
5
6
7
8
9
助工
T
F
F
T
F
F
T
F
F
工程师
F
T
F
F
T
F
F
T
F
高工
F
F
T
F
F
T
F
F
T
工作年限N<10
T
T
F
F
F
F
F
F
工作年限10 F F F T T T F F F 工作年限20 F F F F F F T T T 350 × 400 × 500 × 350〔1+20%〕 × 400〔1+20%〕 × 500〔1+30%〕 × 350〔1+30%〕 × 400〔1+35%〕 × 500〔1+40%〕 × 环形复杂度计算: V(G)=E-N+2=30-22+2=10 E是流图中边的条数,N是结点数。 职工津贴伪代码: 工作年限N,津贴W Switch〔职工种类〕 { case助工 if(N<10){ W=350; } elseif(10 W=350(1+20%); } elseif(20 W=350(1+30%); Brake; case工程师 if(N<10){ W=400; } elseif(10 W=4000(1+20%); } elseif(20 W=4000(1+35%); Brake; case高工 if(N<10){ W=500; } elseif(10 W=500(1+30%); } elseif(20 W=500(1+40%); Brake; } 实验三 职工津贴伪代码: 工作年限N,津贴W Switch〔职工种类〕 { case助工 if(N<10){ W=350; } elseif(10 W=350(1+20%); } elseif(20 W=350(1+30%); Brake; case工程师 if(N<10){ W=400; } elseif(10 W=4000(1+20%); } elseif(20 Brake; case高工 if(N<10){ W=500; } elseif(10 W=500(1+30%); } elseif(20 W=500(1+40%); Brake; } 实验三测试用例及其结论 第一题: (1).如果将第1个判定中的“AND〞错写成了“OR〞,用数据{[2.5],[2,0,3]}〔首先,该组数据满足何种逻辑覆盖〕对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 语句覆盖,不能发现错误,当错写成or时,测试用例执行时仍然是选择ture分支,跟预期的结果一致,不能发现错误。 (2).如果将第2个判定中的“x>1〞错写成了“x<=1〞,那么用数据{[2.5],[2,0,3]}对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 不能发现错误。 当程序运行到d时,仍然运行F分支,跟预期结果一致。 (3).如果将第1个判定中的“AND〞错写成了“OR〞,那么用数据{[1/3],[3,0,1]}和{[3],[2,1,2]}〔首先,该组数据满足何种逻辑覆盖〕对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 条件覆盖,判定覆盖,不能发现错误,程序的执行结果与预期一致。 (4).如果将第2个判定中的“x>1〞错写成了“x<=1〞,那么用数据{[1/3],[3,0,1]}和{[3],[2,1,2]}〕对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 能发现错误,当程序执行到d时,会选择分支T,将会与预期不符。 (5).如果将第2个判定中的“x>1〞错写成了“x<=1〞,那么用数据{[2.5],[2,0,3]}和{[1],[1,1,1]}〔首先,该组数据满足何种逻辑覆盖〕对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 条件覆盖。 能发现错误,当第二组测试用例执行至d时,会执行T分支,会与预期结果不符。 (6).如果将第1个判定中的“a>1〞错写成了“a<=1〞,且把“b==0〞错写成了“b! =0〞,那么用数据{[2],[2,1,1]}和{[3],[1,0,2]}对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 不能发现错误,程序的执行结果与预期一致。 (7).如果将第1个判定中的“a>1〞错写成了“a<=1〞,且把“b==0〞错写成了“b! =0〞,那么用数据{[2],[2,1,1]}、{[2],[2,0,2]}、{[1],[1,1,1]}和{[3],[1,0,2]}对程序进展测试,可否发现错误? 为什么? 请先测试,然后把结论记录到实验报告中。 结论: 能发现错误,执行第二个测试用例时,出现的结果为3,与预期结果不符。 第二题: 源程序1: packageapp; publicclasstest1{ publicinttest(inti,inta){ while(i<=10) { a+=2; if(a>4){ a*=2; a+=3; }else{ if(a>1)//1 a-=4; else//a<1 a+=5; } i++; } a*=4; returna; } } 测试程序1: packageapp; importorg.junit.Test; importjunit.framework.TestCase; publicclasstest1_testextendsTestCase{ privatestatictest1te=newtest1(); Test publicvoidtestTest(){ assertEquals(-4,te.test(10,1));//部第一层循环 assertEquals(20,te.test(10,-2));//部第二层循环 assertEquals(132,te.test(9,3)); assertEquals(-8,te.test(11,-2)); } } 源程序2: packageapp; publicclasstest3{ publicinttest(intA,intB){ if(10 if(A<100){//10 B=A*20-5; }elseif(A>=100){//A>=100 B=A*100-200; } }elseif(A<=10){//A<=10 if(0 B=A*15+20; } } returnB; } } 测试程序2: packageapp; importorg.junit.Test; importjunit.framework.TestCase; publicclasstest3_testextendsTestCase{ privatestatictest3te3=newtest3(); Test publicvoidtestTest(){ /*等价类划分方法*/ assertEquals(50,te3.test(2,2));//0 assertEquals(395,te3.test(20,20));//10 assertEquals(10800,te3.test(110,110));//A>100 /*边界值方法*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 结构图 解读