测试复习题修正(共16页).doc
精选优质文档-倾情为你奉上复习题1 填空题1、传统的测试方法分为黑盒和白盒测试两种,其中等价类划分、边界值分析、因果图和错误猜测法是黑盒测试方法中典型的方法。2、软件测试过程主要分为单元测试、集成测试、系统测试、验收测试四类测试。3、对面向对象的软件测试与传统的软件测试相比增加了面向对象分析的测试和面向对象设计的测试、面向对象编程的测试。4、软件测试的目的是发现软件中的缺陷,提高软件质量。5、白盒测试法是通过分析程序的内部逻辑来设计测试用例的方法。 6、产品缺陷的80以上是在产品开发过程中的需求定义阶段引入的。 7、决策表的组成:条件桩、条件项、动作桩、动作项、规则8、决策表不能表达重复执行的动作,例如循环结构 9、黑盒测试又称为功能测试 ,其测试依据是 软件需求规格说明书 10、Bug处理时的优先等级:立刻修复(Immediate)、尽快修复(Hight)、正常修复(Normal)、考虑修复(Low) 11、单元测试的依据是 详细设计说明书 和 源程序 12、集成测试中的两种集成模式是 非增量测试模式 和 增量测试模式 13、白盒测试中,控制流测试是面向程序的结构,数据流测试是面向程序的变量2 选择题1) 软件危机体现在:(D) 以上都是2) 下列关于国外测试特点的描述正确的是:(D) 以上都是3) 软件测试原则有哪些?(D)反相思维逻辑,追溯至用户需求,尽早和不断的测试4) 初涉软件测试人员希望拿到软件后就进行完全的测试,找出所有的软件错误,并使软件趋于完美。想法使非常好,但是实现是不可能的,主要原因:(E) 以上都对5) 并非所有的错误都能修复,以下选项属于BUG不能被关闭的原因(B)B.不算真正的软件错误,没有足够的时间,修复的风险太大,不值得修复6) 错误集中发生现象(E)以上都对7) 彻底的测试不可能,如果时间不够,无法进行充分的测试怎么办?(D)以上都对8) 经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残存的错误数目与其他模块相比,通常应该(B )较多9) .程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径 B 6 10) 对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,成为( B )调试11) 下列哪项工作与软件缺陷管理和追踪无关( D )D 通过一些历史曲线和统计曲线来分析和预测未来的缺陷发现情况12) 软件的集成测试工作最好由(D )承担,以提高集成测试的效果。 D 不属于该软件开发组的软件设计人员13) ( A )是指把数据以及操作数据的相关方法组合在同一个单元中,使我们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度。封装14) . 为了提高测试的效率,应该(D)。选择发现错误的可能性大的数据作为测试数据15) 下列关于面向对象软件测试的说法中,正确的是( B )B在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试。16) 基本路径测试满足( C )分支覆盖17) 从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是( D )。确认测试、组装测试、单元测试18) 某公司采用的软件开发过程通过了CMM2认证,表明该公司( C )C 建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制19) 在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是( D ) 因果图法 20) .软件测试用例主要由测试输入数据和( C )两部分组成。测试的预期结果21) ( D )是简化了的模拟较低层次模块功能的虚拟子程序。 D 桩 22) 在软件测试中,下面说法中错误的是( B )。测试是为了表明程序是正确的23) 测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列( D )内容的详细信息。(1)(2)(3)(4)24) 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成( B )个等价区间。B 3 25) 以下关于软件性能的说法中,正确的是 ( D )D。对于同一个网站,其支持的同时改善需求的用户数越大,该网站的性能越好26) 以下关于Web应用软件测试的说法中,错误的是 (B)B.内容测试是Web应用软件易用性测试的一项重要内容27) 以下哪种软件测试属于软件性能测试的范畴 (B) 压力测试28) 以下哪一项不属于Web应用软件表示层测试关注的范畴( C ) 浏览器脚本程序的测试29) 、以下关于软件可靠性测试的说法中,正确的是(A )A 定义软件运行剖面是软件可靠性测试的重要步骤30) 以下有益于面向对象软件测试的说法中,正确的是(A)A 面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则31) 以下哪项不属于兼容性测试关注的范畴 (D)D 软件是否可以在不同的J2EE应用服务器上运行32) 以下哪项属于功能易用性测试关注的范畴(B)B 当执行耗时较长的任务时,软件是否能定时向用户提示当前任务完成的进度33) 单元测试是由谁来完成?(A)开发人员34) 下面哪个不是测试用例设计的基本原则(D)测试用例设计应该以功能为线索a) 在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,其中(A)是最弱的覆盖准则。语句覆盖35) 下图是某程序的控制流图,则该程序的圈复杂度为( C )。536)系统的响应时间和作业吞吐量是衡量计算机系统性能的重要指标,对于一个持续处理业务的应用软件来说,( B )则表明其性能越好。(选择一项)b)响应时间越短,作业吞吐量越大37) 下图为LoadRunner的Controller中ToolsàOptions对话框的Monitor选项卡的部分截图,下列关于相关设置的说法错误的是(B)。(选择一项)a) Frequency 参数决定采样间隔,采样间隔越大,监视图表越精确,对于大一些的场景,建议设置为1秒38) 下列关于LoadRunner中集合点的说法错误的是(D)。(选择一项)d)集合点与事务结合使用时,通常放在事务的后面39)在LR中,能够帮助用户定位问题并生成性能测试报告的模块是(D)。(选择一项)Analysis40)在LoadRunner中,设计基于目标的场景时,如果一个项目对用户数的要求比较高时,最好以()作为性能目标。 (选择一项)Virtual Users41)在C语言中,下列关于注释书写规则的描述中正确的是( C )。 (选择一项)c)注释与代码应保持一致,修改代码的同时修改相应的注释42)下列关于LoadRunner录制的测试脚本的说法中错误的是( A C )。 (选择二项)a)脚本可分为三部分:Vuser_init、Vuser_end和Action,这三部分可以通过IterationCount参数设置重复执行次数c)测试人员可根据需要在一个测试中创建多个Action、Vuser_init和Vuser_end脚本43) 根据软件规格说明建立了“阅读指南”判定表,如下图所示。则该判定表中的规则数为(D)。(选择一项)812345678问题觉得疲倦?YYYYNNNN感兴趣吗?YYNNYYNN糊涂吗?YNYNYNYN建议重读继续跳下一章休息44)在LoadRunner的Load Generator设置对话框中,如果Status字段显示Ready,表示(B)。(选择一项)连接成功45)下列不属于软件测试的内容的是( D )。(选择一项)d)确定程序中的错误的原因和确切位置,并修改和排除错误46)下列选项是软件测试模型的是(C )。 (选择一项)V模型47)现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入是2元币,在送出饮料的同时还退还1元币。下表是用因果图法设计的部分测试用例,1表示执行该动作,0表示不执行该动作,则下表中AH处,应按序填入的数值为( A )选项。 (选择一项)用例序号12345输入投入1元币11000投入2元币00100按“可乐”按钮10000按“雪碧”按钮00010按“红茶”按钮00101输出退还1元币A0EG0送出“可乐”饮料B0000送出“雪碧”饮料C00H0送出“红茶”饮料D0F00a)48)下列四种逻辑覆盖测试方法中,按照发现Bug的能力,有强到弱排序正确的是(B)。(选择一项)b)路径覆盖条件组合覆盖判定/条件覆盖语句覆盖49) 根据软件测试V模型,( C)主要考虑追溯到真实的用户需求。(选择一项)验收测试50)下列关于逻辑驱动覆盖测试方法中,最不易发现程序中存在逻辑错误的是(C)(选择一项)语句覆盖 覆盖程度最低 c->a->b->d51)下列关于测试用例的相关说法中正确的是( D )(选择一项)d)测试用例是每个测试项目的进一步实例化52)在集成测试方法中,被测试模块需要调用的模块称为( A ).(选择一项) 桩模块53) LoadRunner中,能够实时监视测试过程的模块是( C )。 Controller(选择一项)54) 下列关于在LoadRunner中创建场景时选择场景类型的说法中错误的是( D )。 (选择一项) Manual Scenario with Percentage Mode不属于手工设置的一种55) 假定一个LoadRunner脚本包含vuser_init、Action1、vuser_end三个Action,如果将脚本的运行时Iteration Count参数设为3,且在场景的Schedule Builder中将Duration时间参数设为30分钟,其他设定采用默认方式。场景运行后,下列说法中确的是(C)。(选择一项)所有虚拟用户在30分钟之内反复执行脚本,次数不限56)下列关于等价类方法的相关描述中错误的是( C ).(选择一项)c)等价类划分的越细,对于设计测试用例越有利,测试越会准确有效57) 用边界值分析法设计测试用例时,假定1X1000(X取整数),那么X在测试中应该取的边界值是( B )。 (选择一项)X=0,X=1,X=2,X=999,X=1000,X=100158)下列关于等价类划分方法的说法中错误的是( C )。(选择一项)c)对于有效等价类可以不设计测试用例59) 有如下C语言代码:if(x>3&&y>4)z=x+y;elsez=x-y; 则能对该段代码进行条件覆盖的测试用例是( C )。 (选择一项)C) x=3、y=3和x=5、y=5 3 判断题1、好的测试员不懈追求完美。( F )2、测试程序仅仅按预期方式运行就行了。( F )3、验收测试是由最终用户来实施的。( T )4、所有软件必须进行某种程度的兼容性测试。( F )5、单元测试能发现约80%的软件缺陷。( T )6、代码评审是检查源代码是否达到模块设计的要求。( T )7、自底向上集成需要测试员编写驱动程序。(T )8、负载测试是验证要检验的系统的能力最高能达到什么程度。(T )9、测试人员要坚持原则,缺陷未修复完坚决不予通过。(F )10、某个缺陷的严重性为高,则它的优先级为高。(F ) 11、发现缺陷的时间越早,BUG所造成的损失会越小。(T) 12、在条件允许的情况下,可以进行完全测试。(F) 13、软件测试过程中发现的所有错误都能得到修复。(F) 14、过期文档,在后期对系统功能修改而没有及时更新对应的文档,会造成了文档的不一致。(T) 15、Bug都是由开发人员造成的。(F)16、为了提高测试效率,应该取一切可能的输入数据作为测试数据。 F17、发现错误多的程序模块,残留在模块中的错误也多。 F18、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例 T19、系统测试的目标是要找出软件在与系统其他部分协调工作室出现的所有故障 F20同行评审源代码的目的是检查代码中的缺陷,强调编码规范等(T)4 简答题4.1 简述Loadrunner测试流程?答:1) 制定负载测试计划 2) 制作测试脚本 - Virtual User Generator3) 设定测试场景 - Controller4) 运行测试场景 - Controller5) 监视测试场景 - Controller6) 分析测试结果 - Analysis4.2 请问在lr工具中Analysis图的类别中吞有吐量图、每秒点击次数图,分别代表什么含义?答:1) 吞吐量”图:显示方案运行过程中服务器上每秒的吞吐量。吞吐量的度量单位是字节,表示 Vuser 在任何给定的某一秒上从服务器获得的数据量。2) 每秒点击次数”图显示在方案运行过程中 Vuser 每秒向 Web 服务器提交的 HTTP 请求数。4.3 软件测试的目的?答:测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。4.4 利用因果图导出测试用例需要经过的一般步骤 答:利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系, 根据这些关系画出因果图。(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。4.5 一个缺陷测试报告的组成 答:缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。 1) 缺陷的标题; 2) 缺陷的基本信息; 3) 缺陷的重现率 4) 测试的软件和硬件环境; 5) 测试的软件版本; 6) 缺陷的类型; 7) 缺陷的严重程度; 8) 缺陷的处理优先级。 9) 复现缺陷的操作步骤;10) 缺陷的实际结果描述; 11) 期望的正确结果描述; 12) 注释文字和截取的缺陷图像。 4.6 根据什么写测试用例 答:我们编写测试用例的唯一标准就是用户需求,具体的参考资料就是系统需求规格说明书和软件原型,其中软件原型指的是没有嵌入全部源代码的软件界面。 4.7 请写出BUG的种类?答: 1) 需求阶段的BUG;分析,2) 设计阶段的BUG;3) 实现阶段的【主要发生在开发人员的身上】;4) 配置阶段的;5) 短视将来的;?6) 静态文档的B U G4.8 请列出对下面的程序进行单元测试的测试用例(方法不限,不要求编写代码,直接写用例即可)。Public void getMessage(String date,String time) If (date=”2008-01-01”)&&(time>”00:00:00”) System.out.println(“Happy New Year!”); System.out.println(date + “ ”+ time);答案:date=”2008-01-01”time=”00:00:00” 输出“Happy New Year!” date=”2008-01-02”time=”00:00:00” 输出date+timedate=”2008-01-01”time=”01:00:00” 输出“Happy New Year!”date=”2007-01-02”time=”01:00:00” 输出date+timedate=”2007-02-02”time=”00:00:00” 输出date+timedate=”2007-13-02” time=”00:00:00” 输出日期错误date=”2008-01-01” time=”29:00:00” 输出时间错误4.9 给定一下需求,列出原因和结果。“第一列字符必须是或*,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息N,如果第二列字符不是数字,则给出信息M。”原因: C1第一列字符是#; C2第一列字符是*; C3第二列字符是一数字。结果: E1第一列字符不是,*给出信息N ; E2修改文件; E3第二列字符不是数字给出信息M。4.10 简述静态测试和动态测试的区别答:静态测试和动态测试的区别在于是否运行被测程序,静态测试不运行程序,而动态测试需要运行被测程序。4.11 根据需求,写出有效等价类和无效等价类。城市的电话号码由两部分组成。这两部分的名称和内容分别是: 地区码:以0开头的三位或者四位数字(包括0);电话号码:以非0、非1开头的七位或者八位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。输入数据有效等价类无效等价类地区码1. 以0开头的3位数串2. 以0开头的4位数串3. 以0开头的含有非数字字符的串4. 以0开头的小于3位的数串5. 以0开头的大于4位的数串6. 以非0开头的数串电话号码7. 以非0、非1开头的7位数串8. 以非0、非1开头的8位数串9. 以0开头的数串10. 以1开头的数串11. 以非0、非1开头的含有非法字符7或者8位数串12. 以非0、非1开头的小于7位数串13. 以非0、非1开头的大于8位数串4.12 有函数f(x,y,x),其中x1900,2100,y1,12,z1,31的。请写出该函数采用边界值分析法设计的测试用例答: <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>, <2000,1,15>, <2000,2,15>, <2000,11,15>, <2000,12,15>, <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, <2000,6,15> 4.13 自动售货机有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。因果图法Ø 解题步骤:(1)分析程序的规格说明,列出原因和结果。原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币 4.押下橙汁按钮5.押下啤酒按钮 结果: 21.售货机零钱找完灯亮 22.退还1元硬币23.退还5角硬币 24.送出橙汁饮料25.送出啤酒饮料4.14 写出下列程序的语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、多条件组合覆盖、路径覆盖的测试用例。(请参考各自作业)int result(int x,int y,int z)int k=0,j=0;if((x<y)&&(z<5))k=x+y; if((x=10)|(y>3))j=x*y;return k+j;答:第一步画出程序流程图语句覆盖测试用例覆盖语句具体取值备注x=7,y=8,z=3全部覆盖判断覆盖测试用例覆盖判断具体取值备注x=10,y=11,z=4M,N的Y分支x=4,y=2,z=8M,N的N分支条件覆盖条件编号具体条件T1x<yF1x>=yT2z<5F2z>=5T3x=10F3x<>10T4y>3F4y<=3测试用例覆盖条件具体取值备注x=10,y=11,z=4T1,T2,F3,F4M,N的Y分支x=4,y=2,z=8F1,F2,T3,T4,M,N的N分支判定条件覆盖测试用例覆盖条件覆盖判断x=10,y=11,z=4T1,T2,F3,F4M,N的Y分支x=4,y=2,z=8F1,F2,T3,T4,M,N的N分支条件组合覆盖编号覆盖条件取值判定条件取值具体条件取值1T1,T2M取Yx<y,z<52T1,F2M取Nx<y,z>=53F1,T2M取Nx>=y,z<54F1,F2M取Nx>=y, z>=55T3,T4N取Yx=10,y>36T3,F4N取Yx=10,y<=37F3,T4N取Yx<>10,y>38F3,F4M取Nx<>10, y<=3测试用例覆盖条件覆盖判断覆盖组合x=10,y=11,z=4T1,T2,F3,F4M,N的Y分支1,8x=4,y=2,z=8F1,F2,T3,T4M,N的N分支4,5x=10,y=11,z=8T1,F2,T3,F4M的N分支,N的Y分支2,6x=4,y=4, z=4F1,T2,F3,T4M的N分支,N的Y分支3,7路径覆盖测试用例覆盖组合覆盖路径x=10,y=11,z=41,81,2,4x=4,y=2,z=84,51,3,5x=10,y=11,z=82,61,2, 5x=4,y=4, z=43,71,3,4条件组合覆盖结合路径覆盖测试用例覆盖条件覆盖路径覆盖组合x=10,y=11,z=4T1,T2,F3,F41,2,41,8x=4,y=2,z=8F1,F2,T3,T41,3,54,5x=10,y=11,z=8T1,T2,F3,F41,2,52,6x=4,y=4, z=4F1,F2,T3,T41,3,43,7专心-专注-专业