软件测试练习题(总)_修订版

更新时间:2023-03-08 06:14:42 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《软件测试技术》综合复习题

注意:其中在题号前添加“*”的题目是作业,在考试前交。

一、判断正误题

1. 测试是调试的一个部分( )

2. 软件测试的目的是尽可能多的找出软件的缺陷。( ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比() 4. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( ) 5. 测试的目的是发现软件中的错误。( )

6. 代码评审是检查源代码是否达到模块设计的要求。( ) 7. 自底向上集成需要测试员编写驱动程序。( ) 8. 软件测试的目的是尽可能多的找出软件的缺陷 9. 要我们做了充分的测试,就能保证软件没有BUG 10. 验收测试是有最终用户来实施的 11. 软件测试是应该再编码之后进行

12. 对软件包装等宣称资料的测试不属于软件测试 13. 软件测试能够保障软件的质量

14. 测试程序仅仅按预期方式运行就行了。( ) 15. 软件测试员可以对产品说明书进行白盒测试。( ) 16. 静态白盒测试可以找出遗漏之处和问题。( )

17. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 18. 测试是为了验证该软件已正确地实现了用户的要求。 19. 尽量采用复合的条件测试,以避免嵌套的分支结构。 20. 在做程序的单元测试时,桩模块比驱动模块容易编写。 21. 程序效率的提高主要应通过选择高效的算法来实现。 22. 为了快速完成集成测试, 采用一次性集成方式是适宜的。

在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

23. 导致软件缺陷产生的原因与产品说明书无关。

24. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。

( )

( )

( ) ( ) ( ) ()

25. 软件测试按照测试过程分类为黑盒、白盒测试。( )

26. 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。 ( )

27. 集成测试计划在需求分析阶段末提交。( ) 28. 单元测试属于动态测试。 ( )

29. 缺陷跟踪系统只针对对测试人员来使用。( )

30. 从用户软件开发者的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 ( ) 31. 软件测试的目的是尽可能多的找出软件的缺陷。( )

32. 软件项目在进入需求分析阶段,测试人员应该开始介入其中。( ) 33. 负载测试是验证要检验的系统的能力最高能达到什么程度。( ) 34. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( ) 35. 代码评审员一般由测试员担任。( ) 36. 测试组负责软件质量。( )

37. 测试程序仅仅按预期方式运行就行了。( )

38. 测试只能证明软件存在错误而不能证明软件没有错误,测试无法显示潜在的错误和缺陷,继续进一步测试可能还会找到其它错误和缺陷。()

39. 在测试的程序段中,若发现的错误数目多,则残存在其中的错误数目也比较多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。() 40. 软件测试是有组织、有计划、有步骤的活动,要严格按照测试计划进行,要避免测试的随意性。()

41. 在有限的时间和资源下进行完全测试找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止。()

42. 软件测试工作是在程序编写之后调试时才开始的。 ( ) 43. 、如测试人员没有发现缺陷,就说明软件中不存在缺陷。 ( ) 44. 测试的覆盖率不可能做到100%,因此,测试总是存在着风险的。 ( ) 45. 错误发现得越迟,往前返工要做的事情就越多,成本就越高。( ) 46. 在测试工作中期,先完成集成测试后再进行单元测试,这样有利于解决细微的问题。( )

二、选择题 1.

软件测试是软件开发的重要环节,进行软件测试的目的是( )

A. 证明软件错误不存在 B. 证明软件错误的存在 C. 改正程序所有的错误 D. 发现程序所有的错误 2.

对于软件质量描述不正确的是:( )

A. 高质量的过程产生高质量的产品 B. 软件质量是测试人员测试出来的 C. 软件质量是设计和规划出来的 D. 项目阶段结束意味着产品质量达到了预期的标准 3.

对于软件测试描述不正确的是:( )

A. 软件测试无法找到程序当中的所有缺陷 B. 测试工程师需要在最短时间内完成最有效的测试 C. 软件测试工程师只要了解需求就可以了 D. 测试工程师也需要了解编码知识 4.

检查软件产品是否符合需求定义的过程称为:( )

A. 确认测试 B. 集成测试 C. 性能测试 D. 功能测试 5.

衡量计算机的平均无故障时间是计算机的______

A.可靠性B.可维护性C.适应性D.稳定性 6.

下面哪种方法根据输出对输入的依赖关系设计测试用例。

A.路径测试B.等价类 C.因果图D.边界值 7.

以下哪种测试与其余三种测试在分类上不同

A. 负载测试 B. 强度测试 C. 数据库容量测试 D. 静态代码走查 8.

路径测试是整个结构测试的重要组成,但在研究路径测试时,通常又是使

用程序控制流图来代替( )

A. 程序框图 B. 结构图 C. 数据流图 D. 程序流程图 9.

软件测试类型按开发阶段划分是( )

A.需求测试、单元测试、集成测试、验证测试

B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验收测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试

10. 下述说法错误的是( )

A. 单元测试, 是针对软件测试的最小单位—程序模块进行正确性检验的测试工作

B. 集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试。

C. 集成测试是检验程序单元和部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。

D. 系统测试是真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求 11. 不属于集成测试步骤的是()

A、制定集成计划 B、执行集成测试 C、记录集成测试结果D、 回归测试 12. 关于软件性能简述不正确的是( )

A. 在看代码完成之前,无法进行与性能有关的工作 B. 性能是设计和规划出来的,而不是测试出来的 C. 性能测试在很多情况下不能发现特定的性能缺陷 13. 关于性能测试,描述错误的是( ) A. 性能测试是对系统的在性能方面的测量工作。

B. 响应时间是系统重要的性能指标,原则上可以用秒表手工测试 C. 吞吐量是指系统在单位时间内处理事务的能力 14. 下列哪些概念不属于性能测试( ) A. 测量相应时间

B. 可伸缩性 C. 吞吐量 D)可维护性

15. 独立的测试项目管理通常不包括下面哪些内容( ) A. 测试需求管理 B. 测试目标管理 C.测试工作量管理 D)被测试产品质量

16. 正式的技术评审是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中错误的是______

A.评审产品,而不是评审生产者的能力 B.要有严格的评审计划,并遵守日程安排

C.对评审中出现的问题要充分讨论,以求彻底解决

D.限制参与者人数,并要求评审会之前做好准备

17. 对每一个阶段(如单元测试、集成测试、系统测试)的测试结果进行分析评估后,应写出( )。

A.软件测试计划 B.软件测试用例 C.软件测试过程 D.测试分析报告 18. 在软件测试中,下面说法中错误的是( )。 A. 测试是为了发现程序中的错误而执行程序的过程 B. 测试是为了表明程序是正确的

C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案 D. 成功的测试是发现了至今为止尚未发现的错误的测试 19. 软件测试用例主要由测试输入数据和( )两部分组成。 A. 测试计划 B. 测试规则

C. 测试的预期结果 D. 以往测试记录分析 20. 与设计测试用例无关的文档是( )。 A. 项目开发计划 B. 需求规格说明书 C. 软件设计说明书 D. 源程序

21. 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A. 程序的内部结构 B. 程序的复杂性 C. 使用说明书 D. 程序的功能

22. 在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。其中( )是最强的覆盖准则。 A. 语句覆盖 B. 条件覆盖 C. 判定-条件覆盖 D. 路径覆盖

23. 在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是( )。 A. 等价类划分 B. 边界值分析 C. 错误推测法 D. 因果图法

24. 从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是( )。

A. 组装测试、确认测试、单元测试 B. 单元测试、组装测试、确认测试 C. 单元测试、确认测试、组装测试 D. 确认测试、组装测试、单元测试

前缀——非‘0’或‘1’开头的三位数字; 后缀—— 4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规

定的 电话号码。

(1)分析程序的规格说明,列出输入域等价类表(包括有效和无效等价

类)。

(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例,要

求包括输 入数据和预期输出,并指出各个测试用例所覆盖的等价类编号。

6. *用决策表测试法测试以下程序:该程序有三个输入变量 month、day、year

(month、day 和 year 均为整数值,并且满足:1≤month≤12 和 1≤day≤31), 分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔 一天的日期。例如,输入为 2004 年 11 月 29 日,则该程序的输出为 2000 年 12 月1日。

(1) 分析各种输入情况,列出为输入变量 month、day、year 划分的有效等

价类。

(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的

可 能采取的操作(即列出所有的动作桩)。 (3) 根据(1)和(2),画出简化后的决策表。

7. 用因果图法测试以下程序。 程序的规格说明要求:输入的第一个字符必须

是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N, 如果第二个字符不是数字,则给出信息M。

(1)分析程序的规格说明,列出原因和结果。

(2)找出原因与结果间的因果关系、原因与原因间的约束关系,画出因果图。 (3)将因果图转换成决策表。

(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。

8. 为下图设计足够的测试用例,分别实现对其的判定覆盖、条件覆盖和条件组

合覆盖。

9. *使用逻辑覆盖测试方法测试以下程序段:

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~5)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆

盖和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

10. 使用逻辑覆盖测试方法测试以下程序段:

void DoWork (int x,int y,int z) { 1 int k=0,j=0;

2 if ( (x>3) && (z<10) ) 3 {

4 k=x*y-1; 5 j=sqrt(k); 6 }

7 if ( (x==4)||(y>5) ) 8 j=x*y+10; 9 j=j%3; 10 }

说明:程序段中每行开头的数字(1~10)是对每条语句的编号。

(1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖

和路径 覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

11. 以下代码由C 语言书写,请按要求作答。

Int IsLeap(int year) 1 {

2 if (year % 4 = = 0) 3 {

4 if (year % 100 == 0) 5 {

6 if ( year % 400 = = 0) 7 leap = 1; 8 else

9 leap = 0; 10 } 11 else

12 leap = 1; 13 } 14 else

15 leap = 0; 16 return leap; 17 } 问题:

(1)画出以上代码的控制流图;

(2)计算上述控制流图的圈复杂度V(G)(独立路径数);

(3)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试

法为变 量 year设计测试用例,使其满足基本路径覆盖的要求。

五、综合应用题目

1、在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收测试,这些对软件质量保证起着非常关键的作用。

(1)请简述单元测试的主要任务。

(2)集成测试包括非增量式和增量式两种方法,增量式测试按照不同

的实施次 序又可以分为自顶向下增量式测试和自底向上增量式测试。请比较上述两种增量式测试方法的优点和缺点。

(3)公司A承担了公司B的办公自动化系统的建设工作。2004年10月初,项目正处于开发阶段,预计2005年5月能够完成全部开发工作,但是合同规定2004 年10月底进行系统验收。因此,在2004 年10 月初,公司A依据合同规定向公司B和监理方提出在2004年10 月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司 A 的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成。请问公司 A 的做法是否正确? 请给出理由。

2、分类总结目前常见的测试工具及其作用和特点。

本文来源:https://www.bwwdw.com/article/9bm.html

Top