当前位置:文档之家› 历年程序员测试题 (整理后)

历年程序员测试题 (整理后)

历年程序员测试题 (整理后)
历年程序员测试题 (整理后)

A组测试题:

1.从供选择的答案中选出应填入下面有关软件测试的叙述的()内的正确答案。

软件测试方法可分为黑盒测试法和白盒测试法两种。

黑盒测试法是通过分析程序的( A )来设计测试用例的方法。除了测试程序外,它还适用于对( B )阶段的软件文档进行测试。

白盒测试法是根据程序的( C )来设计测试用例的方法。除了测试程序外,它也适用于对( D )阶段的软件文档进行测试。

白盒法测试程序时常按照给定的覆盖条件选取测试用例。( E )覆盖比( F )覆盖严格,它使得每一个判定的每一条分支至少经历一次。( G )覆盖既是判定覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。( H )覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径。

单元测试一般以( I )为主,测试的依据是( J )。

供选择的答案:

A, C:①应用范围②内部逻辑③功能④输入数据

B, D:①编码②软件详细设计③软件总体设计④需求分析 E, F, G, H:①语句②判定③条件④判定/条件

⑤多重条件⑥路径

I:①白盒法②黑盒法

J:①模块功能规格说明②系统模块结构图③系统需求规格说明

2.在了解程序内部结构和流程后,通常采用_51__验证程序内部逻辑是否符合设计要求,此时可使用___52__技术设计测试案例。

51.a.黑盒测试 b。白盒测试 c。等价类划分 d.边界值分析

52.a.等价类划分 b。边界值分析 c。因果图 d。逻辑覆盖

3.进行软件测试的目的是()。

A.尽可能多地找出软件中的缺陷 B.缩短软件的开发时间

C.减少软件的维护成本 D.证明程序没有缺陷

4.选择一个适当的测试用例,用以测试下图的程序,能达到判定覆盖的是()。

试题二(15分)

阅读下列说明,回答问题1至问题3,将解答填入大体纸的对应栏内。

【说明】

使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。

Int IsLeap(int year)

{

if (year % 4 == 0)

{

if (year % 100 == 0)

{

if ( year % 400 == 0)

leap = 1;

else

leap = 0;

}

else

leap = 1;

}

else

leap = 0;

return leap;

}

【问题1】(3分)

请画出以上代码的控制流图

【问题2】(4分)

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

V(G)= 4

【问题3】(8分)

假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year 设计测试用例,使其满足基本路径覆盖的要求。

用例1:year是1000-2000之间不能被4整除的整数,如1001、1002、1003等。

用例2:year是1000-2000之间能被4整除但不能被100整除的整数,如1004、1008、1012、1016等。

用例3:year是1000-2000之间能被100整除但不能被400整除的整数,如1100、1300、1400、1500、1700、1800、1900。

用例4:year是1000-2000之间能被400整除的整数,如1200、1600、2000。

5.软件测试是保证软件质量的关键活动,实施软件测试的可行目标是()。

A.证明软件不存在错误和缺陷

B.验证程序的数据表示方式是否正确

C.找出软件中的所有错误和缺陷

D.尽量多地发现软件中的错误和缺陷

6.软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的(1)设计测试用例,白盒测试根据软件的(2)设计测试用例。

(1)A.功能规格说明B.需求说明C.内部结构和逻辑D.数据流图

(2)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.对于如下的程序流程,若采用语句覆盖法设计测试案例(使每条语句都至少执行1次),则至少需要设计()个测试案例。

A. 1

B.2

C.3

D. 4

12.

13.通常在软件开发的( )活动中无需用户参与.

A.需求分析

B.维护

C.编码

D.测试

14.软件”做什么”和”怎么做”是软件开发过程中组要解决的关键问题,其中”怎么做”是在( )阶段解决的.

A.需求分析

B.文档设计

C.软件编码

D.测试

15.ISO/IEC9126软件质量模型中第一层定义了六个质量特性,并为各质量特性定义了相应的质量子特性.其中易替换性子特性属于软件的() 质量特性.

A.可靠性

B.可移植性

C.效率

D.可维护性

16.在程序的局部数据结构测试通常在(1)阶段进行,而全局数据结构通常在(2)阶段输入X 和Y X > 0Y = Y + X Y = Y - X Y > 0X = 1

否是否是

进行.

1.A.单元测试 B.集成测试 C.确认测试 D.系统测试

2. 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.McCall软件质量模型中,()属于产品转移方面的质量特性。

A.可测试性

B.正确性

C.可移植性

D.易使用性

24.软件测试的目的是()。

A.证明软件中没有错误

B.改正软件中错误

C.发现软件中错误

D.优化程序结构

25.软件测试方法可分为静态测试和动态测试,人工测试()。

A.属于静态测试和动态测试

B.属于静态测试

C.属于动态测试

D.即不属于静态测试也不属于动态测试

26.软件系统运行时发现了系统测试阶段尚未发现的错误,改正这些错误属于()。

A.正确性

B.适应性

C.完善性

D.预防性

27.某程序在开发一功能很多的软件时,在某个操作窗中设计了大量选项。在征求用户意见时,用户提出最好降低复杂度,因此该程序员采取了一系列措施。其中,()是不妥的。

A.将常用的选项用特殊颜色标出

B.选项尽量设置默认值,使一般用户减少选择操作

C.将选项分类,分别放在不同的标签页中

D.利用“高级”按钮弹出对话框,包含那些不常用的选项。

28.程序员设计软件界面时应遵循的原则不包括()。

A.越频繁使用的功能的点击应越少

B.越多用户使用的功能在界面上就应该越突出

C.应让用户的注意力集中在解决业务问题上,而不是软件操作上

D.应站在熟练用户的角度来设计用户界面

29.阅读下列说明,回答问题1至问题3,将解答或相应的编号填入答题纸的对应栏内。【说明】

逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。

getit( int m )

{

int i, k;

k = sqrt( m );

for ( i = 2; i <= k; i++ )

if ( m% i == 0 ) break;

if ( i >= k + 1 )

printf( “%d is a selected number\n”, m );

else

printf( “%d is not a selected number\n”, m );

}

【问题1】(3分)

请找出程序中所有的逻辑判断子语句。

【问题2】(4分)

请将满足100%DC(判定覆盖)所需的逻辑条件填入下表。

编号100%DC所需的逻辑条件

1

2

3

4

【问题3】(9分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。假设函数getit 的参数m 取值范围是150 < m < 160,请使用基本路径测试法设计测试用例,将参数m的取值填入下表,使之满足基本路径覆盖要求。

用例编号m取值

1

2

B组测试题:

1. CMM对软件测试没有提供单独的关键过程领域(KPA),所以许多研究机构和测试服务机构从不同角度出发提出有关软件测试方面的能力成熟度模型,其中软件测试成熟度模型(TMM)是当前影响力最大的软件测试过程模型。TMM 制定了五个成熟度等级,它们依次是:初始级,阶段定义级,集成级,管理和度量级,()。

A.优化、缺陷预防和可重复级 B.优化、缺陷预防和质量控制级

C.缺陷预防和质量控制级 D.优化和质量控制级

2.软件测试的目的是()。

A.试验性运行软件 B.找出软件中全部错误

C.证明软件正确 D.发现软件错误

3.黑盒测试法是根据产品的()来设计测试用例的。

A.功能 B.输入数据 C.应用范围 D.内部逻辑

4. 软件测试信息流的输入包括()。

①软件配置(包括软件开发文档、目标执行程序、数据结构)

②开发工具(开发环境、数据库、中间件等)

③测试配置(包括测试计划、测试用例、测试驱动程序等)

④测试工具(为提高软件测试效率,使用测试工具为测试工作服务)

A.①②③④ B.①②④ C.①③④ D.②③④

5. V 模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试阶段对应的开发阶段是()。

A.需求分析阶段 B.概要设计阶段

C.详细设计阶段 D.编码阶段

6. 下面关于软件测试模型的描述中,不正确的包括()。

①V 模型的软件测试策略既包括低层测试又包括了高层测试,高层测试是为了源代码的正确性,低层测试是为了使整个系统满足用户的需求

②V 模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段

③W 模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试

④H 模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行

⑤H 模型中测试准备和测试实施紧密结合,有利于资源调配

A.①⑤ B.②④ C.③④ D.②③

7.白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和

动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有( )。A.代码检查法 B.逻辑覆盖法

C.基本路径测试法 D.结构覆盖法

8.不是正确的软件测试目的。

A.尽最大的可能找出最多的错误

B.设计一个好的测试用例对用户需求的覆盖度达到100%

C.对软件质量进行度量和评估,以提高软件的质量

D.发现开发所采用的软件过程的缺陷,进行软件过程改进

9.设计功能测试用例的根本依据是()。

A.用户需求规格说明书 B.用户手册

C.被测产品的用户界面 D.概要设计说明书

10关于软件测试与软件开发的认识,不正确的是()。

A.软件生命周期各个阶段都可能产生错误

B.软件测试是独立于软件开发的一个工作

C.软件开发的需求分析和设计阶段就应开始测试工作

D.测试越早进行,越有助于提高被测软件的质量

11.软件测试原则中指出“完全测试是不可能的”,主要原因是()。A.输入量太大、输出结果太多以及路径组合太多

B.自动化测试技术不够完善

C.测试的时间和人员有限

D.仅仅靠黑盒测试不能达到完全测试

12.产品的功能性测试的内容不包括()。

A.适合性 B.易用性 C.正确性 D.互操作性

13. 以下关于设计功能测试用例的叙述,()是不正确的。

A.尽量用80%测试用例覆盖20%的核心业务模块

B.功能测试用例中不包括功能的依从性测试用例

C.功能测试用例中包括业务流,也包括测试数据

D.功能测试用例的设计应注意缺陷群集现象

14.以下不属于软件测试对象的有()项。

①需求规格说明书②软件的程序模块

③概要设计说明书与详细设计说明书④软件的用户手册

A.2 B.3 C.4 D.0

15.以下关于不同类型软件测试的叙述,正确的是()。

A.单元测试不是模块测试

B.多个模块不能平行地独立进行测试,应该顺序执行

C.系统测试是检验程序单元或部件之间的接口关系

D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求

16. 以下关于白盒测试和黑盒测试的理解,正确是()。

A.白盒测试通过对程序内部结构的分析、检测来寻找问题

B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态

C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法

D.在软件生命周期各个阶段都需要用白盒测试方法

17 V 模型是具有代表意义的测试模型,以下理解正确的是()。

A.V模型认为测试阶段是与开发阶段并行的

B.V 模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关

C.V 模型造成需求分析阶段隐藏的问题一直到后期的验收测试才被发现

D.V 模型是对W 模型的改进

18.计算以下控制流程图的环路复杂性V(G),正确答案是()。

A.V(G)=2 B.V(G)=4 C.V(G)=9 D.V(G)=11

19. 假设在程序控制流图中,有14 条边,10 个节点,则控制流程图的环路复杂性V(G)等于是()。

A.12 B.8 C.6 D.4

20.针对以下C 语言程序段,假设sta[10]= -1,对于x 的取值,需要()个测试用例能够满足分支覆盖的要求。

int MathMine( int x )

{

int m = 0;

int i;

for( i = x-1; i <= x + 1; i++ )

{if ( i < 0 ) continue;

if ( i >31 ) break;

if ( sta[i] == -1 ) m++;

}

return m;

}

A.3 B.4 C.5 D.6

21. 软件测试使用各种术语描述软件出现的问题,以下叙述正确的是()。

A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错

误,其结果是导致软件故障的产生

B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希

望或不可接受的偏差

C.软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外

部状态

D.软件失效(failure)是指软件运行时产生的一种不希望或不可接受的内部

行为结果

22. 网络测试不能解决的问题是()。

A.连通性 B.丢包 C.全表扫描 D.延迟

23. 关于bug 管理流程,()是正确的做法。

A.开发人员提交新的bug 入库,设置状态为“New”

B.开发人员确认是bug,设置状态为“Fixed”

C.测试人员确认问题解决了,设置状态为“Closed”

D.测试人员确认不是bug,设置状态为“Reopen”

24.是当前自动化测试技术不能解决的问题。

A.保证测试质量 B.提高测试效率

C.排除手工操作错误 D.降低测试用例设计的难度

25.阅读下列说明,回答问题1 至问题2,将解答填入答题纸的对应栏内。

[说明]

场景法是黑盒测试中重要的测试用例设计方法。目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。场景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例遍历软件系统功能,验证其正确性。

图 1 描述了简化的中心层、省市层、地区层三级的“公文流转”业务流程,表1 描述了省市层(图1 阴影部分)业务的基本流和备选流。

公文的状态包括:已下发、未下发、已接收、未接收。

【问题1】(5分)

用表 1 中表述的基本流和备选流,使用场景法设计测试场景。基本流和备选流用

表 1 中对应的字母编号表示。

【问题2】(10分)

下表给出了测试用例名称,请将表中的输入条件和预期输出补充完整。

编号用例名称输入条件预期输出

1 省市层接收公文

2 省市层新建并保存公文

3 省市层新建并下发公文

4 省市层修改公文

5 省市层删除公文

26.阅读下列说明,回答问题1 至问题4,将解答填入答题纸的对应栏内。

【说明】

某软件公司在研发一个城镇居民保险系统时,为了加快进度,测试工作在系统开发初步完成之后开始并直接进行系统测试。测试工程师针对界面进行了功能测试。测试工程师和开发工程师借助缺陷管理工具,交互进行测试与缺陷修复工作。测试期间发现系统的“文档审批”功能出现严重缺陷,开发工程师认为修改难度大,经测试工程师认可后决定暂停修复该缺陷,直到产品发布前,该缺陷在开发环境下被修复。随后,测试工程师在开发环境下针对该缺陷执行了有关的用例,进行了回归测试。回归测试结束后,开发工程师在开发环境下对产品直接打包发布。

【问题1】(3分)

测试开展的时间是过早、过晚还是合适?说明理由。

【问题2】(2分)

测试工程师功能测试的方法是否正确?若不正确,请陈述正确的方法;若正确,请说明理由。

【问题3】(6分)

该案例中对缺陷的管理有哪些不妥之处?

【问题4】(3分)

开发工程师产品发布的做法是否正确?

27.以下关于软件测试的叙述中,正确的是()。

A. 软件测试不仅能表明软件中存在错误,也能说明软件中不存在错误

B. 软件测试活动应从编码阶段开始

C. 一个成功的测试能发现至今未发现的错误

D. 在一个被测程序段中,若已发现的错误越多,则残存的错误数越少

28 不属于黑盒测试技术的是()。

A. 错误猜测

B. 逻辑覆盖

C. 边界值分析

D. 等价类划分

29.软件的__1___是指软件从一种计算机系统转换到另一种计算机系统运行的难易程度。在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率称为

___2___。

1.A. 兼容性 B. 可移植性 C. 可转换性 D. 可扩展

2.A、可扩展性B、可接近性C、可靠性D、稳定性

相关主题
文本预览
相关文档 最新文档