UI型Bug定义的处理方法
【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定义的处理方法的更多相关文章
- JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)
简单工厂模式尽管简单,但存在一个非常严重的问题.当系统中须要引入新产品时,因为静态工厂方法通过所传入參数的不同来创建不同的产品,这必然要改动工厂类的源码,将违背"开闭原则".怎样实 ...
- 【测试基础第六篇】bug定义及生命周期
bug定义 狭义:软件程序的漏洞或缺陷 广义:测试工程师或用户所发现和提出的软件可改进的细节(增强型.建议性)或需求文档存在差异的功能实现 职责:发现bug,提给开发,让其修改 bug类型--了解 代 ...
- grootJS ui控件定义
index13.html <html><head> <title>ui控件定义</title> <script src="jquery- ...
- JS中定义类的方法
JS中定义类的方式有很多种: 1.工厂方式 function Car(){ var ocar = new Object; ocar.color = "blue" ...
- js中的数组Array定义与sort方法使用示例
Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): ...
- javascript定义类的方法总结
1.构造函数法 类是对象的模板,定义了对象共有的方法属性数据 等,在javascript中一个函数就是一个对象,也可以看做一个类的构造方法. 所以我们可以像以下方式定义类: //1.经典的构造方法 Q ...
- JS中定义类的方法<转>
转载地址:http://blog.csdn.net/sdlfx/article/details/1842218 PS(个人理解): 1) 类通过prototype定义的成员(方法或属性),是每个类对象 ...
- JAVA 长整型转换为IP地址的方法
JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...
- chapter 13_2 关系类、库定义的元方法
元表还可以指定关系操作符的含义,元方法为__eq ,__lt(小于) ,__le(小于等于). 而其它3个关系操作符则没有单独的元方法,Lua会 把a ~= b 转化为not(a == b) 将a&g ...
随机推荐
- Asp.Net MVC App_Code无法识别
Asp.Net MVC需要写公共类的时候 右击添加 App_Code 文件夹,新建类—>右击类—>属性,生成操作 —>选择 —>编译 Asp.Net MVC项目本身是个应用程序 ...
- 说说Python程序的执行过程
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- java连接https时禁用证书验证.
import java.io.File; import java.security.cert.CertificateException; import java.util.List; import j ...
- VMware网络使用NAT模式
公司的网络中,要在本地安装一个Linux虚拟机,但是只分配给宿主机一个IP,那么怎么实现Linux虚拟机的网络访问呢? 使用NAT模式:这是VMware用于虚拟NAT网络下的虚拟交换机. 1.设置网络 ...
- Orcale11g单机安装与卸载
前言:本篇主要介绍Oracle11g企业版安装的准备工作,建议使用图形化界面安装,静默安装出现问题较多,初学者不好排查,本篇只给出关键步骤,最后介绍完全删除Orcale方法: Oracle Datab ...
- WPF中自定义路由事件
public class MyButtonSimple: Button { // Create a custom routed event by first registering a RoutedE ...
- andorid——自定义seekbar(转)
xml 新建=>xml=>values <?xml version="1.0" encoding="utf-8"?> <resou ...
- python入门-分类和回归各种初级算法
引自:http://www.cnblogs.com/taichu/p/5251332.html ########################### #说明: # 撰写本文的原因是,笔者在研究博文“ ...
- 手动释放linux内存cache
总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对这方法 ...
- oozie 客户端常用命令
1.提交作业,作业进入PREP状态 oozie job -oozie http://localhost:11000/oozie -config job.properties -submit job: ...