您的当前位置:首页软件测试面试题及答案

软件测试面试题及答案

2023-07-30 来源:小侦探旅游网
软件开发——软件测试

1、测试的关键问题是()

A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例

2、下面不属于软件测试步骤的是

A.集成测试 B.回归测试 C.确认测试 D.单元测试

3、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。 A.T B.F

4、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。

A.T B.F

5、软件测试类型按开发阶段划分是?

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

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

6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是() A.全部选项

B.程序可能因为缺某些路径而存在问题

C.穷举路径的测试可能不好暴露数据敏感的错误

D.就算穷举路径测试也不能保证程序符合需求

7、下面哪些属于网游的测试内容? A.客户端性能 B.服务器端性能

C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 D.界面

8、下述有关负载测试,容量测试和强度测试的描述正确的有? A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。

B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。

D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

9、集成测试的过程包括有以下哪些?

A.构建的确认过程 B.系统集成测试测试组提交过程 C.测试用例设计过程 D.Bug的报告过程

10、下面关于软件测试,描述正确的是?

A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。

B.软件测试的测试目标是发现一些可以通过测试避免的开发风险。 C.软件测试的原则之一是测试应该尽早进行,最好在需求阶段就开始介入 D.软件测试主要工作内容是验证(verification)和确认(validation)

11、验收测试是由最终用户来实施的。请判断这句话的正确与否。 A.T B.F

12、下面属于黑盒测试方法的是

A.语句覆盖 B.逻辑覆盖 C.边界值分析 D.路径覆盖

13、项目立项前测试人员不需要提交任何工件。请判断这句话的正确与否。 A.T B.F

14、下面属于白盒测试方法的是

A.等价划分方法 B.逻辑覆盖 C.边界值分析 D.错误推测法

15、负载测试是验证要检验的系统的能力最高能达到什么程度。请判断这句话的正确与否。

A.T B.F

16、既可以用于黑盒测试,也可以用于白盒测试的方法的是()

A.逻辑覆盖法 B.边界值法 C.基本路径法 D.正交试验设计法

17、判断对错。系统测试计划属于项目阶段性关键文档,因此需要同行评审。 A.T B.F

18、单元测试能发现约80%的软件缺陷。请判断这句话的正确与否。 A.T B.F

19、软件测试的目的是尽可能多的找出软件的缺陷。请判断这句话的正确与否。 A.T B.F

20、软件测试的对象包括( )

A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档

C.目标程序、操作系统和平台软件 D.源程序和目标程序

21、代码评审员一般由测试员担任。请判断这句话的正确与否。 A.T B.F

22、alpha测试与beta的区别,描述错误的是?

A.alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。

B.Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。

C.beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。 D.beta测试先于alpha测试执行

23、关于测试驱动开发,描述错误的是 A.测试驱动开发式是一种敏捷开发方法 B.TDD需求开发人员学习测试相关知识 C.测试驱动开发不适合使用CMM/CMMI方法 D.测试驱动开发可以和结对编程结合使用

24、下面有关白盒测试和黑盒测试说法错误的有?

A.白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试。

B.黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用

C.黑盒测试,也称作黑盒分析,是基于对程序内部细节有限认知上的软件调试方法

D.黑盒测试与白盒测试相比,更需要关心模块与模块之间的交互

25、下图用基本路径法测试需要覆盖几条路径?( )

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

26、在下面说列举的逻辑测试覆盖中,测试覆盖最强的是?

A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.判定/条件覆盖

27、计算一个任意三角形的面积,S=√(p(p-a)(p-b)(p-c)),p=(a+b+c)/2,以下等价类测试用例中,不属于无效等价类的是() A.a=5,b=3,c=6; B.a=2,b=3,c=5; C.a=7,b=3,c=3; D.a=2,b=6,c=3;

28、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的

A.条件覆盖 B.判定/条件覆盖 C.组合覆盖 D.判定覆盖

29、系统测试的策略有哪些?

A.负载测试 B.易用性测试 C.强度测试 D.安全测试

30、下面描述测试工具的功能正确的有?

A.JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制 B.Junit: 白盒测试工具:针对代码测试 C.LoadRunner:负载压力测试 D.TestLink: 用例管理工具

31、设计系统测试计划需要参考的项目文挡有哪些?

A.软件测试计划 B.可行性研究报告 C.软件需求规范 D.迭代计划

32、软件验收测试包括哪些?

A.正式验收测试 B.白盒测试 C.alpha测试 D.beta测试

33、下面哪些测试属于黑盒测试方法()

A.路径测试 B.等价类划分 C.边界值分析 D.条件判断 E.循环测试 F.因果图分析 G.正交分析法

34、测试设计员的职责有哪些?

A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本D.评估测试活动

35、软件验收测试的合格通过准则是:

A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。

36、有关\"测试驱动开发\",下列说法正确的有?

A.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码

B.TDD的基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。 C.TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。 D.TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

37、下面属于白盒测试方法的有哪些?

A.语句覆盖 B.等价类划分 C.边界值分析 D.判定条件覆盖

38、测试方法可以分成哪几种?

A.个人复查 B.抽查和会审 C.黑盒测试 D.白盒测试

39、对于软件的β测试,下列描述正确的是( )。

A.β测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试 B.β测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试

C.β测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试

D.β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试

40、Beta 测试是验收测试的一种。请判断这句话的正确与否。 A.T B.F

41、集成测试计划在需求分析阶段末提交。请判断这句话的正确与否。 A.T B.F

42、对手机软件的压力测试通常可以包括【多选】( )

A.存储压力 B.响应能力压力 C.网络流量压力 D.并发压力

43、下列关于alpha 测试的描述中正确的是哪些?

A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种

44、做好文档测试需要注意的点有哪些?

A.仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例 B.检查文档的编写是否满足文档编写的目的 C.内容是否齐全,正确,完善 D.标记是否正确

45、软件测试计划评审会需要哪些人员参加?

A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组

软件测试 答案

1、D(测试用例是测试程序正确性与否的关键。一个覆盖完全的测试用例可以测试出程序是否正确运行,是否有bug等等,是最重要的)

2、B(测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。

• 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

• 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

• 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

• 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。它不是软件测试的步骤)

3、A(自底向上测试是从“原子”模块(即软件结构最低层的模块)开始组装测试,

因测试到较高层模块时,所需的下层模块功能均已具备,所以不再需要桩模块。

自底向上集成方法不用桩模块,测试用例的设计亦相对简单,但缺点是程序最后一个模块加入时才具有整体形象,需要开发驱动模块。) 4、B(缺陷分两种:

1、完全影响软件的正常运行或者影响客户的正常体验。 这种当然不能予以通过。

2、不影响产品运行及客户正常体验且此软件急于使用。 以公司利益为出发,应予以通过。但在时间不紧急的情况下应不予通过。 一个好的测试人员应该有很好的情况分析能力,并且要有担当) 5、B 6、A

7、ABCD( a) 性能:i. 客户端性能 ii.服务器端性能1. 服务器2. 数据库 iii.网络

b) 功能i. 从运行完 game.exe 打开游戏界面后可进行的各种操作、玩

ii. 界面iii. 音乐

c) 自动化 i. 测试工作组织实施中需要的工具、软件、平台的开发 ii.自动化的回归测试作用:游戏中基础的、变动不大的、出错率高的、可进行 checklist 重复测试的功能、性能等自动化是一个好方法 iii. 任何时候自动化都取代不了人脑,它只是将一些重复性的劳动从我们测试人员身上去掉,让我们有更多的时间做更有意义的事情,如果你觉得你做一件事情是重复的,且有规律可行的,不防考虑自动化)

8、ABCD

9、ABCD(系统集成测试主要包括以下过程:1. 构建的确认过程。 2. 补丁的确认过程。 3. 系统集成测试测试组提交过程。 4. 测试用例设计过程。 5. 测试代码编写过程。 6. Bug的报告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 9. 组内培训过程) 10、ABCD

11、B(验收测试是指在软件正式发布之前,做最后的确认测试。参与人员主要有用户,开发人员,和质量保证人员)

12、A(具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等) 13、A(工件是加工过程中的生产对象。项目立项前,测试人员是不需要提供任何工件的) 14、B(白盒子测试方法:(强度由低到高)语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)

15、B(负载测试时测试在超负载情况下的情况,不是最高能达到什么程度) 16、B

17、A(系统测试计划属于项目阶段性关键文档,因此需要评审)

18、A(因为缺陷放大理论,在单元测试阶段发现的bug会在系统测试阶段被放大,放大倍数完全符合80/20理论) 19、A

20、B

21、B(代码评审的内容:

编码规范问题:命名不规范、magic number、 System.out…… 代码结构问题:重复代码、巨大的方法和类、分层不当、紧耦合 工具、框架使用不当:Spring、Hibernate、AJAX

实现问题:错误验证、异常处理、事务划分、线程、性能、安全、实现过于复杂、代码可读性不佳、扩展性不好

测试问题:测试覆盖度不够、可测试性不好

代码评审不负责检查功能、逻辑是否正确,这些要靠单元测试和QA工作来解决) 22、D

23、C(CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。此外还是化妆品的名字。

CMMI(Capability Maturity Model Integration,能力成熟度模型集成)将各种能力成熟度模型(即:Software CMM、Systems Eng-CMM、People CMM和Acquisition CMM)整合到同一架构中去,由此建立起包括软件工程、系统工程和软件采购等在内的诸模型的集成,以解决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。这两种方法属于测试驱动开发的方式) 24、C

25、B( 1)(iRecordNum-->0) False --->只有1条路径

2)(iRecordNum-->0) True --->共有3条路径

2.1)0==iType --->1条 2.2)1==iType --->1条 2.3)其他的状况 --->1条)

26、B 27、A 28、A

29、ABCD(系统测试的16个测试策略:功能测试、性能测试、压力测试、容量测试、安全性测试、GUI测试、可用性测试、安装测试、配置测试、异常测试,备份测试、健壮性测试、文档测试、在线帮助测试、网络测试、稳定性测试。)

30、ABCD(LoadRunner-负载压力测试:预测系统性能。

JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制

功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。

Junit:白盒测试工具:针对代码测试

测试管理工具:对测试需求、计划、用例、实施进行管理

测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备 负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。 功能测试: QTP(quicktest professional):自动测试工具

白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试) 缺陷管理工具:Mantis、BugFree、QC、TD 用例管理工具:TestLink、QC 测试辅助工具:SVN)

31、ACD(可行性是软件开发前做好,用于证明该计划可行的,没有必要参考) 32、ACD(软件验收测试分为三类:

正式验收测试;

非正式验收测试其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试)

β测试(内测后的公测,即完全交给最终用户测试。))

33、BCFG

34、BC(制定测试计划应是测试经理来做的,评估测试活动测试经理组织召集开发和测试的相关人员来做) 35、ABCD 36、ABCD 37、ACD

38、ABCD(人工测试:个人复查、抽查和会审 机器测试:黑盒测试和白盒测试) 39、D 40、A 41、B

42、ABC(针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等.

对手机可以施加的压力测试类型主要有:存储压力、边界压力、 响应能力压力、网络流量压力 ) 43、AD 44、ABCD 45、ABCD

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