【UI型Bug定义】
  这里指的UI型指以下两种Bug:

  第一种是文字型Bug,即和给定的字符资源不一致的Bug,比如文字/字符/提示语/引导语/用户协议等文字方面的不一致。
  第二种是UI效果不一致的Bug,比如应该是个圆角按钮,做出来的界面却是个平角的按钮;有下拉箭头效果,做出来的界面却没有下拉箭头效果;混动界面应该有3屏,做出来的界面却只有2屏,诸如此类。

  【UI型Bug的产生】

  理论上UI型Bug的产生只有一种原因,即开发人员没有按照需求文档或者UI做。

  开发人员为什么没按需求的要求去实现?通常有两种原因:

  第一种,开发人员一开始就没按需求实现
  第二种,需求方频繁变更,没来得及更新文档

  在敏捷Agile场景下,开发人员会把最主要的原因归为需求方没有及时更新文档。
  【如何减少UI型Bug】

  理想情况下,所有的环节都按文档做,是不存在所谓的UI型Bug的。即需求方确定文档,开发人员严格按照文档实现

  UI文档的变动要及时更新并通知到开发人员和测试人员
  开发人员要严格按照文档的需求去开发,不能主动发挥(任何的主动发挥都要征得需求方的同意并通知到下一个环节(即测试环节)的人员)
  【QA人员碰到很多的UI型Bug该怎么办】
  当UI型Bug占到Bug总数的一定数量后,QA人员有义务想产品或者项目经理提出抗议,说明这是在浪费大家的时间。

  【AgileHei测试是怎么做的】
  测试人员不负责测试UI型Bug,由需求方在验收时统一对UI进行验收(或者在项目中期约定一个时间进行修改)。UI型Bug是很直观的Bug,由需求方和实现方直接达成协议,结对及时修改最有效率。
  【结论】
  UI型Bug是沟通不一致的产物,测试人员不要把有限的精力放在UI型Bug上面。为追求所谓的敏捷而导致了后续环节的频繁沟通,不是Agile的本意,是为了敏捷而敏捷,为了增加沟通而沟通。
本文标题:如何有效发现UI用户界面层的缺陷http://www.ltesting.net/ceshi/ceshijishu/qxgl/2013/0220/205977.html

UI型Bug定义的处理方法的更多相关文章

  1. JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)

    简单工厂模式尽管简单,但存在一个非常严重的问题.当系统中须要引入新产品时,因为静态工厂方法通过所传入參数的不同来创建不同的产品,这必然要改动工厂类的源码,将违背"开闭原则".怎样实 ...

  2. 【测试基础第六篇】bug定义及生命周期

    bug定义 狭义:软件程序的漏洞或缺陷 广义:测试工程师或用户所发现和提出的软件可改进的细节(增强型.建议性)或需求文档存在差异的功能实现 职责:发现bug,提给开发,让其修改 bug类型--了解 代 ...

  3. grootJS ui控件定义

    index13.html <html><head> <title>ui控件定义</title> <script src="jquery- ...

  4. JS中定义类的方法

    JS中定义类的方式有很多种: 1.工厂方式    function Car(){     var ocar = new Object;     ocar.color = "blue" ...

  5. js中的数组Array定义与sort方法使用示例

    Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList  定义方法:  1:使用new Array(5  )创建数组 var ary = new Array(5): ...

  6. javascript定义类的方法总结

    1.构造函数法 类是对象的模板,定义了对象共有的方法属性数据 等,在javascript中一个函数就是一个对象,也可以看做一个类的构造方法. 所以我们可以像以下方式定义类: //1.经典的构造方法 Q ...

  7. JS中定义类的方法<转>

    转载地址:http://blog.csdn.net/sdlfx/article/details/1842218 PS(个人理解): 1) 类通过prototype定义的成员(方法或属性),是每个类对象 ...

  8. JAVA 长整型转换为IP地址的方法

    JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...

  9. chapter 13_2 关系类、库定义的元方法

    元表还可以指定关系操作符的含义,元方法为__eq ,__lt(小于) ,__le(小于等于). 而其它3个关系操作符则没有单独的元方法,Lua会 把a ~= b 转化为not(a == b) 将a&g ...

随机推荐

  1. Flume中的HDFS Sink配置参数说明【转】

    转:http://lxw1234.com/archives/2015/10/527.htm 关键字:flume.hdfs.sink.配置参数 Flume中的HDFS Sink应该是非常常用的,其中的配 ...

  2. Linux源码分析之:malloc、free

    之前写代码的时候一直有个疑问,malloc申请内存的时候指定了内存大小,但是free的时候却只指定要释放的内存地址,那么free是如何知道它要释放的内存空间大小呢? 源码之前,了无秘密,下面就从源码来 ...

  3. Win10+VMplayer12中U盘无法挂载解决

    VMplayer 中运行mac osx,想挂载个U盘进去,无奈居然一直挂载不进去,而此时宿主机Win10中的U盘也消失,查看设备管理器居然显示"未知设备" 于是乎一顿度娘,网上的方 ...

  4. 20150117_js_设置时间的显示格式

    /* *设置显示时间格式 *@param: 原始时间 yyyy-MM-dd HH:mm:ss */ function SetDisTime(oldTime) { var nowDate = new D ...

  5. Mysql注入绕过姿势

    1.内联绕过 2.编码绕过,如URLEncode编码,ASCII,HEX,unicode编码绕过 or 1=1即%6f%72%20%31%3d%31,而Test也可以为CHAR(101)+CHAR(9 ...

  6. JQUERY根据值将input控件选中!

    <select>: $('#country').find("option[value = " + data.country + "]").attr( ...

  7. sphinx增量索引和主索引来实现索引的实时更新

    项目中文章的信息内容因为持续有新增,而文章总量的基数又比较大,所以做搜索的时候,用了主索引+增量索引这种方式来实现索引的实时更新. 实现原理: 1. 新建一张表,记录一下上一次已经创建好索引的最后一条 ...

  8. Linux里提示cannot find -lsocket解决办法

    今天在我的Linux make时提示我找不到 -lsocket,我就去lib库里查了一下,根本没有这个东东,然后在网上看了好多都是说缺少这个库要安装,或是要改libsock.so,试了半天都没有用. ...

  9. linq to sql之组装where条件下的'或'语句

    之前遇到过类似的需求,即前台传入几个过滤条件,后台动态组装where. 例如,前台传入name='张三',age=10, 其余的字段,类似email,QQ之类的本次查询时不做过滤. 用linq to ...

  10. 初试 spring web mvc

    作为一名code需要了解更多的知识,编程方面的东西太多了,是个逐渐积累的过程.最近学习一下spring web mvc,写下我个人的一些经验. 1.准备jar包.spring mvc 已经到了版本4, ...