一、软件测试的生命周期
先来回顾软件的生命周期
🍑软件的生命周期
需求分析--》计划--》设计--》编码--》测试--》运营维护
需求分析:进行市场分析,这个需求量大不大?投入与盈利的占比?技术上 能否实现或者说实现的难度?
计划:什么时候开始?什么时候结束?过程耗时多少?
设计:将需求细化为一个一个的任务,进行计算设计(要用到哪些接口?采用什么框架?
编码:开发人员参考需求文档和技术文档进行功能代码的编写
测试:测试人员要参考测试用例来执行测试(注意测试用例是在测试前就编好的,要明白我们的测试是贯穿软件的整个生命周期的)
运行维护:修复性的维护(对项目中未发现的问题进行修复)完善性维护(对功能进行完善)预防性维护(居安思危,为了避免产品在线上出现一些意想不到的问题,进行一些预防的手段)
我们必须清楚软件测试贯穿软件的整个生命周期、
🍑软件测试的生命周期
需求分析——》测试计划——》测试设计与开发——》执行测试——》测试评估
需求分析
测试计划
测试计划:测试人员也需要编写测试计划文档——有多少测试人员,什么时候开始测试?
测试设计与开发
测试设计与开发:测试人员需求借助需求文档和技术文档来编写测试用例。
执行测试
此时开发已经完成,执行测试用例,验证功能,
在验证功能的过程中,可能会遇到 软件功能与需求不相符的七情,也就是出BUG了。
于是,测试人员就会把这个BUG 交给 开发人员。
等到开发人员处理好了之后,我们测试人员又要对其进行验证。
测试评估
1、写了多少测试用例,执行了多少测试用例。
2、剩余的测试用例,为什么不把它执行完。
3、BUG数量。
4、已解决的BUG数量
5、遗留的BUG,以及解决方案。
6、此次测试的范围和测试功能都要说清楚。
二、如何描述一个BUG?
1、测试的版本号(代码的版本信息)
2、测试环境
3、错误重现的步骤
描述问题重现的最短步骤。
4、预期行为的描述
要让开发人员指导怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。
要相信:测试人员是最懂需求的。
5、错误行为的描述
描述错误的现象。crash等可以上传log,UI问题可以有截图。
6、其他
某些公司会有一些其他的要求,例如故障的分类:功能故障,界面故障,兼容性故障等。有些有优先级的分类,严重影响测试需要开发人员优先修改的,可以设置优先级为高
🔔注意:不要把多个BUG放到一起
🌰例子
故障发现版本:VPS20180226_01
故障类别:兼容性
故障优先级:中
故障标题:ie下界面显示异常,界面文字有重叠
故障描述:
测试环境:win7+IE8
测试步骤:1、打开vps首页,点击“通知”链接,进入通知页面
预期结果:通知页面显示正确,一页显示10条通知,按时间顺序倒序排列
实际结果:页面显示10条通知,通知顺序正确,但是页面文字有重叠
附件:上传截图
三、BUG的等级
从小到大分别为:次要——》一般——》严重——》崩溃
四、BUG的生命周期
五、面试题:关于BUG,与开发人员产生纠纷怎么办?
bug评审要解决如下问题
- 如何修改bug?
- 如何避免类似问题的出现?