在你以往的工作中,发现的影响大或印象深刻的Bug是什么?为什么?
👇 仅参考
印象深刻的bug:近期的一个项目,x发单n是发qmq消息,调用发单服务自动发单,测试过程中,我给开发提议加个手动发单--作为发单失败或者未发单的补偿,开发力争 生产不会出现发单失败的情况,但后来还是被我说服,在上线前,加个手动发单的功能。
上线第二天,公司qmq框架出现问题,产生消息消费的延迟,导致一段时间内的订单不能自动发单,这时候大家手动发单,解决部分订单,事情过后,开发更加肯定了 我当时的提的bug修复是正确的
在你以往的经历中,解决过的最困难的问题是什么?
👇 仅参考
环境问题,是所有测试人员都面临的一个难题;解决的那么多问题中,测试环境无法使用,无法快速的介入测试,仍然是比较突出的。曾经把一个长久未使用的环境,根据经验和clog定位,各个服务之间的调用,一步步完成调通
如何定位bug:
- 发现bug,首先要查看bug的详细信息,根据描述初步分析是哪个模块哪段代码的问题
- 检查引发bug的测试环境、测试代码段和测试数据,排除测试人员的误操作导致的程序异常
- 确认测试代码、测试环境和数据都正确后,再进一步分析bug根源。这里就需要看具体的测试业务了,可借助相关的工具进行分析
- 如果产品或业务有相关的日志记录,可通过分析日志来确认bug
- 当测试人员经过一系列的分析,可以基本确认bug产生的原因后,就可以直接找开发提bug了(注意沟通技巧)
- 如果各方面都分析完还不能确认bug的原因,可以找开发一起定位(注意保留bug现场或者可以复现bug场景)
- 确认bug后,提单给开发进行bug跟踪。 问题单上要描述清楚以下信息: 具体的测试时间、测试环境、测试场景、测试的具体业务和功能、使用的测试代码和测试数据、测试执行步骤、测试结果、bug现象(最好截图)、日志记录、预期结果、bug确认相关人员等
- 跟踪bug,等开发人员修复bug后进行回归测试。(关注bug是否完全修复、有没有对其他功能造成影响、有没有引入新的问题)
当我们认为某个地方是bug,但开发认为不是bug,怎么处理?
- 告知开发bug的判断依据,同时明确开发说不是bug的理由。
- 对开发的理由进行校验,校验依据:
- 参照需求文档
- 跟产品经理进行沟通确认
- 校验结果不是bug,关闭bug,如果是bug提交给开发进行处理,确保产品质量
偶然性问题的处理
- 一定要提交bug
- 记得有这么个缺陷,以后再遇到的时候可能就会了解发生的原因
- 尽力去查找出错的原因,比如有什么特别的操作,或者一些操作环境等
- 程序员对程序比测试人员熟悉的多,也许你提交了,即使无法重现,程序员也会了解问题所在
- 无法重现的问题再次出现后,可以直接叫程序员来看看问题
- 记录bug要尽量描述清楚发生问题时的测试步骤、测试环境、测试数据
- 尽量重现bug
开发没时间修复,如何推进bug的修复:
- 针对路径较深的bug,测试在推动开发修复bug时,需要注意以下几点:
- 从用户的角度分析问题的严重性,分析用户的遇到此问题的概率,引导开发站在用户角度去思考,从而使开发意识到问题的严重性
- 可以和开发人员列举一个之前的类似问题,为开发提供参考
- 产品是负责这个软件的人员,当测试与开发意见无法达成一致时,不要因为无法推动开发修改而放弃,一定要找产品确认,最终的决定权交给产品人员。
- 上线时间紧张,开发来不及修改了,这个时候测试应该分析问题的严重性,和产品人员商议是否需要修改
- 修改bug改动较大,影响范围广,没有最优的解决方案等情况在项目即将上线的节点比较忌讳这种事情的发生。面对这种情况,建议开发人员做调研工作,请教其他的同事,或者组织一个临时会议,集众人之力研究好的修改方案
- 第三方应用问题,开发无法修改。确认原因之后需要找相关的工作人员,例如产品,联系第三方的工作人员,反馈问题,尽量推动应用解决问题小结总之,bug修不修,测试应该有一个自己的原则,同时也要权衡利弊。不能因为推不动开发,就放弃,由着bug上线,也不能揪着一个小bug不放,影响上线时间。
对一支圆珠笔进行测试,要从哪些方面进行测试?三角形测试用例设计
性能测试能否正常书写 是否有笔油泄露 笔帽是否能正常按下弹起来功能测试一支笔可以用多长时间、写出的字是否褪色易用性测试笔的长短粗细是否顺手 一根笔芯用尽是否方便更换界面测试外形是否美观 时尚有趣安全性测试笔油是否含有有害物质 笔尖是否容易伤到人 笔油或者墨水保质期多长 过期是否产生有害物质
兼容性测试在不同的温度、气压、和重力下能否正常使用 在不同的纸质和力度下书写结果如何
三角形测试用例设计:
- 当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长
- 若是等腰三角形打印“等腰三角形”, 若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”
- 若是等边三角形,则打印:“等边三角形”
- 画出程序流程图并设计一个测试用例。因果图、等价类划分(推荐测试方法)
在你以往的工作或学习中,你最大的收获是什么?学到了什么?
- 业务的积累
- 通过各种自动化,如UI自动化,job自动化,api自动化,不仅提升了自己编码能力,也在每周的常规发布中,起到举足轻重的作用
- 长期的测试过程中,提升了自己解决问题的能力
你认为做好软件测试应该具备哪些素质?
- 较好的技术能力
- 对业务逻辑的理解
- 良好的沟通能力
- 解决和分析事情的能力
作为测试人员,在与开发人员沟通过程中,如何有效的提高沟通效率和效果?
- 耐心的跟开发沟通,跟他阐述不过的重要性 说服他解决问题
- 充分尊重对方,哪怕再低级的bug都不要小看他
- 宽以待人,设身处地为他人着想 即使开发因为压力或者其他原因不肯合作 也要心平气和的跟他沟通 讨论bug的优先级
- 平时多跟开发沟通 无论是工作还是生活上的问题,但是测试一定要有自己的原则 对测试的产品质量负责
- 自己先定位问题 帮助开发缩小排查范围
你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?
- 在产品需求会上 可以站在用户的角度 提一些贴合用户需求的建议
- 测试阶段,根据自己对项目的了解和专业的测试技能 尽可能在项目上线前测出更多问题 保证产品质量
- 对测试过程中出现的问题 合理有效的进行风险评估。
- 对质量严格把关 测试不通过的 一定不能发布生产
你对软件测试最大的兴趣是什么?
- 行业前景比较好,而且近些年 越来越多企业更注重测试
- 测试时间越久 面临的困难和挑战也越多,解决问题的同时 也提高了自身的能力
- 自己的性格比较外向开朗 很容易跟产品和开发沟通 做起事情可以事半功倍
你对自己的职业规划是什么?
先做高级测试 有机会的话,想往管理方向发展,目前在携程做测试组长,也为以后管理做储备
在没有任何文档的情况下,你如何开展测试?
- 尽量的去获取其他的文档吧,比如开发的一 些设计文档---概要设计、功能设计、详细设计
- 尝试从网上找类似的项目文档,如果幸运,可以从公司的资料库找到类似的文档
- 按照开发的接口或者设计文档,按照功能模块划分,大致写一些用例,然后进行摸索测试,在测试过程中逐渐完善自己的用例
测试管理问题
你认为测试经理的工作职责和内容是什么?
- 负责建立和维护一个有效的测试流程;
- 负责测试团队的日常管理工作;
- 负责制定和安排测试计划、测试工作;
- 带领测试团队进行程序测试工作、按照制定的测试计划执行,并监督和控制测试工作的进程;
- 负责测试用例的质量,开发高效的测试用例;
- 负责与其他部门的人员沟通协作,例如与开发人员和项目管理人员进行沟通,共同推动项目的顺利进行;
- 负责测试团队的培训,培养团队队员的能力。