求职指南网 > 笔试试题 >

软件测试笔试题及答案

时间: 淑娟 笔试试题

软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。今天小编整理了软件测试笔试题及答案供大家参考,一起来看看吧!

软件测试笔试题及答案

软件测试笔试题及答案

一、选择题

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、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。( √ )

6、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )

7、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)

8、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)

9、软件就是程序。(X)

10、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)

三、问答题

1、在您以往的工作中,一条软件缺陷(或者叫BUG)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?

答:一条BUG记录最基本应包含:编号、BU所属模块、BUG描述、BUG级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现bUG需要参加需求以及详细的设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布,这样才能提高提交BUG的质量。

2、测试分为哪几个阶段?

答:按照开发阶段划分,软件测试可分为单元测试、集成测试、系统测试和验收测试

集成测试:针对每个单元的测试,以确保每个模块能正常工作为目标

集成测试:对已经测试过的模块进行组装,进行集成测试。目的就是在于检验与软件设计相关的程序结构问题。

系统测试:检验软件产品能够与系统的其他部分(比如:硬件、数据库及操作人员)协调工作。

验收测试:检验软件产品质量的最后一道工序,主要突出用户的作用,同时软件开发人员也有一定程度的参与。

3、了解哪些测试工具?你使用过和知道的测试工具有哪些?各有什么用途?

答:Jmeter:接口测试、压力测试

soapui:接口测试

xshell、xftp:管理linux系统

禅道:管理BUG

navictt:管理数据库

4、先有一个程序,页面提供3个输入框a、b、c,一个输出框d,根据a、b、c的输入判断数据层是否只能组成一个三角形(三角形两边之和大于第三边),在d中输出:是,否

答:等价类划分法:

有效等价类:a、b、c的值都大于0

a+b>c且b+c>a且a+c>b

无效等价类:

a/b/c为0或负数

a/b/c为空

a/b/c为非数字

a+b<=c b+c<=a a+b<=b

5、你认为一个测试工程师应具备哪些素质和技能

答:技能:计算机专业技能,测试专业技能,软件编程技能

素质:沟通能力,要有严谨、敢于承担责任、稳重的做事风格,具有怀疑与破坏的精神,善于自我总结、自我督促。

6、问题单都有哪些属性?

答:我所知道的有:产品模块、所属项目、所属版本、bug标题、步骤及测试数据、bug及日志截图、类型及严重程度、系统/浏览器

7、一个完整的测试方案包含哪些要素?

答:测试计划、人员分配、时间安排、测试方法的确定、测试工具的确定、测试报告

8、查看接口的工具有哪些?说出一个工具的操作

答:jmeter与soapui都支持

jmeter的用法:新建一个线程组,添加http类型的请求→填上接口地址和数据→添加查看结果树→进行运行→查看结果、进行分析

9、如何定位BUG,是前端还是后端的问题,用什么工具,还是利用别的?

答:如果是功能性的问题,那么就是后端问题,如果是界面的效果或者是按钮问题,那么也许是前端问题,分析问题,有的时候需要开发的协作,大师这些也是经验的问题,多工作就可以总结出来。

软件测试面试题及答案

1、软件测试的策略是什么?

软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。

2、软件测试分为几个阶段?各阶段的测试策略和要求是什么?

和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。

单元测试测试策略:

自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。

自底向上的单元测试策略:比较合理的单元测试策略,但测试周期较长。

孤立单元测试策略:最好的单元测试策略。

集成测试的测试策略:

大爆炸集成:适应于一个维护型项目或被测试系统较小

自顶向下集成:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

自底向上集成:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

基于进度的集成 优点:具有较高的并行度;能够有效缩短项目的开发进度。 缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。

系统测试的测试策略:

数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试

3、软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?

单元测试阶段:各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。

集成测试阶段:集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。

系统测试阶段:将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。

4、测试人员在软件开发过程中的任务是什么?

(1)尽可能早的找出系统中的Bug;

(2)避免软件开发过程中缺陷的出现;

(3)衡量软件的品质,保证系统的质量;

(4)关注用户的需求,并保证系统符合用户需求。总的目标是:确保软件的质量。

5、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

一条Bug记录最基本应包含:

bug编号;bug严重级别,优先级;bug产生的模块;首先要有bug摘要,阐述bug大体的内容;bug对应的版本;bug详细现象描述,包括一些截图、录像....等等;bug出现时的测试环境,产生的条件即对应操作步骤;高质量的Bug记录:

1)通用UI要统一、准确缺陷报告的UI要与测试的软件UI保持一致,便于查找定位。

2)尽量使用业界惯用的表达术语和表达方法使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。

3)每条缺陷报告只包括一个缺陷每条缺陷报告只包括一个缺陷,可以使缺陷修正者迅速定位一个缺陷,集中精力每次只修正一个缺陷。校验者每次只校验一个缺陷是否已经正确修正。

4)不可重现的缺陷也要报告首先缺陷报告必须展示重现缺陷的能力。不可重现的缺陷要尽力重现,若尽力之后仍不能重现,仍然要报告此缺陷,但在报告中要注明无法再现,缺陷出现的频率。

5)明确指明缺陷类型根据缺陷的现象,总结判断缺陷的类型。例如,即功能缺陷、界面缺陷、数据缺陷,合理化建议这是最常见的缺陷或缺陷类型,其他形式的缺陷或缺陷也从属于其中某种形式。

6)明确指明缺陷严重等级和优先等级时刻明确严重等级和优先等级之间的差别。高严重问题可能不值得解决,小装饰性问题可能被当作高优先级。

7)描述(Description),简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置描述要准确反映缺陷的本质内容,简短明了。为了便于在软件缺陷管理数据库中寻找制定的测试缺陷,包含缺陷发生时的用户界面(UI)是个良好的习惯。例如记录对话框的标题、菜单、按钮等控件的名称。

8)短行之间使用自动数字序号,使用相同的字体、字号、行间距短行之间使用自动数字序号,使用相同的字体、字号、行间距,可以保证各条记录格式一致,做到规范专业。

9)每一个步骤尽量只记录一个操作保证简洁、条理井然,容易重复操作步骤。

10)确认步骤完整,准确,简短保证快速准确的重复缺陷,“完整”即没有缺漏,“准确”即步骤正确,“简短”即没有多余的步骤。

11)根据缺陷,可选择是否进行图象捕捉为了直观的观察缺陷或缺陷现象,通常需要附加缺陷或缺陷出现的界面,以图片的形式作为附件附着在记录的“附件”部分。为了节省空间,又能真实反映缺陷或缺陷本质,可以捕捉缺陷或缺陷产生时的全屏幕,活动窗口和局部区域。为了迅速定位、修正缺陷或缺陷位置,通常要求附加中文对照图。 附加必要的特殊文档和个人建议和注解如果打开某个特殊的文档而产生的缺陷或缺陷,则必须附加该文档,从而可以迅速再现缺陷或缺陷。有时,为了使缺陷或缺陷修正者进一步明确缺陷或缺陷的表现,可以附加个人的修改建议或注解。

12)检查拼写和语法缺陷在提交每条缺陷或缺陷之前,检查拼写和语法,确保内容正确,正确的描述缺陷。

13)尽量使用短语和短句,避免复杂句型句式软件缺陷管理数据库的目的是便于定位缺陷,因此,要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。以上概括了报告测试缺陷的规范要求,随着软件的测试要求不同,测试者经过长期测试,积累了相应的测试经验,将会逐渐养成良好的专业习惯,不断补充新的规范书写要求。此外,经常阅读、学习其他测试工程师的测试缺陷报告,结合自己以前的测试缺陷报告进行对比和思考,可以不断提高技巧。

14)缺陷描述内容缺陷描述的内容可以包含缺陷操作步骤,实际结果和期望结果。操作步骤可以方便开发人员再现缺陷进行修正,有些开发的再现缺陷能力很差,虽然他明白你所指的缺陷,但就是无法再现特别是对系统不熟悉的新加入开发人员,介绍步骤可以方便他们再现。实际结果可以让开发明白错误是什么,期望结果可以让开发了解正确的结果应该是如何。

6、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。

黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。

白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐 藏的问题。

白盒测试的缺点有:程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。

7、如何测试一个纸杯?

功能度:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透。

软件测试工程师的工作内容

软件测试工程师的工作内容当然主要就是进行软件以及系统的测试了,那么具体的测试工作则分为以下几个部分:

一、需求评审

在整个团队拿到需求之后的第一件事是进行需求分析,看看要这个软件要实现哪些需求。需求分析的后一步就是需求评审了,这个环节需要软件测试工程师与产品需求人员、开发人员、QA人员共同进行参与,评审这些需求能不能够实现。

二、写测试计划

接下来在开发人员编写开发计划的同时,测试人员要写测试计划,就是哪些人要在什么时间做哪些测试工作,最后产出什么工作结果也就是提交哪些文档。

三、编写测试用例

测试用例就是指导测试工作进行的文档,比如要测试系统的登录功能、购买功能等,会通过测试方法和策略来设计测试用例。所以编写测试用例是软件测试工程师进行测试之外最重要的工作了。

四、用例评审

用例评审就是评价和审查测试方法和测试内容是否合理全面。不能只做基础的测试工作就可以,还得全面进行可能会出现各种各样错误的测试,尽可能把bug降到最低。

五、执行测试、提交bug

执行测试自然不必多说,就是测试工程师真刀真枪地进行测试工作,找出了bug之后会进行提交,让软件开发人员进行修改。

六、回归测试、编写测试总结报告

回归测试就是对开发人员改好bug的软件再次进行测试,看bug是否都已经修改好。待bug都修改好之后,测试人员要编写测试总结报告,阐述软件的质量如何,软件才可以上线发布。

27417