软件的生命周期
软件的生命周期:需求分析 ==> 测试计划 ==> 测试计划、测试开发 ==> 测试执行 ==> 评估报告
软件测试和软件开发生命周期
- 需求阶段
了解需求,对需求进行分析,得出测试需求 - 计划阶段
根据需求编写测试计划 - 设计阶段
搭建测试用例框架,根据需求和设计编写测试用例 - 编码阶段
白盒测试人员执行单元测试,完善测试用例,调整测试计划 - 测试阶段
是作为测试人员最为重要的阶段,根据测试用例和计划进行测试,记录缺陷,测试完成编写测试报告 - 维护阶段
一般测试人员可以参与用户使用软件的培训中,在试运行阶段收集问题并反馈给负责人
bug描述
- 发现问题的版本
给出出现问题的版本才可以找到相应版本的代码进行重现该故障 - 问题出现的环境
环境分硬件环境和软件环境,对于web项目,需要描述浏览器版本,客户的操作系统;对于app项目,需要貌似机型,分辨率,操作系统版本等 - 错误重现步骤
用最短的步骤重现该问题 - 对预期行为的描述
将所期望的样子给开发人员描述出来,要以用户的角度来进行描述 - 对错误行为的描述
crash可以上传log,UI问题可以截图 - 不要把多关bug放到一起
当无法确认是不是同一段代码造成的故障,就不要讲这些bug放在一起提交
示例:
故障发现版本:VPS20180226_01
故障类别:兼容性
故障优先级:中
故障标题:ie下界面显示异常,界面文字有重叠
故障描述:
1.测试环境:win7+IE8
2.测试步骤:打开vps首页,点击“通知”链接,进入通知页面
3.预期结果:通知页面显示正确,一页显示10条通知,按时间顺序倒序排列
4.实际结果:页面显示10条通知,通知顺序正确,但是页面文字有重叠
附件:上传截图
bug级别
- Blocker(崩溃)
阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环、导致数据库数据丢失,数据库连接错误,基本模块缺失,主要功能缺失等 - Critical(严重)
主要功能部分缺失,用户数据丢失,数据库保存调用错误;功能设计与需求严重不符,模块无法使用,程序重启、闪退,安全问题,稳定性等 - Major(一般)
功能没有完全实现但不影响使用,功能菜单栏存在缺陷但是不影响系统稳定性 - Minor(次要)
界面、性能缺陷,不影响操作功能的执行已经建议类问题
bug的生命周期
- new:发现一个新bug,没有经过评审决定是否指派给开发人员进行修改
- open:确认是一个bug,且认为需要修改,并指派给开发人员进行修改
- fixed:开发人员进行修改后标注成修改状态,等待测试人员进行回归测试
- rejected:开发人员如果认为不是,则拒绝修改
- delay:开发人员如果认为这个bug不需要修改或者暂时不需要修改,则延后修改
- closed:修改后的bug经过测试人员进行回归测试之后通过验证,就关闭bug
- reopen:经过验证,如果bug依然存在,就需要重新打开bug,让开发人员重新修改
无效bug:open ——> closed open ——> rejected ——> closed
另外:
- 测试人员对于每一个bug的修改必须重新获取一个包含更改后的代码的新版本进行回归测试,确保相同问题不会再次出现才可以关闭bug
- 对于拒绝修改和延迟修改的bug,需要经过包含测试人员代表和开发人员代表,用户代表的评审