您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 第七章软件测试习题docdeflate
第七章软件测试习题1.什么是黑盒测试?黑盒测试主要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。2.什么是白盒测试?白盒测试主要采用的技术有哪些?测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。3.路径测试技术中几种主要覆盖的含义?举例说明?语句覆盖:至少执行程序中所有语句一次。判定覆盖:使被测程序中的每一个分支至少执行一次。也称分支覆盖,只关心整个判定表达式的结果。条件覆盖:使判定表达式中的每个条件都取不同的值。条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。(例略)4.等价分类法的测试技术采用的一般方法?举例说明?(1)为每个等价类编号;(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价类被覆盖为止。(例略)5.软件测试的一般步骤?单元测试、子系统测试、系统测试、验收测试、平行测试。二.某电力公司有A、B、C、D共四类收费标准,并规定,居民用电每月200度以下按A类收费,200度以上按B类收费。动力电以每月1万度为分界,非高峰用电不足1万度按B类收费,达到或超过1万度按C类收费。高峰用电不足1万度按C类收费,达到或超过1万度按D类收费。试用基于逻辑的测试方法为它设计足够的测试用例实现条件组合覆盖。规则号123456居民用电200度以下Y200度以上Y动力用电非高峰1万度以下Y1万度以上Y高峰1万度以下Y1万度以上Y收费标准A类▲B类▲▲C类▲▲D类▲条件组合的测试用例用电类型测试数据(输入数据)预期结果居民用电190度/月A210B动力用电非高峰9000B11000C高峰9000C11000D三.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。覆盖类型判定条件测试数据预期结果AB判定覆盖A1andB=020执行S1A=1ORB!=01/-10/1执行S2条件覆盖A1andB!=021执行S2A=1andB=010执行S2条件组合覆盖A1andB=020执行S1A=1andB!=011执行S2A1andB!=021执行S2A=1andB=010执行S2设计测试下列函数的测试方案:函数SEARCH(somearray,size,value)的功能是,在一个整数数组somearray中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。数组的长度由参数size指定。假定数组第一个元素的下标为1。(1)有效的等价类数组有偶数个元素,第一个元素是待查找元素数组有偶数个元素,最后一个元素是待查找元素数组有偶数个元素,没有一个元素是待查找元素数组有奇数个元素,第一个元素是待查找元素数组有奇数个元素,最后一个元素是待查找元素数组有奇数个元素,没有一个元素是待查找元素数组有多数个元素,其中一个正整数是待查找元素数组有多数个元素,其中一个负整数是待查找元素数组有多数个元素,其中一个0元素是待查找元素(2)无效的等价类数组长度size与数据元素实际个数不符(3)边界值分析数组长度为1,其元素是待查找元素数组长度为1,其元素不是待查找元素数组为空序号测试方案测试数据预期结果somearraysizevalue1数组有偶数个元素,第一个元素是待查找元素1,2,3,44112数组有偶数个元素,最后一个元素是待查找元素1,2,3,44443数组有偶数个元素,没有一个元素是待查找元素1,2,3,445-1一个折半查找程序可搜索按字母顺序排列的名字列表,如果查找的名字在列表中则返回真,否则返回假。为了对它进行功能测试,应该使用哪些测试用例?四.某城市电话号码由三部分组成。它们的名称和内容分别是:地区码:空白或三位数字;前缀:非‘0’或‘1’的三位数字;后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。1.划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1.有非数字字符;2.少于三位数字;3.多于三位数字。前缀3.从200到999之间的三位4.有非数字字符;5.起始位为‘0’;6.起始位为‘1’;7.少于三位数字;8.多于三位数字。后缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。等价类划分的测试方案序号内容测试数据预期结果地区码前缀后缀1空白从200到999之间的三位四位数字()312-1234有效2三位数(121)123-4123有效3有非数字字符(啊a)214-4563无效4少于三位数字(12)214-12345多于三位数字(1234)456-14786有非数字字符7起始位为‘0’8910111213设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)//判定表达式1IFA5THENX=10ELSEX=1ENDIF//判定表达式2IFB10THENY=20ELSEY=2ENDIF//判定表达式3IFC15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP语句覆盖的测试用例序号判定测试数据预期结果A5B10C15ABCXYZ1TTT611161020302FFF51015123路径覆盖的测试用例序号判定测试数据预期结果A5B10C15ABCXYZ1TTT611161020302TTF61115102033TFT61016102304TFF6101510235FTT51116120306FFT5101612307FTF5111612038FFF51015123设计下列伪码程序的分支覆盖(判定覆盖)和条件组合覆盖测试用例:STARTINPUT(A,B,C,D)IF(A0)AND(B0)THENX=A+BELSEX=A-BENDIF//判定表达式2IF(CA)OR(DB)THENY=C-DELSEY=C+DENDIFPRINT(X,Y)STOP使用基本路径测试方法,设计下列伪码程序的测试用例:STARTINPUT(A,B,C,D)IF(A0)AND(B0)THENX=A+BELSEX=A-BENDIFIF(CA)OR(DB)THENY=C-DELSEY=C+DENDIFPRINT(X,Y)STOP使用基本路径测试方法设计测试用例的过程总共4个步骤:(1)根据过程设计的结果画出流图,如下图所示。(2)计算流图的环形复杂度(3)确定线性独立路径的基本集合(4)设计可强制执行基本路径集合中每条路径的测试用例有一个求平均值的过程Averagy,用PDL描述如下:PROCEDUREAveragy;INTERFACERETURNSaverage,total.input,total.valid;INTERFACEACCEPTSvalue,minimum,maximum,sumISSCALAR;TYPEvalid[0..100]ISSCALARARRAY;TYPEaveragy,total.input,total.valid,minimum,maximum,sunISSCALAR;TYPEiISINTEGER;i=1;total.input-total.valid=0;sum=0;DOWHILE(value[i]-999ANDtotal.input100)incrementtotal.inputby1;IFvalue[i]=minimumANDvalue[i]=maximumTHENincrementtotal.validby1;sum=sum+value[i];ELSEskipENDIF;incrementiby1;ENDDOIFtotal.valid0THENaveragy=sum/total.valid;ELSEaveragy=-999;ENDIFENDAveragy⑴由过程导出控制流图①②③④⑤⑥⑦⑦⑦⑧⑨⑩111213①②③④⑤⑥⑦⑦⑦⑧⑨⑩1112⑵计算得到的控制流图的环路复杂度⑶确定线性无关的基本路径⑷准备测试用例,确保基本路径集中的每一条路径的执行。路径测试数据预期结果1-2-3-4-5-6-7-8-9value[i]-999total.input100N个值的正确的平均值,正确的总计数研究下面给出的伪码程序,要求:⑴画出它的程序流程图;⑵它是结构化的还是非结构化的?说明你的理由;⑶若是非结构化的,则①把它改造成仅用三种控制结构的结构化程序;②写出这个结构化设计的伪码;③用N-S图表示这个结构化程序.⑷找出并改正程序逻辑中的错误.COMMENT:PROGRAMSEARCHESFORFIRSTNREFERENCESTOATOPICINANINFORMATIONRETRRIEVALSYSTEMWITHTOTALENTRIESINPUTNINPUTKEYWORD(S)FORTOPICI=0MATCH=0DOWHILEI≤TI=I+1IFWORD=KEYWORDTHENMATCH=MATCH+1STOREINBUFFERENDIFMATCH=NTHENGOTOOUTPUTENDENDIFN=0THENPRINT“NOMATCH”OUTPUT:ELSECALLSUBROUTINETOPRINTBUFFERINFORMATIONEND对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误),MTTF=15h。要求:(1)根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2)为做到MTTF=100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?在测试一个长度为48000条指令的程序时,第一个月由甲、乙两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正20个错误,使MTTF达到8h。与此同时,乙发现24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。问:(1)刚开始测试时程序中总共有多少个潜藏的错误?(2)为使MTTF达到240h,必须再改正多少个错误?
本文标题:第七章软件测试习题docdeflate
链接地址:https://www.777doc.com/doc-2210150 .html