搜档网
当前位置:搜档网 › 软件测试技术复习题DOC

软件测试技术复习题DOC

软件测试技术复习题DOC
软件测试技术复习题DOC

软件测试技术复习题(1004)

一、基本要求

1、软件测试概述

(1)软件可靠性问题、软件缺陷与故障、软件缺陷产生的原因

(2)软件测试基本概念

(3)软件开发过程

(4)软件测试过程、软件开发与软件测试的关系

(5)软件质量与软件质量管理的概念

2、软件测试策略与过程

(1)软件测试的复杂性概念

(2)软件测试方法与策略:静态测试与动态测试、黑盒测试与白盒测试

(3)软件测试过程:单元测试、集成测试、确认测试、系统测试、验收测试

(4)面向对象的软件测试

(5)软件调试的概念、软件测试与调试的关系

3、功能(黑盒)测试及其用例设计

(1)黑盒测试法的概念

(2)三角形问题、NextDate函数问题

(3)等价类划分法

(4)边界值分析法

(5)因果图法

(6)决策表法

(7)黑盒测试应用案例

4、结构(白盒)测试及其用例设计

(1)白盒测试法的概念

(2)控制流图、环形复杂度、图矩阵

(3)覆盖测试:函数覆盖、条件覆盖、路径覆盖、面向对象的覆盖

(4)路径测试:基本路径测试方法、循环测试方法

(5)白盒测试应用案例

5、软件测试实际应用

(1)客户机/服务器系统的软件测试:客户机/服务器系统的结构测试、网站测试

(2)面向对象的软件测试:面向对象的软件测试模型、基于类的测试

(3)图形用户界面测试:窗体测试、菜单测试、数据项测试

(4)实时系统性能测试

(5)场景法应用案例

6、软件测试管理

(1)软件测试组织管理

(2)软件测试计划和过程管理:制定测试计划、确定测试过程、测试结果分析

(3)软件测试文档管理

7、软件自动化测试

(1)软件自动化测试基础:自动化测试概念、自动化测试脚本、自动化测试生存周期(2)软件自动化测试工具:白盒测试工具、黑盒测试工具

二、基本概念

1、软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。

软件测试所涉及的关键问题包括四个方面:测试人员、测试内容、测试时间和测试方法。

2、软件测试过程中需要三类输入:软件配置、测试配置和测试工具。软件测试所涉及的关

键问题包括四个方面:测试人员、测试内容、(测试时间)和测试方法。

3、IEEE将软件可靠性定义为:系统在特定环境下,在给定的时间内无故障运行的概率。根据软件测试的定义,软件测试是为了发现错误而执行程序的过程。

4、基于 Web 的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。

5、面向对象单元测试针对程序内部具体单一功能的模块进行测试。从测试的角度来看,继承提供一种机制,通过这种机制,潜在的错误能够从一个类传递到它的派生类。

6、使用白盒测试工具所发现的故障可以定位到代码级。

7、等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类的

划分原则应该体现完备性和无冗余性。

8、基于 Web 的系统测试重要的是,从最终用户的角度进行安全性和可用性测试

9、有效的Web压力测试系统的关键条件中,量级指的是尽量使单独的操作进行高强度的使

用,增加操作的量级。

10、对OOP的测试重点集中在类功能的实现和相应的面向对象程序架构上,主要表现之一为

数据成员是否满足数据封装的要求。

11、面向对象技术的特点给测试带来的新问题具体表现有多态和动态绑定增加了系统运行中

可能的执行路径,而且给面向对象软件带来了严重的不确定性。对OOP的测试重点集中在类功能的实现和相应的面向对象程序架构上。

12、测试大纲是软件测试的依据,包括测试项目、测试步骤、测试完成的标准。

13、动态测试工具需要实际运行被测系统,并设置断点,向代码生成的(可执行)文件中插

入一些监测代码。

14、C/S体系结构的软件测试通常是从单个客户端开始,然后再逐步集成客户端、服务器和

网络系统进行集成测试,最后进行系统的整体测试。

15、静态测试分析主要集中在需求文档、设计文档以及程序结构方面。

16、对Web网站测试所采用的测试方法与策略除了黑盒测试、白盒测试、静态测试和动态测

试都有可能用到外,还会包括面向对象测试技术的运用。

17、软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,

是衡量软件质量的主要参数之一。

18、按照软件测试的策略和过程分类,软件测试可分为单元测试、集成测试、系统测试、验

证测试和确认测试。在软件测试中,对已测试过的模块进行组装,目的在于检验与软件设计相关的程序结构问题的测试称为集成测试。

19、实时系统测试的一般步骤:任务测试、行为测试、任务间测试和系统测试。

20、为了达到100%的基于状态的上下文覆盖,例行程序必须在每个适当的上下文内被执行。

三、简答题

1、应用条件/判定覆盖进行路径测试可能发现的错误。

针对判定和条件覆盖,测试用例可能发现如下错误:

(1)不同数据类型的比较;

(2)不正确的逻辑操作或优先级;

(3)应当相等的地方由于精确度的错误而不能相等;

(4)不正确的判定或不正确的变量;

(5)不正确的或不存在的循环终止;

(6)当遇到分支循环时不能退出;不适当地修改循环变量。

2、简述软件测试报告的内容。

软件测试报告是软件测试过程中最重要的文档,它的内容包括:

(1)记录问题发生的环境

(2)记录问题的再现步骤

(3)记录问题性质的说明

(4)记录问题的处理进程

3、测试过程中必需的基本测试活动有哪些。

(1)拟定软件测试计划

(2)编制软件测试大纲

(3)设计和生成测试用例

(4)实施测试

(5)生成软件测试报告

4、确定软件测试策略时的参考原则。

(1)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。

(2)必要时采用等价类划分法补充测试用例。

(3)采用错误推断法再追加测试用例。

(4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。

(5)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。

5、简述软件自动化测试中的脚本技术

脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以

直接用脚本语言编写脚本。

脚本技术可以分为以下几类:

线性脚本——是录制手工执行的测试用例得到的脚本。

结构化脚本——类似于结构化程序设计,具有各种逻辑结构(顺序、分支、循环),

而且具有函数调用功能。

共享脚本——是指某个脚本可被多个测试用例使用,即脚本语言允许一个脚本调用

另一个脚本。

数据驱动脚本——将测试输入存储在独立的数据文件中。

关键字驱动脚本——是数据驱动脚本的逻辑扩展。

6、在单元测试时,如果模块不是独立的程序,需要设置一些辅助测试模块。简述两种辅助

测试模块的作用。

驱动模块:用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启动被测模块,并打印出相应的结果。

桩模块:用来模拟被测模块工作过程中所调用的模块。它们一般只进行很少的数据处理。

7、简述由面向对象技术的特点给测试带来的新问题。

封装把数据及对数据的操作封装在一起,限制了对象属性对外的透明性和外界对它的操作权限,在某种程度上避免了对数据的非法操作,有效防止了故障的扩散。但同时,封装机制也给测试数据的生成、测试路径的选取以及测试结构的分析带来了困难。

继承实现了共享父类中定义的数据和操作,同时也可定义新的特征。子类是在新的环境中存在,所以父类的正确性不能保证子类的正确性。继承使代码的重用率得到了提高,但同时也使故障的传播几率增加。

多态和动态绑定增加了系统运行中可能的执行路径,而且给面向对象软件带来了严重的不确定性,给测试覆盖率的活动带来新的困难。

8、Web压力测试的意义及有效的压力测试系统的关键条件。

(1)Web压力测试的意义

压力测试是系统测试的一部分,通过应用很大的工作负载来使软件超负荷运转,其

目的是要弄清楚被测试的Web服务是不是不仅能做预期应能做的事,而且在被施加

了某些高强度压力的情况下仍能继续正常运行。如果压力测试通过对软件保持高强

度的使用(不超过性能统计数字确定的限制)能够有效执行,那么它就经常能够发

现许多其它测试无法发现的隐蔽错误。

(2)有效的压力测试系统的关键条件

①重复:就是一遍又一遍地执行某个操作或功能。

②并发:就是在同一时间内执行多个操作。

③量级:尽量使单独的操作进行高强度的使用,增加操作的量级。

④随机变化:随机使用前面条件中的无数变化形式,就能够在每次测试运行时应

用许多不同的代码路径。

9、如何根据等价类的划分确定测试用例。

(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。

(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。

(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

10、简述软件自动化测试中的“捕获-回放”技术

(1)捕获:将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、

状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用

户的操作。

(2)回放:将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。这可以大大减轻黑盒测试的工作量,在迭代开

发的过程中,能够很好地进行回归测试。

四、分析题

1、阅读下面的问题说明:

现在的软件系统几乎都是用事件触发来控制程序流程的。事件触发时的情景便形成了场景,而同一事件不用的触发顺序和处理结果就形成了事件流。事件流分为基本流和备选流,基本流是经过测试用例的从开始到结束的最简单、无差错的路径,备选流可以从基本流开始,也可以从另外的备选流开始,在某个特定条件下执行。根据问题的描述确定程序的基本流和备选流,然后由基本流和备选流形成不同的场景,对每一个场景生成相应的测试用例。这就是应用场景法进行测试用例设计的基本思想。

下面是对某ATM机应用系统的存款操作的基本流和备选流的描述。

试求:

(1)设计场景(基本流用字母A表示,备选流用题干中描述的相应字母表示)。

(2)设计测试用例场景矩阵

测试用例矩阵格式示例如下:

(3)假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了80个软件错误,系统在上线后,用户反馈了10个错误,请计算缺陷探测率(DDP)。

(1

(2)设计测试用例场景矩阵

(3)计算缺陷探测率(DDP)

DDP=Bugstester(Bugstester+ Bugscustomer)=(20+80)(20+80+10)=90%(0.9)

其中,Bugstester为测试者发现的错误数;

Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。

五、设计题

1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输

入为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12和1≤ day ≤31。

(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类等价类划分格式示例如下:

(2)根据划分的等价类,再考虑month边界值,设计健壮等价类测试用例。

测试用例格式示例如下:

(1)输入等价类

(2)设计测试用例

2、三角形问题说明:输入三个正整数a、b、c,分别作为三角形的三条边,现通过程序判

断由三条边构成的三角形的类型是否为等边三角形、等腰三角形、直角三角形、普通三角形以及非三角形。假设要求输入的a、b、c数据满足的条件是:

a>0∧b>0∧c>0并且 a

根据问题的规格说明,可从输出域划分5种等价类:

R1:等边三角形

R2:等腰三角形

R3:直角三角形

R4:普通三角形

R5:非三角形

可由输出等价类求输入等价类:

例如输出的等边三角形等价类R1对应的输入等价类S1表示为

R1: S1 = { | a=b∧b=c∧a=c∧a>0∧b>0∧c>0}

(1)按上述表示,将输出等价类变换为对应的输入等价类。

(2)假设1≤a,b,c≤10,根据划分的等价类,设计健壮等价类测试用例,再使用必要的边界值用例补充。

测试用例格式示例如下:

(1)输入等价类

R1: S1 = { | a=b∧b=c∧a=c∧a>0∧b>0∧c>0}

R2: S2 = { |(a=b∨b=c∨a=c)∧(a+b>c∧b+c>a∧a+c>b)∧a>0∧b>0∧c>0}

R3: S3 = { | a>0∧b>0∧c>0∧(a+b>c∧b+c>a∧a+c>b)∧(a2+b2=c2∨b2+c2=a2∨a2+c2=b2)}

R4: S4 = { |a≠b∧b≠c∧a≠c∧a>0∧b>0∧c>0∧(a+b>c∧b+c>a∧a+c>b)} R5: S5 = { |(a+b≤c∨b+c≤a∨a+c≤b)∧a>0∧b>0∧c>0∨a≤0∨b≤0∨c≤0}

(2)设计测试用例

3、某软件规格说明书对某二位编码的定义如下:编码的第一个字符必须是A或B,第二个

字符必须是一位数字,此情况下给出信息:编码正确;如果第一个字符不是A或B,则给出信息:编码错误;如果第一个字符是A或B,第二个字符不是数字,则给出信息:修改编码。

(1)根据问题的规格说明,列出原因和结果。

因果表格式示例如下:

(2

(3)将因果图转换成简化的决策表,并设计出测试用例。

(1

(2)画出因果图

①~ A

E ∨⑩

②∧ B

③~ C

中间状态⑩,表示已接受第一个字符。

(3)将因果图转换成简化的决策表,并设计出测试用例。

4、阅读下面的程序,

void Test1( int n, int i )

1 {

2 int x=0;

3 int y=0;

4 while ( n-- > 0 )

5 {

6 if ( i==0 )

7 x=y+2;

8 else

9 if ( i==1 )

10 y=y+10;

11 else

12 x=y+20;

13 }// while

14 }// Test1

试求:

(1)画出程序的流程图及控制流图(可用语句标号表示),计算程序的环形复杂度。(2)确定程序的独立路径,并根据独立路径,设计测试用例。

测试用例格式示例如下:

(1)画出程序的流程图及控制流图。

计算程序的环形复杂度。

V(G)=E-N+2=9-7+2=4

或 V(G)=P+1=3+1=4

(2)确定程序的独立路径。

路径1:4→14

路径2:4→6→7→14

路径3:4→6→9→10→4→14

路径4:4→6→9→12→4→14

根据独立路径,设计测试用例。

5、假设某保险公司的人寿保险的保费计算方式为:投保额×保险费率。其中,保险费率依

点数不同而有别,具体规则见下表。

根据问题的规格说明,从输入条件划分等价类。

(1)对每一个有效等价类,至少设计一个测试用例。

(2)对每一个无效的输入, 设计一个无效等价类,并设计测试用例。

五、单选题

1、对于下列描述

(1)软件未达到产品说明书中已经标明的功能;

(2)软件出现了产品说明书中指明不会出现的错误;

(3)软件未达到产品说明书中虽未指出但应当达到的目标;

(4)软件功能超出了产品说明书中指明的范围。

正确的说法是

A. (1)(2)(3)属于软件缺陷

B. 只有(4)属于软件缺陷

C.(1)(2)(3)(4)都属于软件缺陷

D. 只有(1)(2)属于软件缺陷

2、测试步骤详细规定了如何设置、执行、评估特定的

A. 测试计划

B. 测试报告

C. 测试用例

D. 测试程序

3、经过测试,符合设计要求,确认系统功能和其他特性均不再做任何改变。这表示的是测

试过程中的

A. 程序冻结

B. 需求冻结

C.功能冻结

D. 代码冻结

4、测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是

执行测试的

A. 最小集合

B. 最大集合

C. 最小实体

D. 最大实体

5、尽早地和及时地测试。这句话描述的是

A. 软件测试目的

B.软件测试原则

C. 软件测试停止的依据

D. 软件测试基本问题

6、对于下列内容:(1)需求分析说明书(2)概要设计说明书(3)详细设计说明书(4)源

程序代码。关于单元测试的描述,正确的说法是

A. 与(1)(2)(3)有关

B. 只与(4)有关

C.只与(3)(4)有关

D. 与(1)(2)(3)(4)都有关

7、按照区间进行等价类划分,在输入条件规定了取值范围或值的个数的情况下,可以确定

有效等价类和无效等价类的个数分别为

A. 2,2

B. 1,1

C. 1,2

D. 2,1

8、在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角

形。则标准等价类和健壮等价类的测试用例个数分别为

A. 4,1

B. 5,7

C. 1,4

D. 4,7

9、在软件测试工具中,下面不属于动态测试工具类型的是

A.错误检查

B. 内存分析

C. 覆盖测试

D. 接口测试

10、大量的事实表明,导致软件缺陷的最大原因是

A.软件产品说明书

B. 软件设计手册

C. 软件用户操作手册

D. 软件维护手册

11. 在软件测试工具中,下面属于静态测试工具类型的是

A.一致性检查

B. 内存分析

C. 覆盖测试

D. 接口测试

12、为检验所开发的软件是否能按用户提出的要求进行,采用黑盒测试来完成的一系列证明

软件功能和要求一致的测试称为

A. 集成测试

B.确认测试

C. 系统测试

D. 回归测试

13、针对软件的可维护性,目前业界主要存在三种度量参数:Line复杂度、Halstead复杂

度和McCabe复杂度。其中Line复杂度表示

A.以代码的行数作为计算的基准

B. 以程序中使用到的运算符与运算元数量作为计数目标

C. 以软件的流程图来衡量软件的质量

D. 以软件的功能结构图来评价软件的可维护性

14、从宏观上说,C/S体系结构的软件测试通常是从单个客户端开始,然后再逐步集成客

户端、服务器和网络系统进行集成测试,最后进行系统的整体测试。下面不属于整体测试的主要内容是

A. 事务测试

B. 网络通信测试

C. 网络运行性能的测试

D.对应用服务器(中间件)的测试

15、假设存在父类Base有Inherited()和Redefined()这两个成员函数,继承父类Base的

子类Derived只对Redefined() 做了改动。那么,确切的说法是

A. Derived::Redefined()需要重新测试

B. Derived::Redefined()不必重新测试

C. Derived::Inherited()不必重新测试

D. Derived::Inherited()需要重新测试

16、用等价类划分法设计对所有实数进行开平方运算的程序的测试用例,可以将输入域进行

划分为

A. 正整数、0 和负整数

B.正实数、0 和负实数

C. 有理数和无理数

D. 实数和虚数

17、假设一个软件的数据输入要求是4位整数,则利用边界值分析法,输入的有效等价类和

无效等价类的边界值分别为

A. 1000,9999;1000,10000

B. 999,9999;999,10000

C. 1000,9999;999,10000

D. 999,9999;1000,100000

18、在软件测试工具中,下面属于动态测试工具类型的是

A.性能测试

B. 类型检查

C. 复杂度分析

D. 接口分析

19、在软件测试的充分性准则中表明,软件越复杂,需要的测试数据就越多。这一特性称为

A. 单调性

B. 非复合性

C.复杂性

D. 非分解性

20、在集成测试策略的环境中,对某些已经进行过的测试的某些子集再重新进行一遍,以保

证上述改变不会传播无法预料的副作用或引发新的问题,这一测试称为

A. 集成测试

B. 确认测试

C. 系统测试

D.回归测试

21、如果将简单循环的测试方法用于嵌套循环,可能的测试次数会随嵌套层数成几何级数增

加。此时可采用减少测试次数的正确方法之一是

A.测试从最内层循环开始,所有外层循环次数设置为最小值

B. 测试从最外层循环开始,所有内层循环次数设置为最小值

C. 测试从最内层循环开始,所有外层循环次数设置为最大值

D. 测试从最外层循环开始,所有内层循环次数设置为最大值

22、Rational Robot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化

测试特性。其中图形用户界面(GUI)脚本主要用于

A. 用户测试

B. 单元测试

C. 性能测试

D. 功能测试

23、一个好的测试用例在于发现了还未曾发现过的错误。这句话描述的是

A.软件测试目的

B. 软件测试原则

C. 软件测试停止的依据

D. 软件测试基本问题

24、Rational Robot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化

测试特性。下面不属于目前Rational Robot开发的三种测试脚本之一的是

A. 图形用户界面(GUI)脚本

B. 虚拟用户(VU)脚本

C. VBScript脚本

D. JavaScript脚本

25、对于下面的逻辑覆盖法的有关描述:选择足够多的测试用例,使得程序中的每个可执行

语句至少执行一次。该逻辑覆盖属于

A.语句覆盖

B. 判定覆盖

C. 条件覆盖

D. 组合覆盖

26、下面是有关基本路径测试方法的描述:

(1)计算程序的环形复杂度,导出程序基本路径集中的独立路径条数。

(2)导出基本路径集,确定程序的独立路径。

(3)画出程序的控制流图。

(4)根据图中的独立路径,设计测试用例的输入数据和预期输出。

正确的执行基本路径测试方法的步骤是

A.(1)(2)(3)(4)

B.(3)(1)(2)(4)

C. (3)(4)(2)(1)

D. (4)(3)(2)(1)

六、题型举例

一、单项选择题(本大题共15小题,每小题1分,共15分)

1、大量的数据表明,导致软件缺陷的产生原因分布中,软件产品说明书约占

A. 7%

B. 10%

C. 27%

D. 56%

2、关于软件测试对象的描述,下面不正确的是

A. 软件测试不等于程序测试

B.软件测试就是源程序的测试

C. 软件测试贯串于软件定义和开发的整个过程

D. 软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以

及源程序都是软件测试的对象。

3、Rational Robot是一种强大的自动化测试工具,主要通过编写脚本的方式提供自动化测

试特性。其中虚拟用户(VU)脚本主要用于

A. 用户测试

B. 单元测试

C.性能测试

D. 功能测试

4、在软件测试工具中,下面属于动态测试工具类型的是

A. 一致性检查

B.内存分析

C. 数据流分析

D. 接口分析

5、在不能做到所有路径覆盖的前提下,如果某一程序的每一个独立路径都被测试过,那么

可以认为程序中的每个语句都已经检验过了,这种测试方法就是通常所说的基本路径测试方法。这种方法的结果达到了

A.语句覆盖

B. 条件覆盖

C. 路径覆盖

D. 组合覆盖

6、在软件测试的充分性准则中表明,即使对软件系统整体的测试是充分的,也并不意味软

件系统中各个成分都已经充分地得到了测试。这个特性称为

A. 单调性

B. 非复合性

C. 复杂性

D.非分解性

7、针对软件的可维护性,目前业界主要存在三种度量参数:Line复杂度、Halstead复杂度

和McCabe复杂度。其中McCabe复杂度表示

A. 以代码的行数作为计算的基准

B. 以程序中使用到的运算符与运算元数量作为计数目标

C.以软件的流程图来衡量软件的质量

D. 以软件的功能结构图来评价软件的可维护性

8、按照数值划分等价类,在规定了一组n个输入数据,并且程序要对每一个输入值分别进

行处理的情况下,可确定有效等价类和无效等价类的个数分别为

A. n ,1

B. 1,n

C. n+1,n

D. 1,n+1

二、填空题(本大题共15小题,每小题1分,共15分)

1、测试大纲是软件测试的依据,包括(测试项目)、测试步骤、测试完成的标准。

2、白盒测试工具一般是针对被测(源程序)进行的测试,

3、Web网站的网页测试主要包括文字测试、(链接)测试、图形、图像测试、表单测试等。

4、有效的Web压力测试系统的关键条件中,重复指的是(多次)地执行某个操作或功能。

5、在软件测试中,检验软件产品质量的最后一道工序主要是突出用户的作用,同时软件开

发人员也应有一定程度的参与,这一测试称为(验收)测试。

6、基于状态的上下文覆盖把一个状态上下文内的一个例行程序的执行认为是(独立于)另

一个状态内相同例行程序的执行。

7、动态测试工具需要实际运行被测系统,并设置断点,掌握断点这一时刻程序运行(数据)。

8、语句覆盖属于(白盒)测试技术。

三、简答题(本大题共6小题,每小题5分,共30分)

1、对于软件缺陷的定义,通常有下列描述:

(1)软件未达到产品说明书中已经标明的功能;

(2)软件出现了产品说明书中指明不会出现的错误;

(3)软件未达到产品说明书中虽未指出但应当达到的目标;

(4)软件功能超出了产品说明书中指明的范围;

(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。

以日常使用的具有四则运算功能的计算器内的嵌入式软件为例,举例说明软件测试中出现上述五条中的至少三种现象。

(1)随意选定两个数值,按下加、减、乘、除功能健之一,无反应或结果出错,属于第一种现象。

(2)如果产品说明书指出,系统不会出现崩溃或死锁等反应,但随意选定按键后,无反应,属于第二种现象。

(3)系统除具有加、减、乘、除功能外,还能计算平方根,但说明书并为指出该功能,属于第三种现象。

(4)测试中,因电池没电导致计算错误,但说明书并为指出该现象如何处理,属于第四种现象。

(5)按键太小或正常情况下显示字体不清,属于第五种现象。

2、简述单元测试中模块接口测试的内容

(1)调用所测模块时的输入参数与模块的形式参数在个数、属性、顺序上是否匹配;(2)所测模块调用子模块时,它输入给子模块的参数与子模块中的形式参数在个数、属性、顺序上是否匹配;

(3)是否修改了只做输入用的形式参数;)

(4)调用标准函数的参数在个数、属性、顺序上是否正确;

(5)全局变量的定义在各模块中是否一致。

3、简述软件测试停止的五类依据(标准)

(1)测试超过了预定时间。

(2)执行了所有的测试用例,但并没有发现故障。

(3)使用特定的测试用例设计方案作为判断测试停止的基础。

(4)停止测试的标准可定义为查出某一预订数目的故障。

(5)根据单位时间内查出故障的数量决定是否停止测试。

4、简述黑盒测试可以发现哪几类错误

(1)是否有不正确或遗漏了的功能

(2)在接口上,输入能否正确地接受或能否输出正确的结果

(3)是否有数据结构错误或外部信息访问错误

(4)性能上是否能够满足要求

四、设计题(每题10分,共30分)

1、NextDate函数问题说明:输入一个日期,求从输入日期算起的第三天日期。例如,输入

为2008年8月8日,则该程序的输出为2008年8月10日。NextDate函数包含三个整数变量month、day和year,并且满足下列条件:1≤ month ≤12和1≤ day ≤31。

(1)根据问题的规格说明,将输入变量month、day、year划分的有效等价类作为原因,列出原因和结果(假设不考虑闰年)。

(2)根据因果表,分析因果关系,画出简化的决策表,并设计测试用例。

(1

五、阅读分析题(本大题10分)

阅读下面的问题说明:

现在的软件系统几乎都是用事件触发来控制程序流程的。事件触发时的情景便形成了场景,而同一事件不用的触发顺序和处理结果就形成了事件流。事件流分为基本流和备选流,基本流是经过测试用例的从开始到结束的最简单、无差错的路径,备选流可以从基本流开始,也可以从另外的备选流开始,在某个特定条件下执行。根据问题的描述确定程序的基本流和备选流,然后由基本流和备选流形成不同的场景,对每一个场景生成相应的测试用例。这就是应用场景法进行测试用例设计的基本思想。

下面是对某ATM机应用系统的取款操作的基本流和备选流的描述。

试求:

(1)设计场景(基本流用字母A表示,备选流用题干中描述的相应字母表示)。

场景格式示例如下:

(2)设计测试用例场景矩阵

测试用例矩阵格式示例如下:

(3)假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了100个软件错误,系统在上线后,用户反馈了30个错误,请计算缺陷探测率(DDP)。

参考答案:

(1

(1)设计测试用例场景矩阵

(3)计算缺陷探测率(DDP)

DDP=Bugstester(Bugstester+ Bugscustomer)=(20+100)(20+100+30)=80%(0.8)

其中,Bugstester为测试者发现的错误数;

Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么? 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户? 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别? 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: 1.C/S模式将应用与服务分离,系统具有稳定性和灵活性 2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 2.B/S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 3.B/S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么? 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别? 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换

软件测试工程师笔面试试题

软件测试工程师笔面试试题 面试题 1.为什么要在一个团队中开展软件测试工作? 2.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述 在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些 工作? 03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述 一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完 成这些工作?(对于软件测试部分,可以简述) 4.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长

哪 部分工作? 5.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测 试类型的区别与联系(如功能测试、性能测试……) 6.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统 测试、验收测试的区别与联系。 7.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其 中哪些是最重要的? 8.您认为做好测试计划工作的关键是什么? 9.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说 明这些方法在测试用例设计工作中的应用。 10.您认为做好测试用例设计工作的关键是什么?

11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整 的过程。 12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描 述测试用例评审的过程和评审的内容。 13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描 述您以往的性能测试工作的完整过程。 14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请 试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 15.您认为性能测试工作的目的是什么?做好性能测试工作的关键 是什 么?

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

华为软件测试工程师面试题

华为软件测试工程师面试题 2010-05-27 10:25 Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? 答:七层结构从上到下依次是: 7 应用层;6 表示层;5 会话层;4 传输层;3 网络层;2 数据链路层;1 物理层 五层结构是 5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层。 Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP 呢? 答:UDP,TCP在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到 Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? 一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层+ 部分网络层”。交换机中传的是帧。通过存储转发来实现的。 路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。 Q4:请问C++的类和C里面的STRUCT有什么区别? 答:除关键字不同外(class,struct)的唯一区别是, 结构在默认情况下的成员是公共(public)的, 而类在默认情况下的成员是私有(private)的。 在C++中,结构是特殊的类。 class是从struct发展而来的。之所以将struct和class都保留,是因为: 1、提出class是为了强调一种概念。 2、保留struct是为了照顾到大多数人的习惯。 struct和class是有区别的。 struct保证成员按照声明顺序在内存中存储。class不保证等等 而它们都可以继承,实现多态等。但也有少许区别。比如:

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

2010级软件工程本科《软件测试技术》试卷B - 答案

第 页 共 6 页 1 考试方式: 闭卷 太原理工大学 软件测试技术 试卷B (答案) 适用专业: 2010级软件工程 考试日期: 2012.12.7 时间: 120 分钟 共 8 页 一、 填空题(每空1分,10分) 1._________ _______的定义:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和。(软件质量) 2.软件缺陷生命周期有_________ _______状态、_________ _______状态、_________ _______状态等三种基本状态。(“新打开的”、“已修正”和“已关闭”) 3.____________________是将一个软件产品按特定国家和语言市场的需要进行全面定制的过程。 (软件本地化) 4.软件评审的对象分为:__________ _______、________ _________、_________ _________和__________ _______。(管理评审,技术评审,文档评审和流程评审) 5.__________________是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。(压力测试,也称为强度测试、负载测试) 二、 判断题(每题1分,10 分,正确的√,错误的╳) 1.代码评审员不完全由测试员担任。( √ ) 2.测试人员要坚持原则,缺陷未修复完坚决不予通过。( ╳ ) 3.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( ╳ ) 4.好的测试是用少量测试用例运行程序,发现被测程序尽可能多的错误。( √ ) 5.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的

软件测试工程师笔试题目和答案

一、判断题 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5.单元测试能发现约80%的软件缺陷。(Y) 6.代码评审是检查源代码是否达到模块设计的要求。(N) 7.自底向上集成需要测试员编写驱动程序。(Y) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N) 10.代码评审员一般由测试员担任。(N) 11.我们可以人为的使得软件不存在配置问题。(N) 12.集成测试计划在需求分析阶段末提交。(N) 二、选择题 1.软件验收测试的合格通过准则是:(ABCD) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(ABCD) A.项目经理 B.SQA负责人

D.测试组 3.下列关于alpha测试的描述中正确的是:(AD) A.alpha测试需要用户代表参加 B.alpha测试不需要用户代表参加 C.alpha测试是系统测试的一种 D.alpha测试是验收测试的一种 4.测试设计员的职责有:(BC) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(ABC) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 三、填空题 1.软件验收测试包括:正式验收测试,alpha测试,beta测试。 2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦) 3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

软件测试技术考题A卷

《软件测试技术》试卷(A) 1.软件测试的目的:() A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 2.软件测试按照测试层次可以分为( ) A.黑盒测试、白盒测试 B. 功能性测试和结构性测试 C.单元测试、集成测试和系统测试 D.动态测试和静态测试 3.软件测试是采用()执行软件的活动。 A.测试用例 B.输入数据 C.测试环境 D.输入条件 4.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:() 1预防软件发生错误 2发现程序错误 3提供诊断错误信息 A.只有1 B.只有2 C.只有3 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、判定覆盖 D、语句覆盖 13、下列___不属于软件缺陷() (A) 测试人员主观认为不合理的地方 (B) 软件未达到产品说明书标明的功能 (C)软件出现了产品说明书指明不会出现的错误 (D)软件功能超出产品说明书指明范围 14.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?()A.功能测试 B.单元测试 C.结构测试 D.验收测试 15、单元测试的主要任务不包括()。 A.出错处理B.全局数据结构 C.独立路径D.模块接口 二、判断题(共30分,每小题2分。把最恰当的答案题号填入括号内) 1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(对) 2、结构性测试是根据软件的规格说明来设计测试用例。(错) 3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(错) 4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、 缺陷状态、缺陷起源、缺陷来源、缺陷原因。(对)

[全]软件测试常见笔试题(附带答案)

软件测试常见笔试题(附带答案) 软件测试笔试题 一、选择题 1、对计算机软件和硬件资源进行管理和控制的软件是(D) A.文件管理程序 B.输入输出管理程序 C.命令出来程序 D.操作系统 2、在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A) A.错误推测法测试 B.路劲分析测试 C.语句覆盖测试 D.条件覆盖测试 3、某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为(C) A.静态测试

B.单元测试 C.黑盒测试 4、编写测试计划的目的是(ABC)多选题 A.使测试工作顺利进行 B.使项目参与人员沟通更舒畅 C.使测试工作更加系统化 D.软件工程以及软件过程的需要 E.软件过程规范化的要求 F.控制软件质量 5、关于软件测试与软件开发的认识,不正确的是(B) A.软件生命周期各个阶段都可能产生测试 B.软件测试是独立于软件开发的一个工作 C.软件开发的需求分析和设计阶段就应开始测试工作 D.测试越早进行,越有助于提高被测软件的质量 6、当一个应用程序窗口被最小化后该应用的程序将会出现一下哪种情况(D) A.被终止执行

B.继续在前台执行 C.被暂停执行 D.被转入后台执行 7、下列方法中,不属于黑盒测试的是?(A) A.基本路劲测试法 B.等价类测试法 C.边界值分析法 D.基于场景的测试方法 8、对于维护软件的人员来说,使用质量是【】的结果(C) A.功能性 B.可靠性 C.可维护性 D.效率 9、下列软件属性中,软件产品首要满足的应该是(A) A.功能需求 B.性能需求

C.可扩展性和灵活性 D.容错、纠错能力 10、单元测试中设计测试用例的依据是(D) A.概要设计规格说明书 B.用户需求规格说明书 C.项目计划说明书 D.详细设计规格说明书 二、判断题 1、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(√) 2、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作(×) 3、发现错误多的模块,残留在模块中的错误也多。( √) 4、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(×) 5、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

软件测试试题及答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 4.Beta测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 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.软件质量保证和软件测试是同一层次的概念。(x)

软件测试技术-软件测试管理试题

软件测试技术-软件测试管理试题

第三章软件测试管理 简答题 1.你是如何理解测试的层次和主要的管理活 动? 在软件测试的管理中,以下内容的定义反映测试工作的组织策略: a、软件测试遵循的标准; b、软件测试的工作范畴; c、软件测试环境; d、软件测试产品; e、适用于软件测试活动的软件资源标识规则; f、软件测试的进度安排。 软件测试遵循的标准 组织者在指定范围内选择软件测试遵循的标准,并结合本软件系统的具体要求,使之贯彻到整个软件测试的计划、实现和管理过程之中。根据标准,需要被明确的内容包括:测试阶段和测试文档类型。 可以从三个角度来划分测试阶段:面向测试操作类型的阶段划分、面向测试操作对象的阶段划分、面向测试实施者的阶段划分。测试操作类型包括:调试、集成、确认、验证、组装、验收、操作等。测试操作对象可以是:单元、部件、配置项、子系统、系统等。测试实施者可以是:开发者、测试者、使用者、验收者等。各类标准从不同角度定义测试评审阶段,而测试组织者可以在符合所选标准的同时,结合多个划分因素规定本系统的测试阶段。

各标准规定的测试文档类型也不尽相同。如国标《软件产品开发文件编制指南》规定了两类测试文档:测试计划、测试分析报告;国标《计算机软件测试文件编制规范》定义了八类测试文档:测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告、测试总结报告;《XXXX软件工程化技术文件》定义了三类测试文档:测试计划、测试说明、测试报告。我们认为最后这种规定较易操作:因为,太少的测试文档类型不利于有步骤有层次地定义测试内容,也不利于测试用例和测试例程的良好表达;太多的测试文档类型易使测试组织陷入到繁杂的文档规范和编制中去;而第三种定义较为适中。其中:测试计划在系统分析/设计阶段提交,着重定义测试的资源、范围、内容、安排、通过准则等;测试说明在测试计划明确后开始编制,针对软件需求和设计要求具体定义测试用例和测试规程;测试报告分析和总结测试结果,测试日志是其必要附件。 2.在实际项目中,如何对软件测试进行有效管 理? 我们的项目的生命周期大致分为以下几个阶段:需求阶段、设计阶段、编码阶段、系统测试阶段和客户测试阶段,规定各阶段的流程并指定责任人。按照规程和项目实际情况确定个项目的里程碑,设置多个检验点,由QA监督个检验点评审过程。 通过CMM2的六个关键域职称项目管理以CMM为目标和支撑进行项目的管理。在国内软件开发行业一片混乱中,决定走国际化的标准轨

软件测试――笔试题(带答案)

我个人觉得我作为应届毕业生,面试测试工作还是蛮得心应手的!: -p 我愿意把自己从事测试的经历和面世的心得与大家分享! 1.准备两份高质量的简历,中英文的,最大化的把自己的能力,尤其时测试方面的技能和知识写详细 2.找准自己的定位后,找相应的公司,主要考虑自己目前的能力与对未来的期望。 3.在多个招聘网上贴简历 5.当收到面试通知时,详细了解公司的招聘要求,从这些要求和职责上去准备面试的问题 6.准备一些面试可能问的问题,我有整理和收集过一些,贴出来,供大家参考,很多真的都被面试公司问过,蛮管用的 7.好好准备英文的面试,除了自我介绍外,还有一些可能问到的问题 8.做卷子是我面试的时候最薄弱的地方,因为很多公司要不提供一些编程的程序题,要不就是那种IQ,EQ题型,我都不擅长。不过有两种题性是可以准备到的,一种是数据库方面的题,写一些sql语句,还有就是测试题目,了解你对测试的理解和想法,需要准备英文答题。 9.出去面试的时候,不要把自己再当作学生的身份,因为我们的竞争对手不光光在同学间,更多的是社会高人们。所以,从着装上,如果可以的话,尽量不要学生装,女生最好不要穿牛仔裤(花旗面试经验),成熟稳重的外在,为面试的视觉因素加分!

就没有工作经验的同学而言,我个人建议就是,先不要考虑过多的待遇,找一个能提供给你锻炼的公司,去积累一定的经验后,然后再重新找心意的公司。反正再面试中表现你的最大优势,要能侃,不要人家问什么你答什么,人家问了一点点,你可以简述一大点,老练自信很有帮助哦!这是有关测试技能方面的试题,我只收集到了题目,尚无答案,希望能对面试有帮助!测试的面试中,基本上公司都要笔试,基本上给测试人员的卷子,和开发人员的是一样的。里面会有编程方面的题目,这些知识主要靠大家以前在学校或实践中的积累。如果答得不好,也不用太在意,因为这不是主要考察你得因素。但有些题目,是需要我们重视得,比如考察你得英文能力,让你翻译资料;还有就是出一些数据库方面得题目;当然,测试方面理论知识部分,也容易被考到,比如谈谈你对测试得了解,你自己对测试得认识和计划等(很可能是英文答题)以下是一份主要对测试知识的试卷,(一般不会像这样通篇考试,除非是测试考证)但可能从中抽取部分题目,仅供参考: 集成测试的计划怎么写啊? 可以思考以下内容并用集成测试计划的模板写下来: 1、确定集成测试对象 2、确定集成测试策略 3、确定集成测试验收标准 4、确定集成测试挂起和恢复条件 3、估计集成测试工作量 4、估计集成测试所需资源 5、进行集成测试任务划分(包括任务名、责任人、输入和输出、风险及应对措施、进度安排等)集成测试过程 摘书上的,, 根据IEEE标准集成测试划分为4个阶段:

软件测试工程师考试题

练习题一 一、判断题(每题1分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。(√) 2.Beta 测试是验收测试的一种。(√) 3.验收测试是由最终用户来实施的。(╳) 4.项目立项前测试人员不需要提交任何工件。(√) 5.单元测试能发现约80%的软件缺陷。(√) 6.代码评审是检查源代码是否达到模块设计的要求。(╳) 7.自底向上集成需要测试员编写驱动程序。(√) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(╳) 10.代码评审员一般由测试员担任。(╳) 11.我们可以人为的使得软件不存在配置问题。(╳) 12.集成测试计划在需求分析阶段末提交。(√) 二、不定项选择题(每题2 分,10分) 1.软件验收测试的合格通过准则是:(ABCD) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(AB CD) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:(AD) A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:(ABC) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(A) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化

软件测试练习题及答案

练习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

软件测试期末试题B卷及答案最终版

2008 说明:本试卷共四大题,试卷满分100分。 注意:请将所有答案填写在最后一页答题卡上。..................... 一、单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试的目的:( c ) A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 2、软件测试是采用( a )执行软件的活动。 A.测试用例 B.输入数据 C.测试环境 D.输入条件 3、导致软件缺陷的最大原因是:( a ) A.软件需求说明书 B.设计方案 C.编码 D.维护 4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d ) A、打开——修复——关闭 B、打开——关闭 C、打开——保留 D、激活——修复——重新打开 5、在下列描述中,关于测试与调试的说法错误的是( d ) A、测试是显示错误的行为;而调试是推理的过程; B、测试显示开发人员的错误。调试是开发人员为自己辩护; C、测试能预期和可控。调试需要想象、经验和思考; D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。 6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。 A.变量没有初始化B.编写的语句书写格式不规范 C.循环控制出错D.代码输入有误 7、软件缺陷修复的代价最高的阶段为( a ) A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段 8、不属于逻辑覆盖方法的是(d )。 A.组合覆盖B.判定覆盖 C.条件覆盖D.接口覆盖 9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。 A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖

最新软件测试工程师笔试题以及答案汇总

以下是收集的最新的软件测试工程师题目,希望对大家有帮助。 一、判断题 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5.单元测试能发现约80%的软件缺陷。(Y) 6.代码评审是检查源代码是否达到模块设计的要求。(N) 7.自底向上集成需要测试员编写驱动程序。(Y) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N) 10.代码评审员一般由测试员担任。(N) 11.我们可以人为的使得软件不存在配置问题。(N) 12.集成测试计划在需求分析阶段末提交。(N) 二、选择题 1.软件验收测试的合格通过准则是:(ABCD) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(ABCD) A.项目经理 B.SQA负责人 C.配置负责人 D.测试组 3.下列关于alpha测试的描述中正确的是:(AD) A.alpha测试需要用户代表参加 B.alpha测试不需要用户代表参加 C.alpha测试是系统测试的一种 D.alpha测试是验收测试的一种 4.测试设计员的职责有:(BC) A.制定测试计划

B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(ABC) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_____ A.配置项标识、配置项控制、配置状态报告、配置审计 B.配置基线确立、配置项控制、配置报告、配置审计 C.配置项标识、配置项变更、配置审计、配置跟踪 D.配置项标识、配置项控制、配置状态报告、配置跟踪 7、__B____方法根据输出对输入的依赖关系设计测试用例。 A.路径测试B.等价类 C.因果图D.边界值 8、在C++语言中,若类C中定义了一个方法int f(int a,int b),那么方法___A___不能与该方法同时存在于类C中 A.int f(int x,int y)B.int f(float a,int b) C.float f(int x,float y)D.int f(int x,float y) 9、下列关于软件验收测试的合格通过准则错误的是:__C____ A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求; B.所有测试项没有残余一级、二级和三级错误; C.立项审批表、需求分析文档、设计文档和编码实现不一致; D.验收测试工件齐全 三、填空题 1.软件验收测试包括:正式验收测试,alpha测试,beta测试。 2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦) 3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。 4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。

相关主题