软件测试生命周期:
在初识测试中我们知道,测试是贯穿在软件的生命周期中的,这具体体现在哪里呢:
1.需求分析:我们测试人员要检查该需求是否和我们之前的业务功能逻辑冲突等等
2.计划:测试人员也需要计划出测试的开始和结束时间
3.设计:测试人员要根据需求文档和技术文档编写测试用例等等
4.开发:开发人员在编码完了之后也需要进行测试
5.测试:这个阶段就不用多说了,肯定有测试
所以,软件测试也是有生命周期的,而且是贯穿软件的生命周期,接下来我们来了解一下软件测试在各阶段都做些什么:
1.需求分析:测试角度:检查是否和以前的业务功能发生冲突;技术角度:看看这个功能是不是可以更好的实现;用户角度:软件需求是否合理
2.测试计划:什么开始测试,什么时候结束测试
3.测试设计,测试开发:根据需求文档和技术文档编写测试用例,写测试文档(测试方式,测试工具等等)
4.测试执行:通过测试用例和测试工具对项目尽可能进行全方面的测试
5.测试评估:因为就算测试执行之后,也不能保证这个软件是一定没有问题的,所以需要我们对测试进行评估,看是不是还有疏漏的
5.上线,过程分为沙盒,小流量,全流量,全线上
沙盒:企业内部的线上环境,供内部人员进行测试
小流量:对部分线上真实用户开放软件,测试人员要手动参与测试,同时查看有无错误日志(真实用户在使用中是否发现了问题)
全流量:全部真实用户都可以使用
全线上
6.运行维护:测试⼈员需要参与项⽬的实施工作
BUG
bug的概念:
定义 :⼀个计算机bug指在计算机程序中存在的⼀个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序⽆法正确的运⾏。Bug产⽣于程序的源代码或者程序设计阶段的疏忽或者错误。
准确来说 :
1.当软件需求存在并且正确时,如果程序和软件需求说明发生了冲突,就是bug
2.软件需求上未说明的,以最终用户需求为准,如果软件功能不满足用户的期望,也是bug
描述bug的要素:
问题出现的版本,运行时的环境,产生bug的步骤,预期效果,实际效果
比如说,你在浏览器中测试我们的网页能不能正常显示,结果不能正常显示,这个时候我们描述bug就要这样描述:
1.浏览器的版本
2.运行时的环境(windows11等)
3.步骤:打开浏览器,输入了网址,页面哪里显示不正常)
4.应该是什么效果
5.实际是什么效果
这样才有利于我们的开发人员去追溯bug。
BUG的级别:
bug的级别是区别bug严重性和优先级的依据。
它的意义是什么呢:
1.在工作中测试人员提出bug和开发人员写出了多少bug是作为年终奖的评估内容之一。
2.给bug修复顺序排序,先修复优先级高的bug,确保项目顺利上线
级别:
1.崩溃:测试和开发工作被阻塞,测试人员和开发人员无法进行正常工作。
2.严重:系统主要功能丧失,造成企业减少盈利
3.一般:功能未完全实现,但是不影响用户使用
4.次要:一般是界面问题,不影响使用。
在真正入职之后,公司相关团队会给一个bug级别描述文档来让我们鉴定bug的所处级别。
BUG的生命周期
首先来了解bug的状态 :
1.open:重新打开bug
2.Rejected:拒绝状态
3.Delay:推迟状态
4.reopen:重新打开
5.closed:bug的终态,说明bug已经修复
接下来我们来了解bug的生命周期 :
1.测试人员创建一个bug
2.开发人员确认是否是有效bug,如果是无效bug,则无需修改
3.是有效bug,如果项目时间不多,对优先级高的bug先解决,优先级低的先进入Delay状态
4.bug解决后,测试人员进行测试,如果bug确实没问题了,就进入closed状态,如果有问题,则进入Reopen状态,开发人员重新修改bug。
流程图 :

高频面试题:
和开发人员发生争执怎么办:
1.反省自己,看看bug是不是因为自己产生的,比如是不是自己在测试的时候操作失误
2.站在用户角度和开发人员沟通,如果开发人员觉得一个bug很小不需要修复,那么可以站在用户角度说明这些bug对用户体验的影响
3.bug定级要严谨,BUG定级时,不仅要参考BUG级别,还要考虑BUG是否会影响到流程,往往⽤⼾的BUG级别和我们的是有区别的,需站在⽤⼾的⻆度定考虑定位级别。
4.提高自己的水平,具备好的提出问题和解决问题的能力,如我们创建了bug,应该描述好一个bug,同时可以给开发人员建议修改bug的思路
5.bug评审,如果开发人员实在是不听,就进行bug评审
bug评审 :
组成 :1.测试代表;2.开发代表;3.产品代表
主要解决的问题:
1)决定如何处理bug
2)分析缺陷产⽣的原因,找出预防的对策