软件工程七章以前复习与习题课.ppt
《软件工程七章以前复习与习题课.ppt》由会员分享,可在线阅读,更多相关《软件工程七章以前复习与习题课.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 复习内容与习题要点复习内容与习题要点1 1、有关测试的重要概念要搞清楚,如单元测试、集成测试、验验、有关测试的重要概念要搞清楚,如单元测试、集成测试、验验测试、渐增式测试,非渐增式测试等概念要准确理解;测试、渐增式测试,非渐增式测试等概念要准确理解;2 2、白盒测试技术的逻辑覆盖方法必须一一掌握(如语句、判定、白盒测试技术的逻辑覆盖方法必须一一掌握(如语句、判定、条件、判定条件、判定/条件、条件组合、路径覆盖);条件、条件组合、路径覆盖);3 3、白盒测试技术的(控制结构测试)基本路径测试必须掌握;、白盒测试技术的(控制结构测试)基本路径测试必须掌握;4 4、黑盒测试中的等价分类
2、与边界值分析方法的综合使用要掌握;、黑盒测试中的等价分类与边界值分析方法的综合使用要掌握;5 5、软件可靠性的基本概念和计算要掌握,布置的习题要独立做;、软件可靠性的基本概念和计算要掌握,布置的习题要独立做;6 6、熟悉编码阶段的有关原则和风格。、熟悉编码阶段的有关原则和风格。7-4 7-4 回答下列问题:回答下列问题:(2 2)假设有一个由)假设有一个由10001000行行FORTRANFORTRAN语句构成的程序语句构成的程序(经编译后大约有经编译后大约有50005000条机条机器指令器指令),估计对其进行测试期间将发现多少个错误?为什么?,估计对其进行测试期间将发现多少个错误?为什么?(
3、3 3)设计下列伪码程序的语句覆盖和路径覆盖测试用例:)设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTSTARTINPUT(A,B,C)INPUT(A,B,C)IF A5IF A5THEN X=10THEN X=10ELSE X=1ELSE X=1END IFEND IFIF B10IF B10THEN Y=20THEN Y=20ELSE Y=2ELSE Y=2END IFEND IFIF C15IF C15THEN Z=30THEN Z=30ELSE Z=3ELSE Z=3END IFEND IFPRINT(X,Y,Z)PRINT(X,Y,Z)STOPSTOP7-47-4(2 2)
4、答:经验表明,在类似的程序中,单位长度里的错误数)答:经验表明,在类似的程序中,单位长度里的错误数E ET T/I/IT T近似为近似为常数。美国的一些统计数字告诉我们,通常常数。美国的一些统计数字告诉我们,通常 0.5X100.5X10-2-2 E ET T/I/IT T 2X10 2X10-2-2也就是说,在测试之前每也就是说,在测试之前每10001000条指令中大约有条指令中大约有5 520个错误。个错误。假设在该程序的每假设在该程序的每10001000条指令中有条指令中有1010个错误,则估计在对它进行测试期间个错误,则估计在对它进行测试期间 将将发现的错误数为发现的错误数为5000X
5、10/1000=50 5000X10/1000=50 (个)(个)7-4(3)答:)答:语句覆盖的测试用例语句覆盖的测试用例因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。下面是实现语句的典型测试用例:次。下面是实现语句的典型测试用例:使使3 3个判定表达式之值全为假个判定表达式之值全为假输入:输入:A=1A=1,B=1B=1,C=1C=1预期的输出:预期的输出:X=1
6、X=1,Y=2Y=2,Z=3Z=3 使使3 3个判定表达式之值全为真个判定表达式之值全为真输入:输入:A=20A=20,B=40B=40,C=60C=60预期的输出:预期的输出:X=10X=10,Y=20Y=20,Z=30Z=30路径覆盖的测试用例路径覆盖的测试用例本程序共有本程序共有8 8条可能的执行通路,为做到路径覆盖总共需要条可能的执行通路,为做到路径覆盖总共需要8 8组测试数据。下面组测试数据。下面是实现路径覆盖的典型测试用例:是实现路径覆盖的典型测试用例:3个判定表达式之值全为假个判定表达式之值全为假输入:输入:A=1,B=1,C=1预期的输出:预期的输出:X=1,Y=2,Z=3 3
7、个判定表达式依次为假、假、真个判定表达式依次为假、假、真输入:输入:A=1,B=1,C=60预期的输出:预期的输出:X=1,Y=2,Z=30 3个判定表达式依次为假、真、假个判定表达式依次为假、真、假输入:输入:A=1,B=40,C=1预期的输出:预期的输出:X=1,Y=20,Z=3 3个判定表达式依次为假、真、真个判定表达式依次为假、真、真输入:输入:A=1,B=40,C=60预期的输出:预期的输出:X=1,Y=20,Z=30 3个判定表达式依次为真、假、假个判定表达式依次为真、假、假输入:输入:A=20,B=1,C=1预期的输出:预期的输出:X=10,Y=2,Z=3 3个判定表达式依次为真
8、、假、真个判定表达式依次为真、假、真输入:输入:A=20,B=1,C=60预期的输出:预期的输出:X=10,Y=2,Z=30 3个判定表达式依次为真、真、假个判定表达式依次为真、真、假输入:输入:A=20,B=40,C=1预期的输出:预期的输出:X=10,Y=20,Z=3 3个判定表达式全为真个判定表达式全为真输入:输入:A=20,B=40,C=60预期的输出:预期的输出:X=10,Y=20,Z=30补充习题:补充习题:使用基本路径测试方法,设计测试使用基本路径测试方法,设计测试下面伪代码程序的测试用例:下面伪代码程序的测试用例:START INPUT(A,B,C,D)IF(A0)AND(B0
9、)THEN X=A+B ELSE X=A-B END IF(CA)OR(D0)3:AND(B0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(CA)8:OR(D0)3:AND(B0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(CA)8:OR(D0)3:AND(B0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(CA)8:OR(D0)3:AND(B0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(CA)8:OR(DB)9:THEN Y=C-D10:ELSE Y=C+D11:END12:PRINT(X,Y)S
10、TOP7-5 7-5 某图书馆有一个使用某图书馆有一个使用CRTCRT终端的信息检索系统,该系统有下列终端的信息检索系统,该系统有下列4 4个基本检索命个基本检索命令(见书令(见书175175页)。页)。要求:要求:(1)(1)设计测试数据以全面测试系统的正常操作;设计测试数据以全面测试系统的正常操作;(2)(2)设计测试数据以测试系统的非正常操作。设计测试数据以测试系统的非正常操作。名称语法操 作BROWSE(浏览)b(关键字)7-57-5解:解:测试系统正常操作的测试数据测试系统正常操作的测试数据顺序执行下列顺序执行下列3 3个命令:个命令:b b(KEYWORDKEYWORD)s s(L
11、 L)d d(N N)其中,其中,KEYWORDKEYWORD是正确的关键字;是正确的关键字;L L是执行命令是执行命令b b后在屏幕上显示的约后在屏幕上显示的约2020个行个行号中的一个(至少应该使号中的一个(至少应该使L L分别为第一个、最后一个和中央一个行号);分别为第一个、最后一个和中央一个行号);N N是执是执行命令行命令s s后列出的索引号中的一个(至少应该使后列出的索引号中的一个(至少应该使N N分别为第一个、最后一个和中分别为第一个、最后一个和中央一个索引号)。央一个索引号)。针对若干个不同的针对若干个不同的KEYWORDKEYWORD重复执行上述命令序列。重复执行上述命令序列
12、。顺序执行下列顺序执行下列2 2个命令:个命令:f f(NAMENAME)d d(N N)其中,其中,NAMENAME是已知的作者姓名;是已知的作者姓名;N N是执行命令是执行命令f f后列出的索引号中的一个(至后列出的索引号中的一个(至少应该使少应该使N N分别为第一个、最后一个和中央一个索引号)。分别为第一个、最后一个和中央一个索引号)。针对若干个不同的针对若干个不同的NAMENAME重复执行上述命令序列。重复执行上述命令序列。测试系统非正常操作的测试数据测试系统非正常操作的测试数据用过长的关键字作为命令用过长的关键字作为命令b的参数的参数:例如,:例如,b(reliability sof
13、tware and hardware combined)预期的输出:系统截短过长的关键字,例如,上列命令中的关键字可能性被截预期的输出:系统截短过长的关键字,例如,上列命令中的关键字可能性被截短为短为reliability software用不正确的关键字作为命令用不正确的关键字作为命令b的参数:的参数:例如,例如,b(AARDVARK)预期的输出:显示出最接近的匹配结果,例如,执行上列命令后可能显示预期的输出:显示出最接近的匹配结果,例如,执行上列命令后可能显示1AARON,JULES(book)用比执行命令用比执行命令b后列出的最大行号大后列出的最大行号大1的数作为命令的数作为命令s的参数
14、的参数预期的输出:预期的输出:“命令命令s的参数不在行号列表中的参数不在行号列表中”用数字和标点符号作为命令用数字和标点符号作为命令b和命令和命令f的参数的参数预期的输出:预期的输出:“参数类型错参数类型错”用字母字符作为命令用字母字符作为命令s和命令和命令d的参数的参数预期的输出:预期的输出:“参数类型错参数类型错”用用0和负数作为命令和负数作为命令s和命令和命令d的参数的参数预期的输出:预期的输出:“参数数值错参数数值错”命令顺序错:命令顺序错:例如,没执行命令例如,没执行命令b就执行命令就执行命令s,或没执行命令,或没执行命令s就执行命令就执行命令d预期的输出:预期的输出:“命令顺序错命
15、令顺序错”命令语法错:命令语法错:例如,遗漏命令名例如,遗漏命令名b、s、d或或f;或命令参数没用圆括号括起来;或命令参数没用圆括号括起来预期的输出:预期的输出:“命令语法错命令语法错”命令参数空:命令参数空:例如,例如,b()、()、s()、()、d或或f()()预期的输出:系统提供默认参数或给出出错信息预期的输出:系统提供默认参数或给出出错信息使用拼错了的作者姓名作为使用拼错了的作者姓名作为f的参数的参数预期的输出:预期的输出:“找不到这们作者的著作找不到这们作者的著作”7-8 7-8 对一个包含对一个包含1000010000条机器指令的程序进行一个月集成测试后,总共改条机器指令的程序进行
16、一个月集成测试后,总共改正了正了1515个错误,此时个错误,此时MTTF=10hMTTF=10h;经过两个月测试后,总共改正了;经过两个月测试后,总共改正了2525个个错误错误(第二个月改正了第二个月改正了1010个错误个错误),MTTF=15hMTTF=15h。要求:要求:(1)(1)根据上述数据确定根据上述数据确定MTTFMTTF与测试时间之间的函数关系,画出与测试时间之间的函数关系,画出MTTFMTTF与测试与测试时间时间t t的关系曲线。在画这条曲线时做了什么假设?的关系曲线。在画这条曲线时做了什么假设?(2)(2)为做到为做到MTTF=100hMTTF=100h,必须进行多长时间的集
17、成测试?当集成测试结束,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?时总共改正了多少个错误,还有多少个错误潜伏在程序中?7-8解解:因为:因为MTTF与测试时间成正比,不妨假设在程序的平均无故障时间与测试时间成正比,不妨假设在程序的平均无故障时间MTTF和和测试时间测试时间t之间存在线性关系,即之间存在线性关系,即 MTTF=MTTF=a+bta+bt根据题意可知,当根据题意可知,当t=1t=1时时MTTF=10MTTF=10,当,当t=2t=2时时MTTF=15MTTF=15,把这些已知的数据代入上列方程,把这些已知的数据代入上列方程后行到下
18、列的联立方程式后行到下列的联立方程式 解上列联立方程得出解上列联立方程得出a=5a=5,b=5b=5因此,因此,MTTFMTTF与与t t之间有下列关系之间有下列关系 MTTF=5+5tMTTF=5+5t根据上列方程式画出平均无故障时间根据上列方程式画出平均无故障时间MTTFMTTF与测试时间与测试时间t t的关系曲线,如下图所示:的关系曲线,如下图所示:202 2t tMTTFMTTF为使为使MTTF=100h需要的测试时间可由下面的方程式得出需要的测试时间可由下面的方程式得出 100=5+5t解上列方程式得解上列方程式得 t=19即,需要进行即,需要进行19个月的集成测试。个月的集成测试。
19、已知平均无故障时间与单位长度程序中剩余的错误数成反比,具体到本题程序即有已知平均无故障时间与单位长度程序中剩余的错误数成反比,具体到本题程序即有根据题意可知,改正了根据题意可知,改正了15个错误后个错误后MTTF=10,改正了,改正了25错误后错误后MTTF=15,把这此已知的数据代入上,把这此已知的数据代入上列方程之后,得到下列的联立方程式列方程之后,得到下列的联立方程式 MTTF=解上列联立方程式得到解上列联立方程式得到ET=45,K=33.33从而有:从而有:MTTF=已知当已知当19个月的集成测试结束时个月的集成测试结束时MTTF=100h,带入上式,带入上式 100=10000/33
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 以前 复习 习题
限制150内