2010年5月29日星期六

用CamStudio做软件程序演示视频

上个星期一个师兄告诉我可以用CamStudio软件程序演示视频,自己使用了一下非常满意,这个软件不仅开源,而且非常简单易用,可以满足我们创建软件程序演示视频的绝大部分要求。接下来,我在这里做一个简单的介绍。

software_CamStudio CamStudio能够记录你的电脑屏幕和音频的所有活动,并创建符合行业标准的AVI视频文件,我们还可以使用CamStudio内置的SWF Producer将AVI文件转换成流媒体Flash视频(SWF文件)。

 

 

 

 

 

可以用CamStudio做到:

可以使用它来创建任何软件程序演示视频。
或者建立一系列的视频来回答最常见问题。
可以为中学或大学创建视频教程。
可以用它来记录与你的计算机上经常出现的问题,以便展示给技术支持人员。
可以使用它来创建以视频为基础的信息产品。
甚至可以用它来记录你发现的新的技巧关于使用你喜欢的软件程序,你忘了之前。

可以在CamStudio的主页下载到这个软件,并获得更多的帮助:
http://camstudio.org/

最后谈一点无关本文主题的东西。上个星期看了欧洲冠军杯决赛,国米夺冠,内心非常激动。
附上网上看到的笑话一则:
皇马买了C罗,曼联进8强了;皇马买了本泽马,里昂进8强了;皇马卖了斯内德,国米进8强了;皇马卖了罗本,拜仁进8强了......见过悲剧的球队没见过这么悲剧的球队。AC米兰抱着皇马的大腿使劲摇啊,哭啊:“你丫,我买的亨特拉尔呢,就我没有晋级!”皇马大吼一声:“我靠,你派来的卡卡呢!”

Enjoy!

2010年5月19日星期三

工业加工的肉类产品影响心脏的健康

今天谈谈别的肉类消费风险。今天在德国雅虎首页看到的新闻挺触目惊心的题目是Schinken schlaegt aufs Herz(火腿打击心脏)。


AA041239

这里做一个简单的翻译:
红色的肉类消费造成的健康风险是众所周知的。这肉是不一样的肉。最近一项研究表明,工业加工的肉类产品对心脏的健康有很大的负面影响。
不仅因为保持身材的原因,你应该减少食用早餐火腿。如香肠,冷盘加工肉类,不仅增加了胃癌的风险。哈佛公共卫生学院的科学家发现,对这种产品的消费中,罹患心脏病的风险增加了百分之四十二,糖尿病的风险增加了百分之十九。大概每天食用50克 - 相当于约2片培根或香肠,就会增加这些风险。但是未经工业处理的红色肉如羊肉,猪肉或牛肉不会增加这些健康风险。研究是基于对一些国际数据收集与超过百万志愿者的比较。
所以想要健康一定要注意减少工业加工的肉类产品的食用。

2010年5月9日星期日

可用性工程的可用性评估 - 用户评估

再回顾一下,我在以前的文章提到过,可用性评估大概有以下五种:

  • 用户模型(User Model
  • 启发式评估 (Heuristic Evaluation)
  • 认知性遍历 (Cognitive Walkthrough)
  • 用户测试 (User Testing)
  • 用户问卷调查 (Questionnaire)

大体上分为三类:也就是所谓的理论评估、用户评估和专家评估。理论评估和专家评估已经简单介绍过了。现在继续介绍可用性工程的可用性评估 - 用户评估部分也就是用户测试 (User Testing)和用户问卷调查 (Questionnaire)评估方法这两种方法也是我们常常采用的方法,虽然看似简单,但是也常常会忽略很多重要的因素。以下是这两个方法的具体介绍。

用户测试 (User Testing)

1. 前期准备工作

(1)明确测试的目的

    • 帮助改进交互设计
    • 通过测试了解交互中有待改进的地方,要搞清楚为什么出错,而不仅仅是知道错了。可以在测试中收集过程数据——定量的去观察发生了什么问题以及为什么会这样。
    • 评估交互的整体质量
    • 根据一定的衡量指标,通过测试评估交互的水平,比如用户在某个交互任务上耗费的时间,任务是否成功,出错情况等等。也可对两个以上的可选设计针对确定的性能需求进行比较性评测。

(2)准备测试环境
(3)准备测试设备
(4)确定测试过程中的各种角色分配


2.测试执行的六个阶段

  • 为了有效地进行可用性测试,需要正确设计、准备和执行试验。一个测试执行过程一般要经过一些步骤。


3.可用性测试的评价 

(1)通过搜集一些客观、量化的数据进行性能评价 

    • 完成特定任务的时间
    • 在给定时间内完成的任务数目
    • 发生的错误数目  
    • 成功交互与失败交互的比率
    • 恢复错误交互所消耗的时间
    • 使用命令或其他特定交互特征(如快捷键)的数量
    • 测试完毕后用户还能记住的特定交互特征的数量
    • 使用帮助系统的频度
    • 使用帮助的时间
    • 用户对交互的正面评价与负面评价的比率
    • 用户偏离实际任务的次数         

                                                                                                                                                                                                           (2)如果要比较两个可选的交互设计,即对两个交互界面A和B根据某一准则做一个客观的测试,决定那个更好,可以采用如下方法:

    • 选择两个同等规模的测试用户群
    • 将用户随机分配到两个组中
    • 在每个组内执行同样的任务
    • 规定第一组只使用系统A,第二组只使用系统B,分别进行测试


(3)统计分析

  • 使用统计学原理和手段对得到的测试数据进行进一步的统计分析。比如使用统计学中的假设检验,判断系统A与B有没有统计意义上的明显差别。使用统计学中的点估计、平均值等指标评价差别的大小,对结果的准确性进行判断等。

 

问卷调查(Questionnaire)


优点:

  • 问卷法节省时间、经费和人力,这是为什么经常采用问卷法的原因。
  • 问卷法调查结果容易量化
  • 问卷调查是一种结构化的调查,其调查问题的表达形式、提问的顺序、答案的方式与方法都是固定的,而且是一种文字交流方式,因此,任何个人,无论是研究者,还是调查员都不可能把主观偏见代入调查研究之中。其调查的统计结果一般都能被量化出来。
  • 由于问卷调查结果便于统计处理与分析。现在有大量的相关统计分析软件可以帮助我们进行数据分析,有些甚至能直接帮助我们设计问卷。方便实施和分析。也方便进行数据挖掘。
  • 现在的电子问卷克服了纸质问卷的一些缺点,方便实施与调整。虽然他不可能取代面对面的问卷调查,但由于成本更低,更容易及时调整问卷设计上的不足,越来越多的问卷采用电子问卷的形式,可以通过网站,e-mail进行发布与回收。数据直接使用数据库记录,方便筛选与分析。
  • 问卷调查法可以进行大规模的调查。无论研究者是否参与了调查,或者参与的多少,都可以从问卷上了解被访者的基本态度与行为。这种方式是其他任何方法也不可能做到的,而且问卷调查可以周期的进行而不受调查研究人员变更的影响,可以跟踪某些问题用户的变化。

缺点

  • 面向设计的问题问卷调查比较难
    面向未来的调查(为设计进行的调查)很多时候需要了解用户的意图、动机和思维过程。问卷调查这类问题往往效果不佳,或者说问题设计比较难。而开放式的问题,回收质量、分析和统计等工作也会受影响。
  • 调查问卷设计难。
    调查问卷的主体内容设计的好坏,将直接影响整个专项调查的价值。问题的设计需要大量的经验,不同的人针对同一个问题,尤其是面向思维的问题,设计问卷差别可能会很大,信度和效度控制需要丰富经验。
  • 调查结果广而不深。
    问卷调查是一种用文字进行对话的方法,如果问题太多,被访者会产生厌烦情绪,因此,一般的问卷都比较简短,也就不可能深入探讨某一问题及其原因;
  • 问卷调查经常采用由用户自己填答问卷的方式,所以其调查结果的质量常常得不到保证
    因为在被访者填答问卷时,用户的调查过程我们很难得知,是我们需要调查的真实用户吗?(经常有人冒充用户参与调查,目的是为了获得参与调查的回报与奖励)用户当时的情绪状况是怎么样的?是否有其他人影响用户的回答?是否是同别人商量进行填答?用户是否是随意填写问卷的?得到的结果是用户的真实情况?研究者并不知道,所以有人说过:“问卷调查法所得资料的信度与效度问题一直是困扰问卷法的‘幽灵’”。
  • 问卷调查的回收率难以保证。
    问卷调查必须保证有一定的回收率,否则资料的代表性就会受到影响,回收率受问卷长度,问题难易程度,是否涉及隐私,参与调查获得回报多少等因素相关。另外,网络调查的回收率一般都不高,质量也难以保证。

问卷调查的执行过程

  1. 用户要求分析:设定软件的质量目标,准确描述质量目标,通过用户调查,了解用户在使用方面的切实感受。可以定义一些通用的可用性质量因素
  2. 问卷设计:根据用户需求分析进行问卷的设计,需要遵循这样的原则:从用户的角度出发,问题要精确、概括,避免二义性;可以采用的问卷类型包括事实陈述、用户填写意见、用户对事物的态度等;问题形式可以采用单项选择,多项选择(选择所有适用选项)、李克特量表(Likert scales)、开放式问答题等形式
  3. 问卷实施及结果分析:采用抽样调查、针对性调查、广泛调查(附带收集用户信息并进行分类)等方式,其实施可以采用发放调查表、电子邮件、网页等方式。结果分析主要是对调查收集到的数据运用统计方法进行分析、归纳,得到有用的信息

问卷分析

  • 选择题:统计不同选项所占的百分比
  • 李克特量表(Likert scales):统计每个问题的平均得分和标准差等
  • 开放式问题:对答案进行归纳,分类和总结

 

 

以上内容百分之九十不是我写的,都来自一个课件,详见文末参考资料。

可用性评估的五种方法已经介绍完毕。其实应该根据软件的特性和目标对象,销售市场来决定对软件的可用性评估的具体方法。各种方法各有优缺点,我们所要做的就是因地制宜巧用各种方法,也可采用多种方法相结合以得到更好的评估结果。

 

参考资料:
其实本文的大部分资料来自:
http://wenku.baidu.com/view/ab600322192e45361066f54d.html
上的“主讲:刘婷婷 - 人机交互界面设计”PPT文档。(我实在找不到具体最终的来源)
这个人机交互界面设计的PPT做得非常不错,推荐。

可用性工程的可用性评估 - 专家评估

以前的文章提到过,可用性评估大概有以下五种:

  • 用户模型(User Model
  • 启发式评估 (Heuristic Evaluation)
  • 认知性遍历 (Cognitive Walkthrough)
  • 用户测试 (User Testing)
  • 用户问卷调查 (Questionnaire)

大体上分为三类:也就是所谓的理论评估、用户评估和专家评估

今天继续介绍可用性工程的可用性评估 - 专家评估部分。

其实我对专家评审法这种用户不参与的方法挺有兴趣的。所谓的专家评审法大略有以下两种方法:

  1. 启发式评估(Heuristic Evaluation):可用性专业人员根据已有的可用性原则,对界面进行逐一评估。
  2. 认知性遍历(Cognitive Walkthrough):可用性专业人员将自己“扮演”成为用户,通过一定的任务对界面进行检查评估。

具体地说,专家评估就是由评估者(人因专家)以一种可以称为结构化的方式使用系统,测试是否符合预先定义的准则。评估结果反映了评估者的主观看法。这种评估方式主要是系统一致性的评估,即将系统和已建立的人因标准、规则(guideline)或原则(principle)进行比较。

专家评估快速并且便宜,但其缺点是,虽然专家是根据情况(用户水平、群体习惯等)作出判断,但专家关于任务的知识很少,难以从用户的立场看问题,且各人倾向会影响判断。以上的文字来自网络,无法判断最初来源。

 

启发式评估(Heuristic Evaluation)

启发式评估法就是使用一套相对简单、通用、有启发性的可用性原则(即“启发”)来进行可用性评估。具体方法是,专家使用一组称为“启发式原则”的可用性规则做为指导,评价用户界面元素(如对话框,菜单,在线帮助等)是否符合这些原则。

虽然任何人都可以充当评审人员的角色,有试验表明,选用既具有可用性知识又具有和被系统相关专业知识的“双重专家”是最有效的,这样的双重专家比只用可用性知识的专家平局多发现大约20%的可用性问题。每一个评审人员在1~2各小时的评估后都应该提供一个独立的报告,将各独立的报告综合以后就得到最后的报告。在报告中应该包括可用性问题的描述,问题的严重性,改进的建议。

可用性启发的原则又有哪些呢?

可用性启发原则

  1. · 系统状态可见性
  2. · 系统与用户现实世界相互匹配
  3. · 用户控制权与自主权
  4. · 一致性与标准化
  5. · 错误预防
  6. · 识别而非回记忆
  7. · 使用的灵活性与有效性
  8. · 美观而精炼的设计
  9. · 帮助和文档

接下来细细讨论这些原则:

系统状态的可视性

  • 在适当的时候应提供适当的反馈,以便用户随时掌握系统的运行状态
  • 系统的反馈形式可以分为两类:
    • 一类是非文字反馈,另一类是文字反馈
    • 非文字反馈是指系统通过改变人机界面元素的外观或显示暂时的元素,让用户知道他们行动的结果
    • 文字反馈指的是系统根据用户的行动而产生的文字信息
  • 根据反馈显示时间的长短,可以分为非持久反馈和持久反馈。
  • 非持久反馈只与某一个动作有关,在动作完成后,反馈也应被取消。
  • 一些非常重要的反馈则应该成为界面的一部分,持久显示

系统应与用户真实世界相符合

  • 使用用户语言,也就是使用用户熟悉的词汇、惯用语和概念,而不是面向系统的术语。系统还应符合真实世界中的习惯,信息应该按一个自然、合理的顺序出现
  • 其实不仅仅使词语和概念,非语言性的信息同样重要,例如图标、工作的流程等也要符合用户在真实世界的使用习惯

用户的控制权及自主权

  • 提供标记醒目的“紧急出口”,便于用户退出异常状况
  • 与此相关的可用性问题的例子:
    • 在不可逆转的行动之前系统没有提供足够警告
    • 系统没有在适当的实际提供取消的功能
    • 系统的取消功能不明显或是很难找到
    • 系统不支持撤销的功能

一致性和标准化

  • 避免用户无法确定不同的词汇(或情景、动作)是否具有相同含义的情形。
  • 一致性包括两个方面:
  • 内部一致性和外部一致性。
    • 内部一致性指的事系统的各部分之间要保持一致
    • 外部一致性是指系统应该和其他系统、传统习惯及标准保持一致,也就是标准性

帮助用户识别、诊断和修复错误

  • 使用简明的语言,描述问题的本质并推荐解决方法
  • 系统信息应该礼貌,不应该将错误归咎于用户。如“非法命令”或“非法用户名或密码”
  • 在设计错误信息时,另一个常见的策略是先为用户提供一个短的信息,如果这个信息不能满足用户的需要,他们可以用一个按键或链接找到更详细的帮助信息。短的错误信息用来处理比较常见的情况,读起来简单一些,并且可以在大多数情况下帮助用户解决问题。

预防错误

  • 应尽可能预防错误的发生
  • 基于知识的行为和学习是没有区别的,这常常发生在人们刚刚开始使用一个新的系统的时候。在这个层次的行为中,错误主要是由于用户对系统理解的差错引起的。为了防止错误,应该为用户提供正确的帮助信息,帮助他们在解决问题的过程中建立对系统的正确理解
  • 基于规则的行为层次,用户根据记忆中已经形成的规则来处理所接受到的信息。错误常常是因为忽略了重要的步骤,或是使用了错误规则来处理问题。在这个行为层次里,防止错误最有效的方法就是提供明确的文字提示,或是非语言的暗示(如鼠标的变化)
  • 基于技巧的行为层次,用户的行为是一种近乎机械的行为,他们可以不断地对接受到的信号进行条件反射式的处理。错误常常是与用户的知觉及运动技能有关。系统提供的信息应该能清晰地从背景中分辨出来,防止用户错误。在必要时,还应该使用户的行为提升到基于规则的行为层次,用正确的规则处理问题

识别而非记忆

  • 使得对象、动作和选项清晰可见。用户应该不需要在系统的一个部分记忆一些信息,才能使用系统的另一个部分,系统的使用说明应该在需要时容易找到,并清晰可见。

使用的灵活性及有效性

  • 提供一些新用户不可见的快捷键,以便有经验的用户快速执行任务
  • 相关可用性问题的例子:
    • 系统缺少自动化,没有自动地执行下面地任务,例如,一个新的视窗打开时,视窗的大小不合适,用户不得不自己改变视窗的大小
    • 系统没有提供应有的默认值
    • 默认值不正确
    • 使用系统需要太多的控制动作
    • 系统没有提供捷径,如:没有定义必要的功能键

最小化设计

  • 用户界面应美观、精练,不应该包括不相关或不常用的信息。任何多余的信息都会影响哪些真正相关的信息,从而降低他们的可见性
  • 从视觉角度来说,界面上如果有几个元素距离比较接近,或是被先或线框所包围,或是一起移动、变化,或是在形状、颜色、大小、字体上比较相似,人们会认为他们是同一个部分或同属于一组。界面设计中正确地应用这个原则可以起到简化的效果,如果使用不当,则会引起用户理解上的混乱。
  • 人体工程学告诉我们,人的注意资源是有限的,过多的信息不但会使新用户迷惑,也会让熟练用户慢下来。当人的心理活动指向和集中于某一对象时,该对象即成为人的注意中心,它所提供的信息,将得到大脑最有效的加工。处于注意边缘的事物,虽位人所仪式,但大脑反映得模糊不清。而处于注意范围之外的事物,则完全不为人所仪式。所以,人机交互时,人不可能把界面上的所有元素全部接受并产生意识,当用户只能注意某一方面的信息时,就不能注意其他方面的信息。
  • 因为用户注意资源的有限性,界面的设计不但要引导用户合理地使用他们的注意资源,也应该保持界面提供的信息精练简介,在界面上突出某一个元素的方法很多,如使用和背景或其他元素不同的颜色,使用粗体字或大一些的字号,放在页面左上角的信息比右下角的信息得到更多的注意

帮助及文档

  • 提供易于检索、便于用户逐步学习的帮助信息
  • 实验表明,用户使用联机帮助比使用用户手册找到相关信息的时间要短。
  • 相关可用性问题的例子
    • 帮助信息或用户手册不存在
    • 帮助信息没有意义或使用户更加迷惑

 

 

认知性遍历(Cognitive Walkthrough)

在认知性遍历中,专家测评者从一个说明书或早期的原型出发勾践任务场景,然后让用户使用此界面完成任务,即“遍历”界面。用户(称为典型用户)就像使用真正的界面那样对界面进行遍历,使用它们来完成任务。仔细观察用户使用界面的每一步骤,如果界面中存在妨碍用户完成任务的地方,就表明界面中缺少某些必要的内容;完成任务的功能顺序如果繁杂反复,就表明界面需要新的功能以简化任务并修改功能的顺序。

进行认知性遍历活动,需要以下四个条件

  1. 对系统原型的详尽描述,这种描述不一定是完整的,但要相当详尽。诸如菜单的位置描述或措辞选择等这样的细节也可能导致相当大的差异。
  2. 对用户在系统中要完成任务的描述,该任务应当是大多数用户将要执行的有代表性的任务。
  3. 一个完整的、书面的操作清单,列出使用给定原型完成任务所需执行的操作。
  4. 确定用户的身份,以及评估人员能够确定这些用户已具有哪一类别的知识和经验。

 

认知性遍历认为用户完成一个任务的过程有三步:

  1. 用户在交互界面上寻找能帮助完成任务的行动方案。
  2. 用户选择并采用看起来最能帮助完成任务的行动。
  3. 用户评估系统作出的反馈,判断在完成任务上的进展。

 

评审人员可以对用户的每个交互过程模拟这三个步骤去评价,并以回答下列三个问题为基础:

  1. 界面上执行正确动作的控件(按钮、菜单、选项等)是否可见?
  2. 用户是否知道正确动作可以到达希望的结果?
  3. 根据系统对动作的反馈信息,用户是否能够知道他的动作是否正确?

比如用户去一家网上书店买一本数,第一个任务是找到这本书,用户要知道如何找到这本书。这时网站上的图书分类和查询系统可能会暗示用户如何完成交互。用户可以尝试从网站的图书分类里寻找,并根据具体的分类一步步地接近要找地那本书,这时候就要记录下用户是否能够方便地使用网站的分类系统;用户也可以使用网站的查询系统,并长时使用查询规则,系统是否支持方便的查询,以及在查询过程中及时地反馈信息都会影响用户交互任务的完成。

认知性遍历评估过程中记录的信息非常重要,每一个否定的回答都表示存在一个潜在的可用性问题,可以用于知道改进交互设计。

 

以上内容百分之九十不是我写的,都来自一个课件,详见文末参考资料。

我比较注意的是“专家评估快速并且便宜”这句话,对于我而言,快速并且便宜的评估最能实现最大的价值。如果一个进行比较小的软件的可用性评估,我个人也比较倾向使用专家评估法。如果能注意使用启发式评估法的各个要点,并进行详细分析,就可以发现很多的问题,根据我自身的经验,我们可以取得提高软件的可用性立竿见影的效果。认知性遍历方法需要有一定经验的人员对软件可用性进行评估,这对评估人员的经验和能力要求比较高。如果能够结合“认知性遍历”和“启发式评估”这两种方法定能发现软件的可用性的缺陷并提高软件的可用性。

 

参考资料:

其实本文的大部分资料来自:

http://wenku.baidu.com/view/ab600322192e45361066f54d.html

上的“主讲:刘婷婷 - 人机交互界面设计”PPT文档。(我实在找不到具体最终的来源)

这个人机交互界面设计的PPT做得非常不错,推荐。

2010年5月7日星期五

可用性评估 - 理论评估

如果自己无所事事的时候,与其在在网上乱逛,还不如写一篇博客。最近写文章的频率明显提高就是因为最近无所事事的时间很多。
Hanyi on ET 软件可用性工程系列文章:

  1. 软件的可用性测试(usability testing) 要点总结(上)
  2. 软件的可用性测试(usability testing) 要点总结(下)
  3. 可用性测试问卷的一个简单示例
  4. 软件可用性概述

前几天我在UPB图书馆闲逛,一般来说我到图书馆总是有目的,到图书馆这么冷门的地方闲逛,真不是我这种人的风格,在无意中发现了Jakob Nielsen的大作Usability Engineering,而且这本1993年出版的书放在图书馆十几年几乎是还是全新的,看来没有什么人借过这本书。要谈可用性,Jakob Nielsen还是要介绍一下的,这个丹麦人号称是"the king of usability",他拥有大概79个美国的专利,当然都在可用性领域啦。在这里http://www.useit.com/jakob/有关于他的介绍。

关于可用性的测试和评估,在国外现在已经形成一个新的专业,称为可用性工程(Usability Engineering)

在本系列的文章中已经提到了可用性测试的几种常用的方法:

用户模型法
用户调查法
专家评审法
用户测试法

注意以上是可用性测试的方法(Testing)。

这里来聊聊可用性评估(Evaluation),可用性评估是检验软件系统的可用性是否达到了用户的要求。如同本系列的文章中已经提到的我们的目的就是要满足“用户为核心”的设计原则。也就是以让用户爽为最高原则。当然啦,提高软件的可用性还有一些其他的好处例如降低系统技术支持的费用,缩短最终用户训练时间。更有效地利用计算机系统资源等等。

对于一个软件的可用性的评估(Evaluation)方法有那些呢?
根据我Google而来的结果,可用性评估大概有以下五种:
用户模型(User Model)
启发式评估 (Heuristic Evaluation)
认知性遍历 (Cognitive Walkthrough)
用户测试 (User Testing)
用户问卷调查 (Questionnaire)

其实评估方法有很多,但是大体上分为三类:也就是所谓的理论评估、用户评估和专家评估区分标准在于数据来源

理论评估一般是由设计者或评估者根据某种形式化方法计算任务或用户模型与系统描述的匹配情况,这种方法可以给出定量的结果
这篇文章先谈谈理论评估里的用户模型法。
用户模型法是用数学模型来模拟人机交互的过程。这种方法把人机交互的过程看做是解决问题的过程。认为人使用软件系统是有目标的,而一个大的目标可以被细分为许多小的目标。
在人机交互领域中最著名的预测模型是GOMS模型(1983年由Card, Morgan和Newell 提出在交互系统中用来分析建立用户行为的模型。它采用“分而治之”的思想,将一个任务进行多层次的细化。),GOMS 是描述任务和用户执行该任务所需知识的方法,通过目标 (Goal)、操作符 (Operator)、方法 (Method) 以及选择规则 (Selection rule) 四个方面进行描述。(也可以说GOMS模型假设通过方法和选择性规则,形成一些目标和子目标。)
这个GOMS其实在计算机系统的评估方面也有广泛的应用。据说GOMS是人机交互研究领域内少有的几个广为人知的模型之一,并被称为最成熟的工程典范。

详细地说,在GOMS中:
1.目标 Goals
目标就是用户执行任务最终想要得到的结果,它可以在不同的层次中进行定义。
2. 操作 Operators
操作是任务分析到最低层时的行为,是用户为了完成任务所必须执行的基本动作。
3. 方法 Methods
方法是描述如何完成目标的过程。一个方法本质上来说是内部的算法,用来确定子目标序列及完成目标所需要的操作。
4.选择 Selection
选择是用户要遵守的判定规则,以确定在特定环境下所要使用的方法。
当有多个方法可供选择时,GOMS中并不认为这是一个随机的选择,而是尽量来预测会使用哪个方法,这需要根据特定用户、系统的状态、目标的细节来预测要选择哪种方法。

但是GOMS也是有很明显的缺点,它没有清楚的描述错误处理的过程,假设用户完全按一种正确的方式进行人机交互,因此只针对那些不犯任何错误的专家用户。GOMS对于任务之间的关系描述过于简单,只有顺序和选择。事实上任务之间的关系还有很多种,另外选择关系通过非形式化的附加规则描述,实现起来也比较困难。GOMS把所有的任务都看作是面向操作目标的,而忽略了一些任务所要解决的问题本质以及用户间的个体差异,它的建立不是基于现有的认知心理学,无法代表真正的认知过程。  

你或许还有兴趣知道,还有一些用于创建和分析GOMS模型的工具,例如:

GOMSED (Goms-Editor - in german),德国达姆工大GOMSED工具
QGoms (Quick-Goms)
CogTool KLM-based modelling tool

洋洋洒洒一大堆,以上百分之九十不是我写的,都来自一个课件,详见文末参考资料。

用户模型法这个理论评估的方法可以给出定量的结果,但它的假设条件太多,离真正应用还有一段距离。换句话来说就是有点用想当然的方式去探索,然后得出所谓的评估结果。如何建好一个好的预测模型例如GOMS模型,是用户模型法的一个难点。为什么很困难呢,这里举一个例子。譬如我们做数学建模用计算机进行模拟,我们常常必须人为给定各种约束,以避免np hard 问题。但是这些约束常常是以一些经验为前提,和一些不确定的假设。然而如果约束本身就有问题会导致错误的结果。
但是使用用户模型法(理论评估的方法)相对快速并且便宜,如果有一个非常好的模型,和一个相对较好的建模方式,那么用这种方法进行评估还是相当有价值。

参考资料:
其实本文的大部分资料来自:
http://wenku.baidu.com/view/ab600322192e45361066f54d.html
上的“主讲:刘婷婷 - 人机交互界面设计”PPT文档。(我实在找不到具体最终的来源)
这个人机交互界面设计的PPT做得非常不错,推荐。

http://en.wikipedia.org/wiki/GOMS 

http://www1.tu-darmstadt.de/fb/fb3/psy/kogpsy/indexgoms.htm

2010年5月2日星期日

软件的可用性测试概述

今天继续软件可用性测试的系列文章,先前的文章很不完整,可能会让人看得一头雾水,今天将比较完整地从可用性测试的定义延伸,然后谈谈可用性过程(Usability process)以及可用性测试的方法,以下文字大多来自期刊文献的拼凑,具体内容,请参阅本文后的参考文献。

Hanyi on ET 软件可用性测试系列文章:

  1. 软件的可用性测试(usability testing) 要点总结(上)
  2. 软件的可用性测试(usability testing) 要点总结(下)
  3. 可用性测试问卷的一个简单示例
 

软件的可用性定义小结:

软件的可用性定义[引用1]:
ISO 9241-11 (ISO 1993c)的原话:"The effectiveness, efficiency and satisfaction with which specified users achieve specified goals in particular environments".
ISO 9241-11国际标准对可用性定义如下:产品在特定使用环境下为特定用户用于特定用途时所具有的有效性(effectiveness)、效率(efficiency)和用户主观满意度(satisfaction)。其中,有效性是指用户完成特定任务和达到特定目标时所具有的正确和完整程度;效率是指用户完成任务的正确和完整程度与所使用资源(如时间)之间的比率;满意度就是用户在使用产品过程中所感受到的主观满意和接受程度。从人的角度来看软件系统是否易用,高效,使人满意。
下图清晰地表明了可用性各个关键元素的关系:

quality_of_use_usebiltytest_hanyionet 

可用性工程的好处
对产品开发厂商来说,可以减少后期维护,降低开发成本,缩短工期,提高用户接受度,增强产品竞争力,提高企业信誉度。 对用户和使用单位来说,可以提高用户生产效率,减少培训和技术支持费用,提高用户工作的舒适满意程度,提高系统建设投资效益和使用效益。

可用性测试的时机
尽早做,经常做。问题越早发现和弥补,所造成的损失就越低。

ISO 9241: 9241是关于办公室环境下交互式计算机系统的人类工效学国际标准,它由17个部分组成,根据人类工效学和可用性原理,分别对各种硬件交互设备属性和软件用户界面设计问题作了详细的规定和建议。可以对一个产品设计符合该标准的程度进行评估和认证。

 

可用性过程(Usability process):

可用性过程帮助用户交互设计师在回答这些问题分析阶段的设计和支持在设计阶段(见下图[引用2])。可用性的方法有很多,所有的方法基本上基于同样的可用性过程,所以我们有一个从不同的方法中而来的通用的可用性过程抽象[引用2]。下图已经很清晰了表明了可用性过程的各个阶段以及具体操作,具体过程的步骤的分析请看[引用2]

The_usabilty_testing_process_hanyionet

 

可用性测试的方法[引用3]

可以分为四类,用户模型法用户调查法,专家评审法和用户测试法[引用3]

用户模型法是用数学模型来模拟人机交互的过程。这种方法把人机交互的过程看作是解决问题的过程。它认为人使用软件系统是有目的的。而一个大的目的可以被细分为许多小的目的。这了完成每个小的目的,又有不同的动作和方法可供选择,每一个细小的过程都可以计算完成的时间。这个模型就可以用来预测用户完成任务的时间了。这个方法特别适合于无法进行用户测试的情形。在人机交互领域中最著名的预测模型是GOMS(Goals, Operators, Methods, Selections)模型。[引用3]

用户调查法包括问卷调查法访谈法。这两种方法是社会科学研究,市场研究和人机交互学中沿用已久的技术,适用于快速评估,可用性测试和实地研究,以了解事实,行为,信仰和看法。访谈与普通对话的相似程度取决于待了解的问题和访谈和类型。访谈有4种主要类型:开放开(或非结构化)访谈,结构化访谈,半结构化采谈和集体访谈.具体就采用何种访谈技术取决于评估目标,待解决的问题和选用的评估范型。例如,如果目标是大致了解用户对新设计构思(如交互设计)的反映,那么非正式的开放式访谈通常是最好的选择。但如果目标是搜集关于特定特征(如新型WEB浏览器的布局)的反馈,那么,结构化的访谈调查通常更为适合,因为,它的目标和问题更为具体。调查问卷是用于收集统计数据和用户意见的常用方法,它与访谈有些相似,也是用来了解用户的满意度和遇到的问题。问卷需要认真的设计。可以是开放式的问题,也可以是封闭的问题,但必须措辞明确,避免可能的误导问题,保证所收集的数据有高的可信度。在学术论文中常见的可用性问卷包括:用户交互满意度问卷(questionnaire for user interaction satisfaction, QUIS),软件可用性测量目录(software usability measurement inventory, SUMI)计算机系统可用性问卷(computer system usability questionnaire, CSUQ). [引用3]

专家评审法分为启发式评估走查法。启发式评估是由Jakob Nielsen和他的同事们开发的非正式可用性检查技术,使用一套相对简单,通用,有启发性的可用性原则来进行可用性评估。具体方法是,专家使用一组称为“启发式原则”的可用性规则作为指导,评定用户界面元素(如对话框,菜单,在线帮助等)是否符合这些原则。在进行启发式评估时,专家采取“角色扮演”的方法,模拟典型用户使用产品的情形,从中找出潜在的问题。参与评估的专家数目可以不同。由于启发式评估不需要用户参与,也不需要特殊设备,所以它的成本相对较低,而且较为快捷,因此也称为“经济评估法”。[引用3]
走查法包括认知走查和协作走查,是从用户学习使用系统的角度来评估系统的可用性的。这种方法主要用来发现新用户使用系统时可能遇到的问题,尤其适用于没有任何用户培训和系统。走查就是逐步检查使用系统执行的过程,从中找出可用性问题。走查的重点非常明确,适合于评估系统的一小部分。[引用3]

用户测试法:可用性既然是评价软件质量的标准,而且是从用户的角度出发,评价起来当然少不了用户的参与,在所有的可用性评估法中,最有效的就是用户测试法了。该方法是在测试中,让真正的用户使用软件系统,而测试人员在旁边观察,记录,测量。因此,用户测试法最能反映用户的要求和需要的。根据测试的地点不同,用户测试可分为实验室测试和现场测试。实验室测试是在可用性实验室里进行的,而现场测试则是由可用性测试人员到用户的实际使用现场进行观察和测试。根据试验设计的方法不同,用户测试以可分为有控制条件的统计试验和非正式的可用性观察测试。这两种试验方法在某些情况下也可以混合使用,所以经常被笼统的称为可用性试验。可用性的实验就是在产品实际应用的环境之外,就特定的环境、条件、使用者进行测试,藉以记录系统的表现,更能对特定的因果关系进行验证,得到量化的数据。

用户测试常用的方法包括实验室的实验、焦点团体讨论(Focus Group Discussion)及发声思考(Thinking Aloud)。焦点团体讨论是一般市场营销研究常用的手段。邀请一群使用者,一般五至八人一起就几个焦点问题进行讨论,由一位主持人掌控讨论的方向,围绕着预定的题目进行,让参与者都能畅所欲言并热烈讨论。不过若针对软件进行讨论,必须要考虑系统的规模与使用的体验,对企业的软件来说,一次的讨论绝对不够,必须要进行一系列的讨论与评价。[引用3]
发声思考法是心理学研究所用的研究方法,在国外被人机交互或可用性的研究者用来评估软件的使用。发声思考法要求受测者使用指定的系统,边用边说话,说出使用之时心中想的一切,包括困难、问题、感觉等。这个方法能从每位受测者的评价过程中收集到相当大的信息,而所需邀请的受测者也不多,在国外的相关业界可说是标准的软件使用质量评价方法。[引用3]

参考文献:
[引用1]
:N. Baven, M. Macleod , “Usability measurement in context,” Behavior and Information Technology, 13, 1994, pp. 132-145.
[引用2]:Xavier Ferre;, Natalia Juristo, Helmut Windl, Larry Constantine, "Usability Basics for Software Developers," IEEE Software, pp. 22-29, January/February, 2001
[引用3]:吴鹏越,佟秋利,杜炤。软件系统可用性评估综述,清华大学计算机科学与技术系,清华大学计算机与信息管理中心。

2010年5月1日星期六

可用性测试问卷的一个简单示例

Hanyi on ET 今天继续趁热打铁,今天提供应用程序的可用性测试问卷的一个简单示例。这是我的“可用性测试系列”的第三部分,如果有兴趣可以阅读前两部分:

软件的可用性测试(usability testing) 要点总结(上)

软件的可用性测试(usability testing) 要点总结(下)

 

请填写此问卷

我们的软件开发团队非常感谢你志愿参加这次可用性测试占用你宝贵的时间。您的参与对我们软件的应用的开发十分重要。我们希望,参加这次可用性测试是一个有趣和愉快的经历!

问题 1

你觉得成功地完成了任务表上的所有任务?

是的           没有

问题 2

与其他我使用过的软件相比,我发现该软件的应用原型是:

很难使用1 … 2 … 3 … 4 … 5 … 6 非常容易使用

问题 3

作为一个观察者,我发现该软件的应用原型是:

很难使用1 … 2 … 3 … 4 … 5 … 6 非常容易使用

问题 4

软件的目录是设置非常合理,并且功能很容易找到。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 5

我立刻明白了每个菜单项的功能。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 6

我所期待的功能在目录中都可以找到相对应的。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 7

该应用的按钮都设置组织良好,易于查找。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 8

我立刻明白每个按钮的功能。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 9

我所期待的功能在按钮栏中都可以找到相对应的。

强烈反对 1 … 2 … 3 … 4 … 5 … 6 非常同意

问题 10

我发现该软件应用的导航的使用是:

非常困难 1 … 2 … 3 … 4 … 5 … 6 非常容易

问题 11

我对这个软件应用的总体印象是:

非常负面的 1 … 2 … 3 … 4 … 5 … 6 非常正面的

问题 12

你是否感兴趣参加开发团队今后的其他可用性测试?

 

姓名:

E-mail:

日期:

附加评论



参考及延伸阅读:

Sample Application Usability Test Questionnaire

http://it.toolbox.com/blogs/enterprise-solutions/sample-application-usability-test-questionnaire-17827

Sample Usability Test Plan

http://it.toolbox.com/blogs/enterprise-solutions/sample-usability-test-plan-17826

Sample Website Usability Questionnaire

http://it.toolbox.com/blogs/enterprise-solutions/sample-website-usability-questionnaire-17825

Practical Usability Testing

http://www.digital-web.com/articles/practical_usability_testing/

(完)

如何进行软件的可用性测试(usability testing) 要点总结(下)

继续简要介绍可用性测试的要点:

[6]
筹备工作

安装硬/软件
- 运行安装配置

写出指示和关于任务的描述
  任务是否可以进行?
  需要多少工作时间来解决?

写问卷
  是否所有问题可以被回答和被负责?
  是否遗失重要的问题?

通知,并邀请用户和观察员
  确保所有的人已经做好准备

代表职责
  摄像机,登入,帮助,观察...

测试测试的设置
  运行一个预测试!

[7]
重要方面

至少有一位观察员拥有工具使用知识
  主要的工作是熟悉交互系统/工具/产品

至少有一位观察员要有相关领域的知识
  必须努力去熟悉任务域

批评事件的尺度
- 如果你对用户的行为感到惊讶
- 如果用户意气用事
- 观察员之间的差异

了解用户的意图
  想想,对视频的抗拒

[8]
询问和问卷调查

主观印象
- 你喜欢什么?
- 你怎么不喜欢?
- 是缺少什么?
- 是有些东西多余?
- 你会怎么变化?

主观评价
单极:
1 =好,2 =好,3 =最好
两极:
-2 =太差,-1 =坏,...,2 =非常好

决定一个标准值
  例如,平均比1,5更好

留空间给意见补充

[9]
一个典型的测试时间表

每个情况2到2.5小时

5个最终用户/测试者

额外的可用性测试的方法
- 设计的讨论
- 原型
- 检查
- 面向任务的模拟

观察员

设计者,开发者
- 对软件的变更负责

信息管理者
- 对手动更改负责

质量经理
- 对质量的保证负责

领域/工具专家
- 对帮助提示负责

最终用户
- 对任务的工具不对应负责

可用性工作人员1
- 对测试的设置负责

可用性工作人员2
- 对记录数据工作负责

[10]
观察室

录像机
'shadow'屏幕
登入软件
多个显示器
可用性测试的工作人应注意提供...

- 舒适的环境
- 较暗淡的光线
- 舒适的椅子
- 茶点
- 休息

测试室

应该看起来像一个正常的工作地点
+单向镜子
+摄像机,麦克风
[让测试者知道, 他将被观察!]

[11]
撰写报告

分析协议

关键事件的重要性
[1]必须立即修复
[2]必须在交付前修复
[3]应该在交付前修复
[4]应该在下一版本发表前修复
[5]应该在未来修复

定量数据分析
- 频率
- 均值加标准差

磁带的编辑
  视频序列与关键事件

参考文献:
Jakob Nielsen, Usability engineering. Academic, 1993

http://www.idemployee.id.tue.nl/g.w.m.rauterberg/publications/UE_Tutorial.pdf

(完)