您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页软件测试考前复习

软件测试考前复习

来源:尚车旅游网
一、选择题:

1.软件测试按照测试层次可以分为( c )

A.黑盒测试、白盒测试 B. 功能性测试和结构性测试

C.单元测试、集成测试和系统测试 D、动态测试和静态测试

2、软件测试是采用( a )执行软件的活动。

A.测试用例 B.输入数据 C.测试环境 D.输入条件

3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:( d )

1预防软件发生错误 2发现程序错误 3提供诊断错误信息 A.只有1 B.只有2 C.只有3 D.都是

4、导致软件缺陷的最大原因是:( a )

A.软件需求说明书 B.设计方案 C.编码 D.维护 5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括( a )

A、测试输入、执行条件和预期的结果。 B、测试目标、测试工具 C、测试环境 D、测试配置

6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于( b )

A.测试 B.调试 C.回归测试 D.单元测试 7、软件缺陷修复的代价最高的阶段为( a )

A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段 8、下列( b )是关于软件缺陷的描述。

A.导致软件包含故障的人的行为 B.产品的异常情况

C.引起一个功能部件不能完成所要求的功能的一种意外情况 D.功能部件执行其规定功能的能力丧失 9、可作为测试停止的标准是( d )

A.当时间用光时

B.执行了所有的测试用例,但没有发现故障 C.当所有缺陷都已经清除时 D.当达到所要求的覆盖时 10、下列描述错误的是( a )

A.软件发布后如果发现质量问题,那是软件测试人员的错

B.穷尽测试实际上在一般情况下是不可行的 C.软件测试自动化不是万能的

D.测试能由非开发人员进行,调试必须由开发人员进行。

11、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。(可不用了解)

A.15 B.16 C.17 D.18

12、下列( c )方法设计出的测试用例发现程序错误的能力最强。

A.等价类划分法 B.场景法

C.边界值分析法 D.决策表法

13、功能性测试是根据( a )来设计测试用例。

A、软件的规格说明 B、设计文档

C、程序的内部逻辑 D、维护手册

14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为( c )

A.单元测试 B.集成测试 C.回归测试 D.验收测试 15、( c )方法是根据输出对输入的依赖关系来设计测试用例的。

A.边界值分析 B.等价类 C.因果图法 D.错误推测法

16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于( b )

A.动态测试 B.静态测试 C.黑盒测试 D.白盒测试

17、如果F实现一个程序,输入变量x1和x2的边界、区间分别为:a≤x1≤d,区间为[a,b],[b,c],[c,d];e≤x2≤g,区间为[e,f],[f,g];则下列_d__图可表示为强健壮等价类测试用例。

A. B. x2 x2 g g

f f e e

a b c d x1 a b c d x1

C. D. x2 x2 g g f f e e

a b c d x1 a b c d x1

18、对于一个含有n个变量的程序,采用基本边界值分析法测试程序会产生(c )个测试用例。

A.6n+1 B.5n C、4n+1 D.7n

19、以下关于测试用例特征的描述错误的是( b )

A.最有可能抓住错误的; B.一定会有重复的、多余的; C.一组相似测试用例中最有效的; D.既不是太简单,也不是太复杂。 20、( d )是一种关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试,主要用作路径测试的真实性检查。

A、基本路径测试 B、逻辑覆盖 C、决策表 D、数据流测试

[ B ] 21.软件测试的目的是()。

A 评价软件的质量 B 发现软件的错误 C 找出软件中所有的错误 D 证明软件的正确性

[ D ] 22. 下面有关测试原则的说法中正确的是________。

A使用测试用例进行测试是为了检查程序是否做了它该做的事 B 对程序的调试最好由第三方测试机构来做 C 程序最好由编写该程序的程序员自己来测试

D 测试用例应由测试的输入数据和预期的输出结果两部分组成 [ A ]23.有关软件缺陷的状态描述错误的是()

A “Reopen”表示测试中发现并报告了新的缺陷

B “Closed”表示测试人员验证后,确认缺陷已不再存在

C “Fixed”表示软件问题已被开发人员修复并等待测试人员验证 D “Deferred”表示这个缺陷可以推迟到下一个版本中解决

[ A ] 24.如果一个软件产品的主要功能完全丢失,应用程序崩溃 属于()的错误

A致命 B严重 C一般 D微小

[ D ] 25.软件生存周期中修改错误代价最大的是()阶段

A需求 B设计 C编程 D维护

[ B ] 26.在理想情况下,只要软件发生了变更,就要进行()

A 验证测试 B回归测试 C确认测试 D验收测试

[ C ]2 7.大多数情况下,性能测试的方法是()

A 静态测试 B白盒测试 C黑盒测试 D可靠性测试

[ C ] 28.为了提高测试效率,正确的做法是()

A随机选择测试用例

B 完成编码后再设计软件的测试用例

C 选择发现错误可能性大的数据作为测试用例 D 取一切可能的输入数据作为测试用例

[ D ] 29.集成测试中,用于代替被测模块所调用的模块的是()

A 主模块 B底层模块 C驱动模块 D桩模块

[ C ] 30.在等价类测试中,规定了一组输入数据且每个数据分别进行处理,可以确定()个有效等价类,()个无效等价类

A 1,n B 1,1 C n,1 D 1,2

[ B ] 31.集成测试阶段主要关注的是()

A语句覆盖 B功能覆盖 C基本路径覆盖 D条件覆盖

[ D ]32. 在安全性测试中,模拟的攻击系统的入侵方式需要有()

A 通过外部手段获取系统密码

B 独占整个系统资源,使别人无法访问 C 使用能瓦解防守的客户软件来攻击系统 D以上全部

[ A ] 33.在实际测试中,软件性能的高低往往直接取决于()

A 用户对响应时间的接受程度 B 系统响应时间的估计值 C 系统响应时间的绝对值 D 所有功能的最大响应时间

[ D ] 34.关于α测试和β测试错误的是()

A α测试是在受控制的环境下进行的 B β测试是在不受控制的环境下进行的

C α测试是由软件公司模拟普通用户使用来测试的 D β测试是由普通用户来管理的

[ C ] 35.关于面向对象测试,说法正确的是()

A 面向对象只能采用白盒测试,不能采用黑盒测试

B 对类的测试,一个测试用例只能包含对该类的一个方法的一次调用 C对一个类中的单个方法的测试属于面向对象单元测试考虑的范畴 D面向对象的软件测试不必考虑对继承关系的测试

二、判断题:

1. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨ ) 2. 软件质量保证和软件测试是同一层次的概念。(x ) 3. 我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没

有缺陷。( x )

4. 程序员兼任测试员可以提高工作效率。( x )

5. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。( ∨ ) 6. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。( ∨ ) 7. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨ 8. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨ ) 9. 调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的

条件开始,结束的过程不可预计。( x )

10. 白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。( x ) 11. 在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是

n

7个。( x )

12. 软件生存周期是从软件开始开发到开发结束的整个时期。 ( x )

13. 在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。

( ∨ )

14. 永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。

(∨ )

15. 测试用例的数目越多,测试的效果越好。( x )

16. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x ) 17. 单元测试属于动态测试。( ∨ ) 18. 验收测试是以最终用户为主的测试。(∨ ) 19. 没有发现错误的测试是没有价值的。( ∨ ) 20. 可以把不合格的开发人员安排做测试。( x )

三、 填空题

1.软件的缺陷“千年虫”问题是 软件设计 阶段产生的缺陷。

2.软件的所有组成内容中,缺陷出现最多的地方是 规格说明书 。 3.面向对象的测试中,对有父类和子类的继承层次,应该先测试 父类 较好。 4.单元测试中,采用讲解、讨论和模拟运行的方式进行的查找错误的活动称为 走查或审查 。

5.满足判定覆盖一定也满足 语句 覆盖。

6.对每个端口都要询问端口上会出现什么事件,然后根据每个端口的事件列表寻找使用输入端口和输出端口线索,这是 系统 测试阶段的常用方法。 7.可安装性和可恢复性的测试属于 验收 测试阶段。 8.使用决策表设计时,决策表的 每一行或运行条目 就对应一个测试用例。 9.白盒测试又称为 结构或 逻辑驱动 测试; 黑盒测试又称为 功能 测试。 10.一套完整的测试工具解决方案应该包含:测试管理平台、功能测试工具和 性能测试 工具。

三、简答题:

1.简单描述一下软件测试工程师一般会承担的一些具体工作。

答:检视代码、评审开发文档(静态测试方法)

进行测试设计、写作测试文档(测试计划、测试方案、测试用例等) 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正 通过测试度量软件的质量….

2.简述测试用例书写标准的6个组成部分,包括各个部分的名称、类型和主要功能。

(1)标识符 或编号:用于不同文档、相互引用 (2)测试项:指明具体的测试对象

(3)测试环境要求:非特殊环境可以不必给出

(4)输入标准:指明执行测试时具体的数据及输入步骤

(5)输出标准:按照指定的环境和输入标准执行后所期望的输出结果 (6)测试用例之间的关联:标志本测试用例与其他测试用例的依赖关系

3. 简述集成测试有几种常见的方法,各自的优缺点。 (1) 自顶向下:优点:早发现上层问题,不用写桩程序。缺点:早期不易展开使用人力,需要写驱动程序,下层错误晚发现。

(2) 自底向上:与自顶向下优缺点相反。

(3) 三明治:优点:将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序。缺点在真正集成之前每一个独立的模块没有完全测试过。

(4) 大棒:如果没错一次性通过;所有的模块一次集成的,很难确定出错的位置。并不推荐在任何系统中使用,适合在规模较小的应用系统中使用

4.通过对Rational软件测试产品的学习,简述你对软件测试自动化的优点、适用范围和关键技术的理解。

答:软件测试自动化的优点:缩短测试周期,测试效率高,充分利用硬件资源,节省人力资源,降低测试成本,容易实施、结果可靠,做手工不能做。答要点即可

适用范围:单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合。 关键技术:测试脚本 代码分析捕获和回放重点是脚本

5.有一个函数的功能是将数字串转化为整数,数字串为1~6位长(带符号),机器字长为16位。请考虑边界值法设计测试用例(7个特定值,写明输入和预期输出)。

答:机器字长为16位,数据范围是-32768~32767;数字串为1~6位长(带符号),范围是-99999~99999;要按照其中之一确定7个特定值:min- min min+ nml max- max max+

如按机器字长数据范围: min- min min+ nml max- max max+

输入:-32769 -32768 -32767 0 32766 32767 32768 预期输出:无效值 -32768 -32767 0 32766 32767 无效值

五、综合题:

1. 实现某城市的电话号码,该电话号码由三部分组成:区号:空白或3位数字;前缀:非\"0\"或\"1\"开头的3位数字;后缀:4位数字。如一个合格的电话号码为 010 855 9617。请分析规则说明,采用等价类划分方法设计测试用例。 答:首先分析程序的规则和功能,划分等价类并编号:

对象 区号 有效等价类 空白 (1)3位数字(2) 无效等价类 有非数字字符(5) 少于3位数字(6) 多于3位数字(7) 有非数字字符(8) 起始位为\"0\"或\"1\" (9) 少于3位数字(10) 多于3位数字(11) 前缀 从200-999的3位数字(3) 后缀 4位数字(4) 有非数字字符(12) 少于4位数字(13) 多于4位数字(14) 根据上述等价类的划分,设计测试用例如下:

2.下面是一个C语言程序段,请采用基本路径测试法设计一组测试用例,保证每个基本独立路径至少执行一次。

int Test(int i_count,int i_flag) {

int i_temp=0; while(i_count>0) { if(0==i_flag)

{ i_temp=i_count+100; break; } else

{ if(1==i_flag)

{ i_temp=i_temp+10; } else

{ i_temp=i_temp+20; } }

i_count--; }

return i_temp; }

答:(1)画出对应的控制流图,代表语句的行号:画成流程图要扣分。圈中数字也可自己编号

(2)计算该程序的环路复杂性。 V(G)=10-8+2=4 或V(G)=3+1=4

(3)确定4条基本独立路径。 Path1:4-24

Path2:4-6-8-24

Path3:4-6-13-15-22-4-24 Path4:4-6-13-19-22-4-24 (4)设计测试用例

测试用例 输入数据 预期输出结果 1 i_count =0 或负数i_flag随意 i_temp=0 2 i_count=1, i_flag=0 i_temp=101 3 i_count=1, i_flag=1 i_temp=10 4 i_count=1, i_flag=2 i_temp=20。

3.已知C源程序如下:画出程序流程图;设计一组测试用例,使该程序的语句和分支覆盖率达到100%。如果认为无法达到100%,需说明为什么。(10分)

#include #include int main()

{ char letter;

printf(“Please input the first letter,’Y’ to exit!\\n”); while(( letter=getch())!=’Y’) { switch(letter)

{ case ‘S’:printf(“%c\\n”,letter);

printf(“Please input the second letter\\n”); if((letter=getch())==’a’) printf(“Saturday\\n”); else if(letter==’u’)

printf(“Sunday\\n”); else printf(“data error\\n”); break;

case ‘F’:printf( “Friday\\n”);break; case ‘M’:printf( “Monday\\n”);break;

case ‘T’:printf(“%c\\n”,letter);

printf(“Please input the second letter\\n”); if((letter=getch())==’u’) printf(“Tuesday\\n”);

else if(letter==’h’)

printf(“Thursday\\n”); else printf(“data error\\n”); break;

case ‘W’:printf( “Wednesday\\n”);break; default: printf(“data error \\n”); } } }

答:画出流程图

显示:输入字符,’Y’退出 结束 Y 读入字符!=Y N Switch(letter)S 读入下一字符 N F Friday M Monday T 读入下一字符 N W Wednesday default data错 a? Y Saturday u? u? Y Sunday data错 N Y Tuesday h? Y Thursday N data错 生成测试用例:

测试用例1、输入数据y,输出的结果程序结束返回值0

测试用例2、输入数据s后,输入数据a,输出结果\"Saturday\" 测试用例3、输入数据s后,输入数据u,输出结果\"Sunday\"

测试用例4、输入数据s后,输入数据非a非u,输出结果\"data error\" 测试用例5、输入数据f,输出结果\"friday\" 测试用例6、输入数据m,输出结果\"monday\"

测试用例7、输入数据t后,输入数据u,输出结果\"tuesday\" 测试用例8、输入数据t后,输入数据h,输出结果\"thursday\"

测试用例9、输入数据t后,输入数据非u非h,输出结果\"data crror\" 测试用例10、输入数据w,输出结果\"Wednesday\"

测试用例11、输入数据A,输出结果\"data error\"

可以达到分支和语句100%覆盖。测试用例个数可以最多11个,如果合并输入数据还可以减少测试用例数。

4. 使用基本路径测试方法,为以下程序段设计测试用例。 (1)画出程序的控制流图(非流程图)。

(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。 (3)导出基本路径集,确定程序的独立路径。

(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

void Do (int X,int A,int B) {

1 if ( (A>1)&&(B=0) ) 2 X = X/A; 3 if ( (A=2)||(X>1) ) 4 X = X+1; 5 }

由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。 1: A>1; 2: B=0 ; 3: X = X/A ; 4: A=2 ; 5: X>1 ; 6: X = X+1; 7: }

答:

(1)画出控制流图: 如右图所示

(2)计算环形复杂度:

10(条边)- 7(个节点)+ 2 = 5 (3)导出独立路径(用语句编号表示) 路径1:1→2→3→4→5→6→7 路径2:1→4→5→6→7 路径3:1→2→4→6→7 路径4:1→2→4→5→7 路径5:1→2→3→4→5→7 (4)测试用例 用例号 路径 输入数据 预期输出 A B X X TC1 TC2 TC3 TC4 TC5 1→2→3→4→5→6→7 1→4→5→6→7 1→2→4→6→7 1→2→4→5→7 1→2→3→4→5→7 3 0 6 3 0 1 3 4 2 1 1 2 3 1 0 0 3 0 3 1 5. 打印机能否打印出来正确的内容,有多个因素影响,包括驱动程序、纸张、墨粉等,先假定优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对,运用判定表方法对所有条件和动作列出,制定初始判定表,并优化该判定表。(用“1”和“0”表示“是”和“否”)。 答:

初始化的判定表

序 号 驱动程序是否正确? 条件 是否有纸张? 是否有墨粉? 打印内容 动作 提示驱动程序不对 提示没有纸张 提示没有墨粉 1 1 1 1 1 0 0 0 2 0 1 1 0 1 0 0 3 1 0 1 0 0 1 0 4 1 1 0 0 0 0 1 5 0 0 1 0 0 1 0 6 0 1 0 0 0 0 1 7 1 0 0 0 0 1 0 8 0 0 0 0 0 1 0 优化的判定表

序 号 驱动程序是否正确? 条件 是否有纸张? 是否有墨粉? 打印内容 动作 提示驱动程序不对 提示没有纸张 提示没有墨粉

1 1 1 1 1 0 0 0 2 0 1 1 0 1 0 0 4/6 — 1 0 0 0 0 1 3/7/8 — 0 — 0 0 1 0

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务