软件测试习题集
一、判断题
1、发现错误多的模块,残留在模块中的错误也多。( √ )
2、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快开发的进程。( × )
3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。( √ )
4、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )
5、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)
6、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)
7、软件就是程序。(X)
8、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)
9. 软件测试 的目的是尽可能多的出软件的缺陷。( Y)
10 .Beta 测试是验收测试的一种。( Y)
11 .验收测试是由最终用户单方面来实施的。( N )
12 .单元测试能发现约80% 的软件缺陷。( Y )
13 .代码评审是检查源代码是否达到模块设计的要求。( N )
14 .自底向上集成需要测试员编写驱动程序。( Y )
16 .负载测试是验证要检验的系统的能力最高能达到什么程度。( N )
15 .测试人员要坚持原则,缺陷未修复完坚决不予通过。( N )
16 .代码评审员一般由测试员担任。( N )
17 .我们可以人为的使得软件不存在配置问题。( N )
18 .集成测试计划在需求分析阶段末提交。( N )
19. 测试是调试的一个部分 ( ╳ )
20. 程序中隐藏错误的概率与其已发现的错误数成正比( √ )
21. 测试的目的是发现软件中的错误。( √ )
22. 代码评审是检查源代码是否达到模块设计的要求。( √ )
23. 自底向上集成需要测试员编写驱动程序。( √ )
24.  因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工的一个过渡工作,或安排不合格的开发人员做测试。(N)
25. 在集成测试过程中,刚开始集成时由于规模较小,主要以黑盒测试为主(N)。
26.Beta 测试是验收测试的一种。(Y)
27  软件测试和软件调试是同一回事。(N)
28.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)
29.  软件测试是可以无穷尽的。(N)
30.  测试不能修复所有的软件故障。(Y)
31.  测试过程中应重视测试的执行,可以轻视测试的设计。(N)
32.项目立项前测试人员不需要提交任何工件。(Y)
33.  测试是为了证明软件的正确性。(N)
34. 单元测试一般由专门的测试人员进行(N)
二、    选择题 (每题2分  20 )
1、 进行软件质量管理的重要性有:(ABCD)
A、维护降低成本              B、法律上的要求              C、市场竞争的需要
D、质量标准化的趋势          E、软件工程的需要            F、CMM过程的一部分
G、方便与客户进一步沟通为后期的实施打好基础
2、选出属于黑盒测试方法的选项(ABC)
A、测试用例覆盖              B、输入覆盖                C、输出覆盖
D、分支覆盖                    E、语句覆盖                F、条件覆盖
3、编写测试计划的目的是:(ABC)
A、使测试工作顺利进行    B、使项目参与人员沟通更舒畅    C、使测试工作更加系统化
D、软件工程以及软件过程的需要        E、软件过程规范化的要求    F、控制软件质量
程序测试员需要学什么
4、依存关系有4种分别是:(ABCD)
A、开始-结束              B、开始-开始                      C、结束-开始
D、结束-结束              E、开始-实施-结束                F、结束-审核-开始
5、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:(ABC)
A、测试                      B、跟踪                        C、监督
D、制定计划                E、需求审查                    F、程序代码审查
6、实施缺陷跟踪的原由是:(ABCD)
A、软件质量无法控制    B、问题无法量化                  C、重复问题接连产生
D、解决问题的知识无法保留    E、确保缺陷得到解决    F、使问题形成完整的闭环处理
7、使用软件测试工具的目的:(ABC)
A、帮助测试寻问题          B、协助问题的诊断                C、节省测试时间
D、提高Bug的发现率        E、更好的控制缺陷提高软件质    F、更好的协助开发人员
8、典型的瀑布模型的四个阶段是:(ABCD)
A、分析                B、设计                        C、编码
D、测试                E、需求调研                    F、实施
9 .软件验收测试的合格通过准则是:(ABCD)
A . 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B . 所有测试项没有残余一级、二级和三级错误。
C . 立项审批表、需求分析文档、设计文档和编码实现一致。
D . 验收测试工件齐全。
10 .软件测试计划评审会需要哪些人员参加?( ABCD )
A .项目经理        B .SQA 负责人        C .配置负责人        D .测试组
11 .下列关于alpha 测试的描述中正确的是:( AD )
A .alpha 测试需要用户代表参加                B .alpha 测试不需要用户代表参加
C .alpha 测试是系统测试的一种                D .alpha 测试是验收测试的一种
12 .测试设计员的职责有:( BC )
A .制定测试计划    B .设计测试用例    C .设计测试过程、脚本    D .评估测试活动
三、
1.软件验收测试包括:正式验收测试alpha测试beta测试
2.请列举三种以上系统测试的策略有:功能测试性能测试可靠性测试负载测试易用性测试强度测试安全测试配置测试安装测试卸载测试文挡测试故障恢复测试界面测试容量测试兼容性测试分布测试可用性测试,(答对其中任意三个即得分
3.设计系统测试计划需要参考的项目文挡有:软件测试计划软件需求工件迭代计划
4.对面向过程的系统采用的集成策略有:自顶向下自底向上两种。
5. 在已役入运行的软件中,与财务有关的关键软件所允许的故障密度为  110 /每千行
6. 缺陷发现或解决得越迟,成本越高,几乎呈指数增长
7.测试人员座右铭:尽早地、不断地测试!
8.软件测试的对象: 需求分析说明书 概要设计说明书详细设计说明书源代码
9. 单元测试也称模块测试,测试的对象是软件的最小单元——程序模块
10.单元测试的目的是检测程序模块中的错误故障,着力解决以下五个方面的问题:模块接口测试模块局部数据结构测试覆盖测试出错处理检测边界条件测试
11.系统测试的主要内容包括:功能测试性能测试用户界面测试安全性测试压力测试可靠性测试安装/卸载测试等。
12. 人为测试的主要方法有桌前检查 (desk checking) 代码审查 code review )和走查 walkthrough )。
13.兼容性测试需要重点考虑的兼容性问题有:
操作系统的兼容性浏览器的兼容性硬件的兼容性
14.边界值分析法的基本思想是:选取正好等于、刚刚大于和刚刚小于边界值的数据进行测试。
15. 白盒测试的两类主要方法是:静态测试动态测试
16.逻辑覆盖以程序的内部逻辑结构为基础,主要分以下几种方式:语句覆盖判定覆盖(分支覆盖)条件覆盖判定/条件覆盖条件组合覆盖
四、问答题
1、测试人员在软件开发过程中的任务是什么?
答:1)、寻Bug;2)、避免软件开发过程中的缺陷;3)、衡量软件的品质;4)、关注用户的需求。总的目标是:确保软件的质量。
2、一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
3、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
答:黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
3)系统庞大时,测试开销会非常大。
4、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。
答:软件测试是一个为了寻软件中的错误而运行软件的过程,一个成功的测试是指到了迄今为止尚未发现的错误的测试。
  软件测试一般分为单元测试、集成测试和系统测试。
5、根据自己的理解什么是测试用例和测试规程?
答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组
数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
6、软件验收测试包括哪些内容?
答:正式验收测试,alpha测试,beta测试。
7、设计系统测试计划需要参考哪些文档?
答:软件测试计划,软件需求工件和迭代计划。
8、对面向过程的系统采用的集成策略有哪两种?
答:自顶向下,自底向上两种。
9、.通过画因果图来写测试用例的步骤是什么?
答:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。