【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. __slots__ Python Class限制添加属性

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...

  2. Docker 入门 --- 命令总结

    Docker命令总结 前言 命令来自于官网的get-started教程,放在这里自用 part-1 ## List Docker CLI commands docker docker containe ...

  3. LeetCode: Search a 2D Matrix 解题报告

    Search a 2D Matrix Write an efficient algorithm that searches for a value in an m x n matrix. This m ...

  4. django 返回json数据

    from django.core import serializers @login_required def ajax_get_data(request): json_data = serializ ...

  5. mysql多表查询及其 group by 组内排序

    //多表查询:得到最新的数据后再执行多表查询 SELECT *FROM `students` `st` RIGHT JOIN( //先按时间排序查询,然后分组(GROUP BY ) SELECT * ...

  6. mac键盘图表大全

    Mac键盘图标与对应快捷按键 ⌘——Command () ⌃ ——Control ⌥——Option (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是fn *.m*.h切换 ...

  7. pthread_mutex_timedlock

    函数pthread_mutex_timedlock 当线程试图获取一个已加锁的互斥变量时,pthread_mutex_timedlock互斥量原语允许绑定线程 阻塞的时间.pthread_mutex_ ...

  8. 临时文件夹迁移 temp位置移动

    方法/步骤 首先,在其他驱动器新建一个文件夹,给临时文件夹安个新家 桌面,右键"我的电脑",选择"属性" 点击"高级系统设置" 点击&quo ...

  9. jQuery笔记二——基础/动画

    1. jQuery的基础语法: $(selector).action() 2. 很多jQuery的语句放在ready里面 $(document).ready(function(){ // jQuery ...

  10. 如何安装docker-compose

    docker-compose还是挺好用的~~~~~ 这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但 ...