目录

一、什么是需求?

二、什么是BUG?

三、BUG的级别

四、如何描述一个BUG?

五、什么叫软件测试?

六、软件测试的生命周期

七、高频面试题:发现BUG,与开发人员发生争执时,你会怎么办?


一、什么是需求?

       在大部分软件公司中,会有两部分需求,一部分是用户需求,一部分是软件需求
用户需求:客户提出来的需求,终端用户使用产品时必须要完成的任务。该需求一般比较简略
软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。
       
        大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求 ,软件需求是测试人员进行测试工作的基本依据。

二、什么是BUG?

(1)当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。

      (2)当需求规格说明书没有提到的功能,判断标准以最终用户为准: 当程序没有实现其最终用户合理预期的 功能要求时,就是软件错误
        
        
   用通俗的话来说,BUG可以理解为
(1)在软件开发的生命周期中可能导致软件产品出现问题的程序缺陷。

(2)产品说明书中规定要做的事情,而软件没有实现。

(3)产品说明书中没有提到过的事情,而软件确实现了。

(4)产品说明书中没有提到但是必须要做的事情,软件确没有实现。

(5)软件很难理解,很难使用,速度超慢,测试人员站在最终用户的角度看到的问题是平常的但不是正确的。

三、BUG的级别

1、Blocker(崩溃)

        阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。
2、Critical (严重)
 
      系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等。如:软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序接口错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测试)
3、Major(一般)
       功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。如:操作时间长、查询时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等( 该问题实际测试中存在最多)

4、Minor(次要)

        界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)

四、如何描述一个BUG?

1、发现BUG的版本
举例:Google Chrome 浏览器  版本 111.0.5563.147(正式版本) (64 位)
2、发现BUG的环境
       环境分为硬件环境和软件环境,如果是 web 项目,需要描述浏览器版本,客户机操作系统等,如果是 app项目,需要描述机型、分辨率、操作系统版本等。详细的环境描述有利于故障的定位。   
3、发现BUG的步骤
描述问题重现的 最短 步骤。
举例:1、打开Google Chrome 浏览器  ,登录xxxxx网址
2、点击某某导航栏,发现页面无法弹出的BUG
4、预期结果描述
要指导开发人员知道怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的。
5、错误结果描述
描述错误的现象。 crash 等可以上传 log , UI 问题可以有截图。
6、其他
例如故障的分类:功能故障,界面故障,兼容性故障等。有些有优先级的分类,严重影响测试需要开发人员优先修改的,可以设置优先级为高。
7、不要把多个BUG放到一起
在无法确认是同一段代码造成的故障时,不要将 bug 放在一起提交

举个例子

【测试开发】掌握软件测试的概念及什么是BUG?相关推荐

  1. 测试开发之软件测试模型

    1 为什么学习测试模型 指导测试过程. 2 常见的测试模型  V 模型  W 模型  H 模型  X 模型  前置模型  敏捷测试模型 2.1 V 模型 2.1.1 V 模型的提出和 过程 ...

  2. 测试开发进阶——常用中间件概念——JMX监听器理解

    JMX的简介 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架 ,从Java5.0开始引入到标准Java技术平台中. JMX是一套标准的代理和服务,实际 ...

  3. 测试开发进阶——常用中间件概念——JDBC——连接数据库理解

    Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL 数据库. Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mys ...

  4. 【测试开发】软件测试基础篇

  5. 测试开发到底是做什么的?测试开发需要掌握哪些技术

    关于"测试开发是什么?为什么现在那么多公司都要招聘测试开发?"我们直接就从这两个问题去回答并分析其原因: 测试开发是什么? 为什么现在那么多公司都要招聘测试开发? PS:这里有一套 ...

  6. python测试开发自学教程-自动化平台测试开发:Python测试开发实战_PDF电子书

    因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...

  7. python测试开发自学教程-自动化平台测试开发- Python 测试开发实战

    适读人群 :本书适合从事自动化测试开发技术的广大开发和测试人员使用,也可供产品测试开发管理人员参考. 自动化测试平台测试开发是指开发一个平台系统,结合相关的开源自动化框架进行集成,如 Selenium ...

  8. 有关python的参考文献_测试开发论文,关于Python在嵌入式项目中的辅助开发相关参考文献资料-免费论文范文...

    导读:本文关于测试开发论文范文,可以做为相关论文参考文献,与写作提纲思路参考. 摘 要:嵌入式系统设计开发过程中常会遇到诸如算法分析.原型验证.自动化测试.辅助工具设计等工作,其开发效率和质量直接影响 ...

  9. 【测试开发篇2】软件测试常用概念

    目录 一.需求 什么是需求 用户需求(用户提出的): 软件需求(开发人员实现的): 为什么要把用户需求转化为软件需求: 需求和软件测试人员之间的关系 二.什么是bug 三.什么是测试用例 测试环境: ...

最新文章

  1. 宇宙是一个图网络?「全球最聪明的人」刚刚为物理基础理论指出了全新道路...
  2. python好还是c+-JAVA,Python和C+各有什么特点和优势?
  3. java 球面距离_[置顶] C语言实验题:已知地球上两点的经度和纬度求其球面距离...
  4. CentOS系统启动流程及GRUB文件说明
  5. hdu-2544(简单djikstra)
  6. 让 fork 出来的 Github 仓库从远端仓库拖取最新的修改
  7. ASP.NET 图片剪辑控件
  8. jstl中添加自定义的函数
  9. jqgrid删除某一列(隐藏)
  10. index.dat文件剖析
  11. 7.TCP/IP 详解卷1 --- Ping 程序
  12. 北航计算机组成原理课程设计-2020秋 PreProject-Verilog HDL与ISE-ISE的获取和使用
  13. 微信 心理测试 软件,敢不敢做一份微信版心理测试?
  14. Java 抛出异常【throw】
  15. 非理工科编程零基础文科生秒懂python学习笔记:pandas库数据表格创建和运算基础有哪些?
  16. 手机维修基础 常见故障分析㈢
  17. 传奇怎么修改服务器启动天数,传奇服务端加入有天数会员系统方法
  18. 不用 PLC与变频器通讯程序台达DOP触摸屏MODBUS RTU直接与台达VFD-S1变频器通讯程序
  19. 关于echarts数据二次渲染不成功
  20. 机智云 大气环境参数

热门文章

  1. 关于 URLLC场景下的 the Short Blocklength Regime
  2. 如何用OA系统实现车辆管理
  3. 土壤盐渍预测学习笔记
  4. 什么是看板管理?(zt)
  5. Python基础学习-1-廖雪峰课程-Python的数据类型和面向对象
  6. 使用Python玩赤色要塞 初初初级版
  7. python 导包 numpy_导入Python包时出错(例如Numpy)
  8. 【线上直播】数据治理方案探索
  9. 数据结构与算法解析 -- “递归”篇
  10. 智慧交通全生命周期管理,打造绿色城市可持续发展