测试面试题库

一、你发现Bug后,应该怎么办?
1、如果有明确的需求文档,先根据需求进行判断,与需求有出入的就算不是bug,也应该是问题。
2、如果需求不明确的,找开发和主管一起确认,当然也可以先找开发确认
首先咨询一下开发是不是bug,让他初步判断一下。
如果不是bug,开发给到理由也比较充分,确实自己也搞错了,也就算了。
如果开发也认为是bug,那就直接提了。
如果我怀疑开发的解答,我觉得是bug,开发坚持不是bug,我就要咨询我们组长或者开发组长,让他们判断一下。

二、假如发现了一个BUG,跟开发本身没什么关系,涉及到理念,需求问题,如何解决?
把问题暴露给测试组长和开发组长,咨询他们意见,组长们再知会开发分组经理和项目经理,然后大家和产品经理一起探讨解决,需要改需求的地方就要改了。

三、开发说这不是bug,你该怎么解决
思路一:如果有需求对照还好 直接看需求文档 如果没有需求文档就找产品经理吧 如果没有产品经理就找项目管事的吧
思路二:首先你要正确理解出现的现象是否正常,是否会导致用户在使用过程中的体验或出现损失,如果是,那就尽快提交给产品经理或项目经理确认

四、测试非常紧急过程中,遇到阻塞性问题,对应的开发没有时间解决,你如何推动问题解决?
1、首先判断问题的严重性,向对应的开发了解问题的原因。
2、然后再汇报给自己的测试组长和开发组长,让组长知情,咨询他们的意见,再把问题汇报给开发分组经理,让他们统一协调处理。安排经验丰富的其他高级开发人员来协助此开发解决问题,然后通过加班来完成问题解决和测试。

五、执行别人的用例,如果发现用例有错怎么处理?
首先咨询一下案例作者或者询问测试组长,确认一下,如果确实有误就要修正用例。

六、你们项目做了多久,共写了多少用例?项目多少人?
项目做了多久:(两种回答,建议选择第一种)
当前流行的测试开发比是:1:4,一个测试对4名开发。
我进去的时候项目已经上线了,一直存在,然后就是版本的更新,小修改的话,大概半个月一个版本,中修改的话,大概一个月一个版本。每次版本更新,针对新的功能点或者修改点大概写了60条案例左右(一个月一个版本的例子)。
我进去的时候,一开始就参与这个项目(也就是需求分析开始),项目从零到有进行了半年左右,六个月内大概整个项目组写了900条案例左右。自己写了200条左右(共5个测试,包括组长)。
注意:如果大家说自己是从零到有参与的项目,那么6个月时间是从需求分析开始。需求书编写完成前,产品经理他们是要做很多前期准备工作,可能要花费3个月左右的时间。
那么测试6个月的实际工作时间内:
前期2个月:刚开始需求书的漏洞比较多,需求评审比较多,基本上每个星期一次评审。开发和测试都会参与,此时开发在进行代码设计,测试就在分析需求,看参考文档,用xmind梳理测试场景,提取测试点,开发经常和产品经理讨论需求,测试经常问开发和产品经理有关需求的疑问。大家一直碰撞,一步一步得出比较完美的逻辑。
中间2个月:开发设计完后,进行编码,我们测试就根据之前梳理的测试场景来编写案例,进一步优化。这个期间,需求书基本稳定,不会再改了。要改也就是把细化需求,把笼统的地方,描述的更详细,更让人易懂,功能点的大方向不会改。开发和测试在此期间有疑问,都会邮件或者电话联系产品经理。测试也会经常去问开发有关功能点的逻辑问题。
后面2个月: 执行案例工作开始进行,一般分为两轮st测试,第一轮1个月,第二轮半个月,回归测试半个月。Uat测试组在st测试第二轮时候,并行开始。Uat测试组有专门人负责,一般需要st测试组派一个人左右去支持,uat测试也有第一轮(半个月),第二轮(半个月)。
项目多少人:一个公司往往有很多项目,自己只是其中一个项目组的,我的P2P项目组大概20人,开发15个,测试5个(大家把自己当成外包人员,在甲方工作,也叫驻场工作)

七、没有需求你该怎么测试?
没有需求的话(参照竞品,同类似的软件)还有就是自己的测试经验以及平时使用这些类型软件经验。

八、公司就你一个测试你觉得你应该怎么开展你的工作?
比如不会在写测试用例,会写测试点(文档简洁化)
思路:首先是和开发保持经常性的沟通,观察开发的工作,熟悉自己要测试的软件的业务流程和功能,其次会简化用例,主要以测试点的方式来梳理测试思路,再次是开发提交一个功能就测试一个,不会堆积,缺陷也是随时修改随时回归,测试报告也比较简单,主要就是测试的功能列表和缺陷分析
九、上线之后发现bug,怎么解决?
1、上报项目经理 由项目经理决定是否发布补丁。(上报)
2、检查自己测试点是否覆盖
3、管理工具上面记录bug
4、总结经验教训,预防以后出现同样的问题

十、测试时间不够,但是项目又必须上线你怎么解决?
bug的优先级 功能模块的优先级 测试用例的优先级 根据优先级执行

十一、项目初期说说你都是怎么安排一天的工作的。(功能测试)
因为项目初期功能测试事情不是很多,很多公司的测试这个时候都比较闲,这个时候你除了写用例还可以熟悉产品的业务流程或运行环境,反正思路就是不光干好手上的事情 还要让自己产于到项目上面去其次就是学习 不能让自己很咸鱼

十二、如果在测试工作过程中,领导又给你安排新的任务,你该怎么安排你的任务?
对比领导安排自己的事情 和自己手上的事情 2者优先级在决定先干那边的事情
先告诉领导自己现在的工作安排
然后根据领导的意见来决定优先顺序
比较紧急的话不排除采用加班的方式来解决

十三、简单描述自己对软件测试的理解?
1、首先软件测试是一个过程
2、目的是交付的软件需要满足预期的功能和非功能需求
3、通过方法论和工具让软件测试的效果和效率得到提升

十四、我们的项目可能不一定会用到自动化,你怎么看?
自动化的目的是提高测试效率和可靠性的
不是所有的项目都适合自动化
产品的部分固定流程可以自动化,只是规模大小而已

十五、无法复现的bug怎么办和时有时无的bug怎么处理?
1、发现之后要及时记录
2、根据其导致的后果来判断其严重程度,如果较为严重的,则要在功能上反复验证,记录验证的次数和出现的次数,作为后续定位的参考
3、在测试报告中要明确以上内容及风险预警

十六、在接口测试中,需要调用第三方接口,但是现在该接口宕机,产品急于上线,你要完成测试工作,该怎么办?
1. 找开发人员编写一个测试桩,先代替该接口,以便完成其他的功能的验证
2. 找产品或对外联系人员与第三方进行交涉,让他们尽可能提供mock接口
3. 上线之后立即验证该功能是否可用,如果不可用,则不能对外开放端口

十七、测试计划工作的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、 测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是先评审)。

十八、您认为做好测试用例设计工作的关键是什么?
1、最重要的是先要明确软件的需求,内部的业务逻辑
2、了解软件的运行环境,相关配置,运行依赖
3、对用例设计方法的优缺点、适用范围要熟悉,以便有针对性的设计用例和准备数据
4、熟悉软件功能的作用和关联关系,在设计用例的过程中要给予考虑
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。
请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

十九、为什么要写用例:
我们编写测试用例,有如下的好处:
便于团队交流:假如说一个测试团队有10个成员,大家测试的时候都各自为政,没有统一的标准,测试的效率无疑会大打折扣;如果大家都遵循统一的用例规范去写,就会解决这一问题。
便于重复测试:大家知道,软件在实际开发过程中是会有不同版本的,比如会从1.0升级到10.0,那么如果不写测试用例的话,在测试10.0版本的时候,你能完全记得1.0版本时你做过哪些测试吗?测试用例就像一个备忘录一样,便于重复测试。
便于跟踪统计:这一点是针对测试经理或是项目经理来说的,项目负责人通过看测试用例的执行情况,就能了解到项目目前的概况,比如已经执行了哪些测试,还有哪些测试没有执行,测试没有通过的地方主要集中在哪些模块等。
便于用户自测:尤其是项目软件,有的时候用户希望自己测试一下软件产品,但是用户大都是非专业人士,他需要根据你写好的用例来更好的检验产品的质量

二十、为什么要在一个团队中开展软件测试工作?
1、测试的目的是为了让用户使用的时候,不会因为软件内部存在的错误而导致精神或物质的损失,从而让用户对软件失去信心,失去用户从而造成公司出现损失
因为没有经过测试的软件很难在发布之前知道该软件的质量,就像ISO质量认证一样,软件同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

测试如何描述项目工作?

1、简单介绍一下项目实现的功能或者业务
如果项目对口,可以多讲一些
如果项目不对口,简单介绍一些公共的功能,通用的功能
2、我在项目里参与了哪些项目环节?测试人员的职责和产出?
立项,参与需求评审,提取需求点,产出需求分析文档,小组任务分工,任务耗时评估,产出测试计划,设计测试用例,产出测试用例并进行用例评审和用例完善,执行测试用例,使用禅道提交缺陷,跟踪缺陷并完成回归测试,在测试过程中产出测试日报,在测试结束时召开缺陷Review会议,最后产出测试报告。
3、我在项目中遇到的困难,挑1-2个项目描述?
业务复杂度较高时,定位一些非必现的缺陷。
项目工期比较紧张的时候,我是怎么去做的。
遇到了抗拒修复缺陷的开发人员:首先要再次的去确认Bug,再和需求人员确认缺陷是否需要修复,喊上需求人员一同去和对应的开发沟通和讨论
4、我在这个项目里得到的成长
这个项目里的测试数据需要手动填写很多表单,我觉得执行测试有很多重复的工作量,解决方法:我自己尝试使用python+selenium去完成表单的填充,后续我也进行了一些核心业务的UI自动化脚本编写。接口测试,发现需要一次性执行多个接口,并且接口之间存在关联,存在参数传递,学习了Postman,然后使用JMeter,然后Python+requests。
5、我在项目里取得的成绩
项目持续稳定的在线上运营,2年时间内,尚未出现严重的线上Bug,用户体验很好,并且已经持续了较多次的版本迭代。

1,网站崩溃的原因?
服务器厂商出问题了,
2,有没有做过微信方面的测试?
3,用户反馈上传头像失败,分析一下是什么原因?
4,做的测试是哪些方面的?
5,安全测试有没有做过?
安全测试是我们组长做的
6,给你一个登录怎么设计用例?
7,给你一个接口怎么设计用例?
8,测试报告包含哪些内容?
9,页面提交失败是什么原因?
10,一个bug怎么看是前端还是后端?
前端一般是页面布局,后端一般是业务逻辑,数据,我会从这个方面去定位,看页面UI有没有问题,如果页面UI都有问题的话就是前端的问题,再看URL有没有问题,传参有没有问题,如果传参到后端都有问题的话,就是前端的问题,如果url和传参没有问题,就看响应有么有问题,响应有问题就是后端的问题。
11,app闪退是什么原因?
1,缓存垃圾过多(如果长时间不清理垃圾文件.会导致越来越卡.也会出现闪退情况.)
2,运行程序过多,手机的内存满了(如果不进行设置,很多软件都会自己运行,而手机后台程序过多会造成内存不足,从而造成应用闪退)
3,应用版本问题(如果应用的版本较低或处于测试阶段导致应用软件与设备不兼容造成闪退)
4,系统不兼容(部分软件对版本有一定的要求,如果系统版本过低,软件是不能支持的,所以会闪退)
5,分辨率不兼容(一些软件对手机分辨率有一定的要求,如果手机分辨率不兼容,有部分软件就容易出现闪退或其它错误)
6,系统存储空间严重不足(部分应用需要不停的读写数据从而占用系统存储空间,当系统空间严重不足可能会出现卡顿、闪退甚至是死机的现象)
7,网速问题(部分软件需要一个稳定的网络,当网络出现卡顿时应用随之出现卡顿甚至闪退现象)
12,一个系统上线了,用户说某些功能用不了,排查一下原因?
13,提交订单会存在一个减库存,你怎么测他的这个库存是否有余量?
14,测试介入的阶段是在什么阶段?
测试的介入都是在软件开发过程的前期介入的,就是从需求阶段介入,越早介入越好,因为在软件研发的整个过程中,需求分析、设计、编码、测试、发布维护中,都有可能引入软件缺陷,修复软件缺陷的费用随着时间的推移而增加,尽早测试并发现软件缺陷修正时所投入的人力物力越少
15,当你发现,做出来的产品,跟需求说明和原型图对比有偏差,你怎么处理,有什么建议?
16,在项目开始之前有没有项目立项?
17,立项时对需求的讲解,分析是单独的。还是三方,产品,用户,开发,测试一起的会议?
18,开发说做的东西是贴近用户的一个体验,但做出来的东西跟原型图不一样,怎么解决?
19,比如现在做一个廉政档案的系统,里面有个人的话分为24张表,产品设计一个页面,里面有24张表的一个列表,产品设计点一个表跳转一个页面,开发设计的是直接用一个弹框把表全部显示完,出现这样的问题,你这边如何做出一个建议?