软件测试掌握可用性规则

发表于:2009-04-15来源:作者:点击数: 标签:软件测试规则
1. 为实际工作设计 这意味着你这次的资料收集,与客户打交道的目的,不是只为了能够做出手头上的一张光盘。这是你的一次人生经验,对以后接项目都很有帮助。现在谁都知道:客户喜欢花哨的东西!这就是重用;不要对客户讲技术,这也是重用。为实际工作设计,

1. 为实际工作设计
这意味着你这次的资料收集,与客户打交道的目的,不是只为了能够做出手头上的一张光盘。这是你的一次人生经验,对以后接项目都很有帮助。现在谁都知道:客户喜欢花哨的东西!这就是重用;不要对客户讲技术,这也是重用。为实际工作设计,就是要抓住软件用户的需求。“让用户参与到这个过程中,但不要盲目接受用户或客户提出的功能需求。”,这是老外的客户,中国的客户呢?就象liubopxn阐述的一样。更多从重用规则需要我们自身来完善,这是莫比斯俱乐部把大家汇集在一起的目的:整体提高,告别单一的埋怨与低效!

2. 不要急于具体化
或许是用户太过于挑剔,但实际过程是怎么样的呢?接到一个项目,然后和客户坐在一起商量一下怎么做,因为客户不懂技术,所以你谈话时也会避免这一点,但作为一个项目需求分析人员,这样做就是你不对了!好的项目需求分析文档能够将专业的软件需求用通俗的、大众化的文字描述出来,以便让客户能够看懂。你提出技术上的要求,将其转化为通俗的文字,解释给客户听,客户同意了,在你的合同(协议)上签字,这才是你应该接着做的事情。和客户草草聊过之后就急于制作演示是我们容易范的错。后果就是无休止的返工。因而造就了这个行业的哀声载道!

3. 避免为创新而创新,不要成为时尚的奴隶
这里我不谈论界面在艺术的创新,而是指软件运用的技术上的创新。什么是创新?什么是时尚?客户喜欢看Flash动画,因而他提出这个要求,这不是创新,因为Flash普及到一个不懂电脑的人都知道了,这已经变成了大众化的需求。如果说,用户既要加Flash,又要加视频,这是很传统的要求。我们的创新可以体现在“不可辩识的控件、可读性差的布局、不能工作的导航设计”上,“用户界面设计有自已的流行趋势,重要的是保持现状。”


4. 努力建立有效的交互
有效的交互来自于对客户需求的收集。很简单,一个演示应该具有“上一步”、“下一步”、“播放”、“暂停”等按钮。后来就增加了音量控制按钮,他包括两种:一种是带音量开关的,一种不带,二者都有音量大小控制滑杆;不要试着建立一个文本类型的菜单,这需要用户按住鼠标不放然后滑动来选择菜单,也不要尝试使用过多的右键菜单,一般用户很少会想到这一点;不要将你的程序直接退出,多加一个询问是否退出的对话框;为演示增加一个最小化的国内按钮;不要试图将所有的按钮都集中在一个地方;也不要吝惜界面的空间而将按钮隐藏起来。导航条应该随时随地清晰可见......


5. 为实际工作试用界面
软件做完了,检测分两步,一是自己的功能性检测,二是用户的操作性检测。这就对你的程序提出了要求,你必须做到程序有接口,与界面的基本脱离,这样,不管用户界面怎么变,你的代码不用变动,因为你知道功能,你的任务的完成功能需求。用户会要求添加几个按钮,添加一些转场效果,这是合乎情理的(大家不要骂我哦)。不要指望一次交货成功,用户的意见应该成为你积累的资本,把用户的唠叨当做是软件的检测吧!不要一味的抱怨,这解决不了问题,努力寻求用户与技术间的结合点,我们才会做的开心一些!

掌握可用性规则之二


细致的用户界面设计是高质量软件的标志之一。设计良好的用户界面使用户与软件的交互更有效率、更能减少用户的错误倾向,更快地学习和更富有成果。好的界面设计不仅仅是屏幕布局周全的考虑,它着眼于在充分理解需完成的工作的基础上创建一个用户界面与系统的有效架构。下面这些规则将能帮助开发小组提高项目界面设计的质量。

1. 为实际工作设计

软件是一个使能工具,让我们更快更有效率地处理事务并延展我们的能力。除了一些入魔的技术专家和全心的质量至上者外,大多数人使用软件不单单是为了享受运行其他人代码的乐趣。不管是用它在互联网上查询明天的天气还是控制微波炉的热量来加热汤,或是为病人远程诊断,软件总是一个工具,一个实现目标的方法。考虑到这点,开发者和设计者就能正确地理解用户要完成的工作和为了成功实现用户需求。
关注实际工作需要考虑为什么用户在完成一项任务时要采取不同的操作,注意不要迷失在实际工作之外的管理和其他事务上。同时要避免技术的诱惑。实现一些很酷的软件特性而试图解决实际不存在的问题,结果只是使用户界面混乱和易于混淆。
留出时间和努力去充分收集相关信息和分析软件用户的需求。让用户参与到这个过程中,但不要盲目接受用户或客户提出的功能需求。毕竟,用户可能是应用领域的专家,但他们对软件的设计和分析有可能并不熟悉。保证在开发过程中引入一种有效的方法,能够收集、组织、验证支撑工作的信息。学习问题领域的描述语言,掌握工作的流程,理解每个需求是怎样以及为什么有机结合成为一个整体项目。然后整合分析成果到界面设计过程中并应用这些认识驱动整个软件的设计。

原文转自:http://www.ltesting.net