• bug定义

      • 狭义:软件程序的漏洞或缺陷
      • 广义:测试工程师或用户所发现和提出的软件可改进的细节(增强型、建议性)或需求文档存在差异的功能实现
      • 职责:发现bug,提给开发,让其修改
    • bug类型--了解
      • 代码(功能)错误---最常见--优先级偏高
      • 界面优化--UI测试--优先级偏低
      • 设计缺陷--优化建议:需求就不合理--优先级偏低
    • bug的等级--优先级
      • 致命错误--blocker

        • 常规操作引起的系统崩溃、死机、死循环、闪退
        • 造成数据泄露的安全性问题,比如恶意攻击造成的账户私密信息泄露
        • 涉及金钱计算--公司巨大损失、业务
        • 阻断性测试,所有测试工作进行不下去(冒烟测试)
        • 权限问题--爱奇艺会员
      • 严重错误--critical

        • 重要功能不能实现
        • 错误的涉及面广,影响到其他重要功能正常时间
        • 非常规操作导致的程序崩溃、死机、死循环、闪退
        • 外观(界面)难以接受的缺陷
        • 密码明文显示
        • 偶现的致命性bug
      • 一般错误--major--会遇到最多

        • 注意:不影响产品的运行、不会成为故障起因,但对产品外观和下道工序影响较大的缺陷
        • 次要功能不能正常实现
        • 操作界面错误(功能与列明定义、含义不一致)
        • 查询结果、数据错误显示
        • 简单的输入限制未放在前端进行控制
        • 删除操作未给出提示---友好一点
        • 偶现的严重性bug
      • 细微错误--minor

        • 注意:程序在一些显示上不美观、不符合用户习惯、一些文字错误--用户体验
        • 1.界面不规范
        • 2.辅助说明描述步清除
        • 3.提示窗口文字未采用行业术语
        • 4.界面存在文字错误
      • 改进建议--enhancement--新需求下一个版本

        • 可以提高产品质量的建议,包括新需求和对需求的改进
    • bug生命周期(管理流程)---重点
      • Bug生命周期:被发现到被关闭的过程
      • 一般缺陷状态:发现--新建(提bug)--指派--已解决--待验--关闭
      • 注意:若bug没有解决好,需要重新打开(激活)--指派--已解决--待验,循环这个过程。中间其他状态:拒绝、延期等。
      • bug跟踪管理流程

        • 流程图
        • 状态处理
        • 梳理

          • 【发现bug】要先确认,防止环境问题、操作问题等一些外因引起的bug。会被开发认为是无效Bug。
          • 【新建(new)】提bug的人或测试老大指派(开发或开发老大),跟进bug,推进开发修复Bug
          • 【重复bug(duplicated)】要求开发备注一下重复bug的 id,方便测试人员确认是不是一个问题,如果是重复的,要加备注,关闭。如果不是一个bug,重新激活(reopened),重新指派开发。
          • 【不是缺陷(invalid)】(1)By design设计如此(2)对需求理解不一致导致操作失误--要讨论一下:①拿到需求,再次需求分析,从用户角度开发,找到证据,罗列证据,尝试说服开发。②无果,找产品或项目经理确认,若是bug,开发修复,不是bug,别纠结,但也留好证据(邮件截图,备注到bug里)。
          • 【无法复现(un-reproduced)】(1)开发无法复现:确认测试环境可否再复现,若可以复现,帮助开发复现,仍无法复现,让他到测试环境调试定位(2)测试和开发都无法复现,要尝试跟踪3-5个版本,每个版本复现超过10次,仍然无法复现,在Bug中加备注(我复现的次数、跟踪版本数),关闭该bug,记录到自己的笔记中。
          • 【开发确认Bug后,不予解决(wontfix)】原因bug级别低(建议性Bug、ui的bug),(1)首先要站在用户角度,说服开发,无果的话(2)找产品确认(3)加备注留证据,最后关闭bug
          • 【延期(delayed)】(1)建议性的bug,作为下一个版本的需求(2)上线之前,修复影响较大(性价比低),此时,要分析①对用户的影响,影响用户体验,就要修复②bug严重级别高,找项目经理、产品拍板确认。若不修复,备注(留证据)。---延期bug不关闭--挂起状态
          • 【已修复(resolved-fixed)】开发修复后,指派给测试,测试验证(bug步骤、结果重新操作一遍),验证后(1)已验证(verified)加备注--项目结束(closed)(2)仍然存在,reopened重新激活,指派开发,开发确认bug,解决Bug。加备注
        • 加备注:方便跟踪、查阅bug
    • bug跟踪管理--缺陷管理工具
      • 工具

        • 禅道(zentao)、bugzilla、jira、bugfree、Readmine、easybug、Mantis、QC(QualityCenter)、TD
      • 提bug

        • 所属产品、项目、模块、影响版本(主干、分支)、当前指派、截止日期(测试不填)、bug类型、操作系统、浏览器、bug标题【重要】、严重程度、优先级(测试不填)、重现步骤(实际结果、期望结果)、抄送、附件
      • 提交bug包含内容

        • 【bug标题】标题要清晰简洁, 写明bug描述;如果没有选择功能模块,最好在标题中标注功能模块。让查有bug的人员清楚知道你所表达的意思。bug的功能模块+ bug的操作+ bug的结果。
        • 【重现步骤】详细写下发现bug的测试步骤-结果-预期。能指导开发重现这个bug。附上测试数据。实际结果用截图直观。
        • 【实际结果】出现bug的结果,粘贴bug截图、日志截图--直观,证据(有图有真相)
        • 【预期结果】记得写清楚预期----参照测试用例的预期结果
        • 【bug类型和严重程度】便于后续测试结果分析, bug的统计
        • 【bug测试环境】什么系统,哪个版本等。兼容性问题、难以重现问题
        • 【附件】日志文件, 文件测试数据。图片、崩溃日志文件等
      • 注意

        • 参考公司前辈写的bug,依葫芦画瓢,拓展测试思维。
        • 偶现Bug的复现率也可以写一下。
    • 常见笔试面试题
      • 1:有没有你印象深刻的bug? bug的原因/bug当时怎么解决?
      • 2: bug的生命周期? (笔试)

        • 指被发现到被关闭的过程。一般缺陷状态:发现--新建(提bug)--指派--已解决--待验--关闭。延期、不予解决。
      • 3:当你开了一个bug,但是开发不认为是bug,如何处理?

        • (1)By design设计如此(2)对需求理解不一致导致操作失误--要讨论一下:①拿到需求,再次需求分析,从用户角度开发,找到证据,罗列证据,尝试说服开发。②无果,找产品或项目经理确认,若是bug,开发修复,不是bug,别纠结,但也留好证据(邮件截图,备注到bug里)。
      • 4:你在发现bug并确认bug的过程中,对于复现率不高的bug怎么处理?

        • 无法复现(un-reproduced):(1)开发无法复现:确认测试环境可否再复现,若可以复现,帮助开发复现,仍无法复现,让他到测试环境调试定位(2)测试和开发都无法复现,要尝试跟踪3-5个版本,每个版本复现超过10次,仍然无法复现,在Bug中加备注(我复现的次数、跟踪版本数),关闭该bug,记录到自己的笔记中。

【测试基础第六篇】bug定义及生命周期的更多相关文章

  1. NHibernate 组件基础 (第六篇)

    NHibernate 组件基础 (第六篇) 一.组件简介 组件(Component)可以理解为被一个对象所包含的对象而持久化,而并非一个实体.简单说来,假如数据库有FirstName,LastName ...

  2. iOS系列 基础篇 04 探究视图生命周期

    iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...

  3. 基础总结篇之一:Activity生命周期[转]

    from:http://blog.csdn.net/liuhe688/article/details/6733407   基础总结篇之一:Activity生命周期 子曰:溫故而知新,可以為師矣.< ...

  4. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  5. 【转】Android总结篇系列:Activity生命周期

    [转]Android总结篇系列:Activity生命周期 Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity ...

  6. 小程序基础知识点讲解-WXML + WXSS + JS,生命周期

    小程序基础 小程序官方地址,小程序开发者工具,点击此处下载.在微信小程序中有一个配置文件project.config.json,此文件可以让开发者在不同设备中进行开发. 微信小程序共支持5种文件,wx ...

  7. 基础总结篇之一:Activity生命周期

    子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...

  8. 转:基础总结篇之一:Activity生命周期

    熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用.其实android中的Acti ...

  9. [转]基础总结篇之一:Activity生命周期

      子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思 ...

随机推荐

  1. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!

    前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...

  2. SpringCloud Alibaba Nacos 服务治理中心

    目录 一.什么是Nacos? 二.Nacos能干吗? 三.Nacos关键特性 四.Nacos中的基本概念 五.如何安装部署Nacos? 六.Nacos数据持久化 一.什么是Nacos? 英文全称Dyn ...

  3. 放眼SEM现状及发展历程

    http://www.wocaoseo.com/thread-187-1-1.html 由于近年来移动应用的基本普及,搜索引擎营销随之进入高速发展时代,应用层次的提升已经成为企业营销策略的一个重要组成 ...

  4. 【小白学PyTorch】1 搭建一个超简单的网络

    文章目录: 目录 1 任务 2 实现思路 3 实现过程 3.1 引入必要库 3.2 创建训练集 3.3 搭建网络 3.4 设置优化器 3.5 训练网络 3.6 测试 1 任务 首先说下我们要搭建的网络 ...

  5. SDWebImage 清除磁盘缓存机制 iOS

    分析的版本 pod 'SDWebImage', '~> 5.0.6' SDWebImage默认清除磁盘缓存的时长是7天. /** * The maximum length of time to ...

  6. 【洛谷日报#26】GCC自带位运算系列函数

    文章转自 洛谷 谈到GCC的黑科技,大家想到的一定是这句: #pragma GCC optimize (3)//吸氧 抑或是这句: #pragma GCC diagnostic error " ...

  7. 【学习中】Unity Schedule

    章节 内容 签到 第一课:界面介绍 第一讲 编辑器工作区 4月27日 第二课:资源管理 第二讲 资源及资源类型 4月27日 第三讲 资源管理:模型和角色动画的输出设置(上) 4月27日 第四讲 资源管 ...

  8. Just an Old Puzzle(2019多校1007)

    Problem Description You are given a 4 × 4 grid, which consists of 15 number cells and an empty cell. ...

  9. php中的加密解密模块-mcrypt

    <?php /* 打开加密算法和模式 */ $td = mcrypt_module_open('rijndael-256', '', 'ofb', ''); /* 创建初始向量,并且检测密钥长度 ...

  10. Vue-router的用法与使用步骤

    Vue-router的使用步骤: Vue Router的使用步骤还是比较清晰的,按照步骤一步一步就能完成路由操作 A.导入js文件 B.添加路由链接 C.添加路由占位符(最后路由展示的组件就会在占位符 ...