五、面试怎么会少的了缺陷及其管理方面的问题呢
找缺陷、提交缺陷、管理缺陷及跟踪修复、回归缺陷也是软件测试面试过程中永恒不变的话题,毕竟这个是软件测试最直接、最终的目的。
一般面试官会问的问题有:
· 说一个曾经提过的记忆比较深刻的bug?
· 如果你提交的bug开发不认可,你该怎么办?
· 产品上线后,出现了你没测试出来的bug,你怎么处理?
· 缺陷的生命周期是怎样的?
· 你使用的缺陷工具是什么?
· 如何确定缺陷的严重等级的?
· 等等等,太多了,想起来再补充
1、说一个曾经提过的记忆比较深刻的bug?
面试官问这个问题,想要的不一定是一个严重的bug,但一定是给你留下深刻记忆的bug,考察你对软件测试这份工作的热情,如果工作多年,一个有印象的bug都没有,可见你是怎么混过来的。
2、如果你提交的bug开发不认可,你该怎么办?
开发人员说不是bug,其原因一般不会是开发故意不改,无非有两种原因:
就是需求没有明确,这么做是可以的,这时我们可以找产品经理来确认,3方商量确认后明确改与不改
这种bug不可能发生,所以不需要修改,这时候我们可以尽可能地指出bug可能引起的后果,尽量说服开发去改
如果不能达成一致,则需要测试经理和开发经理进行确认。如果有些确实不是很明显的bug,我们可以提建议级别bug
如果开发人员不修改也没有大问题。如果认为是bug就一定要坚持,并最终要得到确认
3、产品上线后,出现了你没测试出来的bug,你怎么处理?
这个问题说是送命题也可以是送分题,基本上是考察,你在工作中是否具备“背锅”的天分。
首先要了解bug信息,重现bug并确认其重要程度
如果是测试的问题,没有发现该bug,就要主动承担责任并作出总结,避免下次再犯错
如果是其他的问题,如团队协作的问题,需要将相应的问题反馈给上级,同时作出总结,避免下次犯
作为测试人员,我们应该尽可能地做好多种场景的预测,防患于未然
4、缺陷的生命周期是怎样的?
这个问题,一般有两个版本,一个是ALM的缺陷管理流程,一个是禅道的缺陷管理流程,虽然稍微优点差别,但是影响不大,推荐按照下面的说法:
测试人员提交新的Bug入库,错误状态为New。
高级测试员/测试经理验证错误,如果确认是错误,分配给开发组。设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。
开发经理分配bug至对应的模块开发人员。
开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。
对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决,置Bug的状态为Closed,如没有解决,置bug状态为Reopen。
5、你使用的缺陷工具是什么?
商用工具有ALM(全生命周期管理),除了一些大型互联网公司会用,中小型企业基本放弃了。
开源的有禅道、bugzilla、JIRA,越来越受到企业的喜爱,功能完善、开源、免费。
禅道是第一款国产开源项目管理软件,它的核心管理思想基于敏捷方法scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能。在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。
新版本集成了git、svn及自研的自动化测试框架,再结合Jenkins,可以实现将禅道中的测试用例转化为测试脚本,并通过触发器,实现从开发上传新版本,到自动化测试的缺陷自动录入成缺陷单,实现全程无人值守。
国外流行的Bugzilla 是 Mozilla 公司提供的一款开源的免费 Bug 追踪系统,它可以管理软件开发中缺陷的提交(new),修复(resolve),关闭(close)等整个生命周期。用来管理软件开发,建立完善的 Bug 跟踪体系。
JIRA是一个缺陷跟踪管理系统,JIRA 这个名字并不是一个缩写,而是截取自“Gojira” 。JIRA被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。
6、如何确定软件缺陷的严重等级?
软件公司对缺陷严重等级划分不尽相同,但一般分为四个等级:
· 致命错误(fatal)
· 严重错误(critical)
· 一般错误(major)
· 建议问题(suggestion)
比较细的划分标准,之前整理的APP上的缺陷评价标准。
六、交付一份漂亮的测试报告,老板也有面
其实这个问题和测试计划差不多,主要是看你的工作经历及能力,是不是可以承担软件测试基本工作之外的一些管理的内容,如果你能编写测试计划和测试报告,恭喜你,你可以作为测试组长或者测试经理培养啦。
一份测试报告包括测试结论、测试的风险分析、测时间、人员投入情况分析、测试数据分析和测总结,个人认为这些内容都是必须的,但是要想有亮点,就要关注你写给谁看的?可能是老板也可能是你的金主客户,不管是谁都不会喜欢长篇的文字,所以图文并茂才是核心。
而在报告中能体现的就是测试数据分析这部分,我们可以从下面两个方面如说。
1、测试用例的需求覆盖、执行、通过、失败、阻塞等情况分析:
2、缺陷可以从严重等级、模块分布、版本分布等方面图表展示分析。