在我们进行软件测试面试的时候,经常会被问到这个问题,我们可以多准备几个场景,针对不同的面试,回答不同的案例。
1、针对功能测试,印象最深刻的bug以及解决办法:最好列举业务相关的bug,不要是前端简单的错误
-
案例1:
背景:在OMP研发管理系统中,我负责做报销管理没款相关测试,该模块主要负责报销单的申请,审批以及付款。
发现契机:我当时填写了一个报销申请单,在提交时,我观察到该报销单所在项目的项目可用金额为0,我们的业务要求项目可用金额必须大于报销的金额,很明显,此时已经没有可用金额了,当我点击提交时,前端给出提示:“金额不足,不能提交。”。但是报销单却已经被提交了,流程已然进入了审核环节,切换账号进行审批操作提示依旧,直到流程已经进入了最后的付款环节,最后完成了付款审批操作。这完全不符合我们的业务需求,意味着项目超支了依旧可正常报销。
解决办法:发现该问题后,我使用其他报销单多次验证后,发现大多数提示金额不足后的确是不可提交和审批的,只有在项目可用金额为0时,提示后依旧可提交。所以我找到了相关的开发人员对该bug进行定位分析,我们发现虽然客户端已经给出了提示,服务端也做了数据金额的比较,但是没有涉及到项目可用金额为0的场景,所有没有对该场景的提交操作作限制,这就导致了前端提示金额不足,却依旧能提交的情况。
结论: 该发现补充了业务上的漏洞,避免了上线后出现这种问题,这也启示了我在以后的测试设计时,要多方面考虑业务的场景,多进行探索性测试,可以发现更多的业务漏洞。 -
案例2:
背景:在OMP研发管理系统中,我负责做报销管理没款相关测试,该模块主要负责报销单的申请,审核,审批以及付款,这些流程都可正向提交,也可以驳回。
发现契机:当时填写了一个报销申请单,我发现报销单在申请提交后,进入审核环节再次审核提交,在审批环节驳回报销单。当对驳回的报销单进行修改后,再次提交时受阻。
解决办法:我通过F12查看服务端的返回数据,发现后端code报销单的状态为已驳回,数据也都正常,这时再次点击提交,发现依旧不能正常提交。我积极与开发人员对该bug进行了定位分析,走查代码,最后发现,开发在驳回场景时的函数没有提交操作,这也就导致了页面点击提交却没有真正提交。
结论: -
案例3:
背景:在之前的项目中,我负责测试一款用于员工信息管理和考勤管理的系统。这个系统涉及到员工信息的存储、查询,更新以及考勤的记录,功能相对复杂,对数据的准确性和完整性要求极高。
发现契机:在测试过程中,我遇到了一个非常难以捉摸的bug。在执行员工信息查询操作时,系统偶尔会返回错误的数据,但是这个问题并不总是出现,且没有明显的触发条件。
解决办法:为了找到这个问题的根源,我首先尝试复现这个bug。我仔细记录了每次查询操作的步骤和环境,包括查询的参数、系统的负载情况、网络状态等,试图找到任何可能的规律。经过多次尝试,我发现当系统负载较高时,这个问题的出现频率会增加。
接下来,我开始分析系统的日志和数据库记录,寻找可能的线索。通过对比正常情况和错误情况下的日志,我发现了一个微妙的差异:在错误情况下,系统的某个查询语句的执行时间明显延长。这可能是因为系统在高负载情况下,数据库的性能下降,导致查询语句执行缓慢,进而引发了数据返回错误的问题。
为了验证我的猜想,我进一步进行了压力测试,模拟系统在高负载情况下的表现。果然,在压力测试下,这个问题出现的频率大大增加。我立即将这个问题反馈给了开发团队,并提供了详细的错误复现步骤和分析结果。
最终,开发团队根据我提供的线索,成功定位并修复了这个bug。原来,在系统高负载情况下,数据库的某个索引失效,导致查询效率下降,进而引发了数据返回错误的问题。通过优化数据库索引和查询语句,这个问题得到了彻底解决。
结论:这次经历让我深刻体会到了测试工作的重要性和挑战性。在面对难以捉摸的bug时,需要保持耐心和细心,通过科学的方法和严谨的分析,才能找到问题的根源并成功解决它。
2、针对接口测试,印象最深刻的bug以及解决办法:
3、针对性能测试,一下最深刻的bug以及解决办法:
4、针对接口自动化测试,印象最深刻的bug以及解决办法:
5、针对UI自动化测试,印象最深刻的bug以及解决办法:
网友评论