admin 管理员组文章数量: 887018
2024年3月1日发(作者:unicode格式粘贴不能用)
软件测试工程师面试题目以及答案
软件测试工程师面试题目和答案
1、开发犯低级错误怎么办?
开发首先要规范好编码,出低级错时不要指责,内心指出错误。让他们自己进行测试,反思找出错误。
2、你进行过哪些测试,擅长什么?
我主要从事web测试,搭建环境,对程序进行集成测试、系统测试、回归测试。还有编写测试用例,使用手册,功能测试文档。单元测试:测试的最早期阶段,焦点在于被测软件的最小的组成部分。
集成测试:确保最小单元被(部分)整合后能正常操作的测试执行阶段
系统测试:当应用作为整体运行时的测试执行阶段(测试最终的应用)
回归测试:修改了旧代码后,重新进行测试以确认修改操作没有引入新的错误或导致其他代码产生错误。
验收测试:以用户为主,由用户参加设计测试用例,对程序的功能、性能,以及可移植性、兼容性、可维护性、错误的恢复功能等进行确认。主要运用黑盒测试的方法,对系统主要流程、重要功能进行有效性测试,验证所测试的软件是否满足需求规格说明书列出的要求
3、开发说不是bug怎么办?
将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。
4、你的职业规划?
巩固基础测试知识,提高理解需求能力。学习自动化测试,并且运用。技术到位后学习带领测试团队。最后争取达到测试经理水平。
5、什么测试用例才是合格?
能覆盖到所有测试点
6、缺陷测试报告组成?
缺陷编号、缺陷标题、缺陷描述、缺陷优先程度、缺陷所属模块、缺陷所属版本、缺陷所属开发人员、 输入数据、输出结果、缺陷分析等。
C/S模式,使用交替方法确认是client还是server端问题。
7、测试用例包括哪些?
用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、测试人、测试时间、备注
8、软件评审的人员和目的
人员:客户、项目经理、开发人员、测试人员目的:查看软件是否还存在问题。是否在不同平台正常运行,是否有和客户理解不一致的地方,是否有改进的地方
9、什么是软件测试?目的?
使用人工或自动化手段运行程序,为了发现软件的错误而执行检验的一个过程目的:以最少的人力、物力、时间找到软件中的缺陷并修改,从而回避风险。
10、兼容测试
检查软件在不同软件、硬件平台是否可以正常运行。即软件的可移植性。主要查看在不同操作系统、浏览器、数据库、不同版本是否正常运行
11、为什么进行软件测试?
没经过测试的软件无法保证质量,好比iso质量认证一样。测试中发现问题,即时提交开发改进,在软件发布时保证软件质量。
12、软件测试类型有哪些?区别与联系?
常见:功能测试、性能测试、界面测试。
功能测试:占比最大,也叫黑盒测试(不看代码)。进行动态测试时,需要测试软件功能,不需要测试软件内部结构和处理过程。
技术方法有:等价类划分法、边界值分析、错误推测、因果图和综合策略。
性能测试:通过自动化测试工具模拟多种正常、异常、峰值条件,对系统各项性能指标测试。
负载测试、压力测试属于此。负载测试:确定各项工作负载下的系统性能,目标是负载主键增加时,系统各项性能指标变化;压力测试:通过系统的瓶颈,获得系统能提供的最大服务级别。
界面测试:界面好坏决定用户对软件第一印象。合理的界面带来轻松愉悦感受,失败界面有挫败感,让强大的功能付诸东流。
区别:功能测试关注软件功能,每个功能可能存在的问题。性能测试软件多用户并发的稳定性和强壮性。界面测试关注用户体验和易用性。
13、好的测试用例关键?
白盒测试:较少的用例覆盖尽可能多的内部程序逻辑结果。
黑盒测试:较少的用例覆盖模块输出和输入接口。用最少用例在合理时间内发现最多的问题。
对可行和不可行的都要考虑:(1)输入 (2)详细操作步骤
(3)预期输出 (4)实际输出
14、黑盒、白盒、单元、集成、系统、验收测试的区别与联系?
黑盒:已知功能设计规格,测试每个功能是否符合要求。白盒:已知内部工作过程,测试每种内部操作符合设计规格。黑盒意味着测试在软件的接口处进行,把测试对象看做一个黑盒子,不考虑程序内部逻辑结构和内部特性,仅看需求说明书检查功能是否符合需求。黑盒-》功能测试(或者 数据驱动测试)
15、软件开发过程与角色分工?
测试配合开发等进行需求分析和讨论,根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。测试负责新产品测试,原有产品的升级测试,负责软件问题解决过程跟踪,软件开发文档、开发工作的规范化,管理开发部门的产品
文档,制作用户手册、操作手册,产品上限测试,监督软件开发过程执行,提高软件质量。
16、软件开发过程与角色分工?
开发与测试开会讨论需求。需求分析人员写出需求分析说明,三部门讨论可行性。给出详细设计说明书,开发编码,给出系统流程图。测试根据此,给出bug统计。
17、不同测试类型的联系与区别?
功能、性能、可靠性、安全性、负载测试,压力、安装/卸载、启动/停止、兼容、互联测试,文档、回归、可使用性、容量测试
18、测试计划工作包括?
是对工作内容的有效组织和规划,保证测试工作有效展开。包括测试目标,测试范围定义,测试方法选择,测试进度里程碑,测试资源管理和配置。测试目标最重要,因为他是软件测试的最终达到结果
19、性能测试工具,原理、实际应用LoadRunner
能够录制测试的操作步骤,对其模拟出多个用户播放出来。
(1)visural user genertor:创建脚本,选择协议,录制操作,编辑操作
(2)中央控制器 controller:调度虚拟用户。创建场景,选择脚本,建立虚拟用户,设计shedual,设置ip spoofer
(3)运行脚本,分析shedual
(4)分析测试结果
20、兼容性
平台兼容、网络兼容、数据库兼容、数据格式兼容。
缺陷等级分类
(1) 最高级--导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等
(2) 紧急---事件非常重要,并且需要马上给予关注
(3) 高级---事件是重要的,并且应该在紧急的事件处理之后尽快得到解决
(4) 中级---事件是重要的,但是由于解决问题需要花费一定的时间,所以可以用较长的时间解决
(5) 低级---事件不重要,可以在时间和资源允许的情况下再解决
21、缺陷生命周期
新建bug–提交bug–确认bug–分配bug–修复bug–验证bug–关闭bug
22、测试结束标准
1)一二级缺陷数目达到项目质量管理目标要求,测试暂停返回开发
2)项目出现重大估算和进度偏差,需要暂停或者终止
3)新需求变更大,需修改测试计划和测试用例再进行
4)开发暂停,测试也暂停,备份暂停时的数据
5)所有功能、性能测试用例100%进行
23、测试生命周期
需求测试计划制定和评审–测试用例编写–测试用例执行–bug管理–测试报告输出
24、自我介绍
套路
1)很高兴获得面试机会……想证明我是合适的人选……想获得您的认可……
2)反问面试官:您看我继续介绍项目还是您提问关心的问题?
25、项目介绍
先整体再局部介绍,项目五大维度:
规模(代码规模、需求规模、用例规模、工作量、进度、质量、成本),测试流程,角色与职责,项目中自己角色,自己的特色(做得好的、遇到的困难、做得差的),最后是心得体会。
26、数据库问题
数据库增删改查(insert、delete、update、select);
表结构增删改查(create、drop、alter、describe);
存储过程;触发器等
27、Linux系统
常见50个命令(find、-name、type、perm、user、group、ctime、atime)
熟悉vi、熟悉linux搭建测试环境。LAMP环境搭建。
28、缺陷相关
缺陷跟踪流程(流程基本要素)、整体流程(会话)、缺陷单的20个属性、属性的意义、如何描述好缺陷单、缺陷单的5C原则、缺陷重现步骤。你认为最经典的bug
29、用例相关
用例格式要素、用例设计工程方法论、方法要求如何利用。如何评审用例,从那些维度评审,设计好用例需要那些只是结构
30、软件测试流程
熟悉产品/项目–需求评审–测试需求–测试计划–测试方案–测试用例–预测试,第一轮正式测试–第二轮回归测试–第三轮测试,测试报告–总结–测试指南
31、网络相关
基本网络知识(重点TCP/IP协议)网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构,提供了点对点的链接机制,将数据应该如何封装、定址、传输、路由以及在目的地如何接收,都加以标准化。
1、应用层:应用程序之间相互沟通的层
2、传输层:提供了数据传输,应用程序之间的通信服务
3、网络互联层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机
4、网络接口层:接收数据,并进行传输
32、测试工具
性能测试工具:LoadRunner,Jmeter
自动化测试工具:Selenium
测试管理工具:禅道或者Jira
如何去测试指定软件?
技巧:从质量模型、测试工具、测试方法、测试流程、探索式测试,宏观解决,再微观讲解用例设计
33、你还有什么想要问的吗?
满意情况:先表示感谢,问如果有下一轮面试,什么时候,做什么准备;
一般般情况:感谢,对自己表现不太满意,能否给我一些建议;
很糟糕:感谢,认识到不足,希望给建议
34、测试用例编写结构
功能性、界面UI、易用性、安全性、兼容性
35、STAR法则
S(situation):项目属于什么类型,周期多长
T(task):团队分工,你的角色
A(action):具体实施,自己做了什么
R(result):最后成果,你的收获
36、如何测试纸杯
功能性:是否漏水;是否喝到水
安全性:有没有细菌可靠性:摔下来的损坏程度
可移植性:不同地方、温湿度使用
兼容性:容纳果汁、啤酒、汽水、汽油等
易用性:是否烫手、防滑、方便饮用水
用户文档:使用手册对用法、限制、使用条件描述
疲劳测试:分别装上水、汽油等24小时,泄露情况
压力测试:用物件不断加压,承受多大的压强
37、软件生命周期各个阶段的测试内容
(1)需求阶段测试:设计整个过程的进行、测试计划的安排、测试用例的设计以及软件的确认要达到那些要求等。
(2)设计阶段测试:包括概要设计和详细设计。在概要设计阶段,测试人员应阐述测试方法和测试评估准则,编写测试计划,组织成立独立的测试小组,安排具有里程碑的测试日程;在详细设计阶段,测试人员要开发或获取确认支持工具,生成功能测试数据和测试用例,以此来检查设计中遗漏的情况、错误的逻辑、模块接口的不匹配、数据结构不合理、错误的I/O假定、用户界面的补充分等。
(3)编码阶段测试:测试需要解决的首要问题是编码是否和设计的一致;其次是系统是否可维护,系统的规格说明是否正确地实现,编码是否按照既有的标准进行。是否有充分的测试计划评价程序,程序是否提供足够的文档资料,程序内部是否有足够的注释等。在测试完成后,要形成下列输出物:编码说明书、程序文档、计算机程序列表、可执行的程序、程序流程图、操作介绍和单元测试结果。
(4)测试阶段:要进行第三方的正确测试,检验所开发的系统是否能按照用户提出要求运行,在测试阶段要使的用户能成功地安装新的应用系统来进行测试。
(5)安装阶段测试:首先要根据系统安装手册制定好安装计划,确定安装流程图,准备好安装文件和程序清单,给出安装测试的预期结果,并对安装过程中的各项可能发生的结果进行说明准备,将程序运行的软硬件要求放入产品说明中。同时要检查时系统用户手册和操作手册,看是否可用。
(6)验收阶段测试 :定义用户角色,定义验收标准,编制验收计划,执行验收计划和填写验收结论。
38、get和post的请求
1、url可见性:get,参数url可见;post,url参数不可见
2、数据传输上:get,通过拼接url进行传递参数;post,通过body体传输参数
3、缓存性:get请求是可以缓存的post请求不可以缓存
4、后退页面的反应get请求页面后退时,不产生影响post请求页面后退时,会重新提交请求
5、传输数据的大小get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)post请求传输数据的大小根据 配置文件设定,也可以无限大。
6、安全性这个也是最不好分析的,原则上post肯定要比get安全,毕竟传输参数时url不可见,但也挡不住部分人闲的没事在那抓包玩。安全性个人觉得是没多大区别的,防君子不防小人就是这个道理。对传递的参数进行加密,其实都一样。
39、alpha测试和beta测试的区别
alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误beta测试时用户公司组织各方面的典型终端用户在日常工作中实际使用Beta版本,并要求用户报告异常情况,提出批评意见。
区别:主要是测试场所不同,alpha是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行测试;alpha测试的环境是受开发方控制的,用户的数量相对少,时间比较集中,beta测试环境不受开发方控制,用户数量相对多,时间不集中
40、TCP/IP协议的模型和每层的主要协议
从下到上:
1、链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
2、网络层(互联网层):处理分组在网络中的活动,比如分组的选路;(IP、ICMP、IGMP)
3、运输层:主要为两台主机上的应用提供端到端的通信(TCP和UDP)
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、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。( √ )
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)被测试项目的代码符合软件编码规范并已通过评审。
(5)开发人员提交了测试申请并提供了相应的文档资料。
测试准出如下:
(1)测试项目满足客户需求。
(2)所有测试用例都已经通过评审并成功执行。
(3)测试覆盖率已经达到要求。
(4)所有发现的缺陷都记录在缺陷管理系统。
(5)一、二级错误修复率达到100%。
(6)三、四级错误修复率达到了95%。
(7)所有遗留问题都有解决方案
(8)测试项目的功能、性能、安全性等都满足要求。
(9)完成系统测试总结报告。
有时,在测试过程中可能会出现一些意外情况导致测试工作暂停,这个暂停并不是上述所说的测试结束,而是非正常的。测试中需要暂停的情况包括以下几种。
(1)测试人员进行冒烟测试时发现重大缺陷,导致测试无法正常进行,需要暂停并返回开发。
(2)测试人员进行冒烟测试时发现Bug过多,可以申请暂停测试,返回开发。
(3)测试项目需要更新调整而暂停,测试共奏也要相应暂停。
(4)如果测试人员有其它优先级更高的任务,可以申请暂停测试。
版权声明:本文标题:软件测试工程师面试题目以及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1709258844h541650.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论