设计与软件测试2009-01-06 13:06:53 摘要:作者先前是以设计工作为主,很偶然的机会接触了ERP的软件测试,于是在介绍自己的时候很多人都疑问:做设计的怎么做起测试了呢,能做好吗?问的人多了,自己也就思考起这个问题,本文通过自身的两种工作体会,实际的操作思路、方法,旨在系统性地阐明工作的相通性、差异性,以启迪自身对测试工作的专注 ------------------ 提及设计,我们首先想到的是创意、新奇,仿佛天马行空、奇思妙想永远是它的主题,与严谨、规范的测试怎么也不会搭边。然而,在做了一段设计工作,又做了一段测试工作之后,我深深地体会到它们之间虽说不上相辅相成,但也彼此紧密、确有相通之处。 在设计中,为了展示一个主题,我们或许是暴风式的、或许是联想式的思索,为的是让大脑处于极度活跃之中,构思需要的各种元素以及考虑外界的环境与对象,它们可能是:符号、图像,线条、色彩、构图、布局、主体等等诸多因素,唯有如此,素材选择才有甄别,设计时才能挥洒自如,设计结果才能充满吸引力、表现力。 细想一下软件的测试,保证程序功能的正常执行,确保程序流程的持续运行,实现数据的正确运算是测试人员的根本目的。在这个过程中,需要学习程序实现的目的,了解程序的应用环境,熟悉软件的使用操作,揣摩操作人员的执行方式,掌握可接受的数据类型等等,由此,才能有目标地选择输入的测试值、模拟方式,精心构建测试计划、用例。一切的测试精细程度与测试覆盖率都取决于对以上过程的熟悉状况,其中涉及到的因素与考虑到的细节特征以及测试时的思考方式绝不仅仅是一种紧固的模式,也就像设计为了展现主题一样,我们完全可以在目标的引导之下,在这些因素限制的范围之下,放开思想,设计、组织、实施对测试目标的攻击,以其验证所测对象的可靠性。 编写创新的用例——能够暴露问题的测试是成功的,不能暴露问题的测试就是浪费时间。 商业设计里,在满足于用途与符合社会规范之下,新颖、具有创意的作品是人们追捧的。它体现了美与功能的有效结合,给人以愉悦、舒适。方寸之间显示出无穷的魅力,无论它是什么主题,在你内心都会涌起一份感受,犹如磁石一般被紧紧地吸引着。 有人说,设计是感性的,所以你可以“胡思乱想”,有着严格的标准、规格说明的测试工作怎么可以呢? 其实不然,试想测试者如果也是按着程序人员的逻辑思维认识软件、操作软件,恐怕这个软件很难找到不适合的功能。新颖、创意转化成了测试的怀疑、创新,这里的怀疑可不是指对同事的猜忌,而是对所测试对象的错误猜测,反常规性的习惯操作,有时,在一张单据输入一半时,我故意停下几分钟,然后再继续看它是否还认识我,在提供有选择按钮搜索记录的输入框里我会使用手动输入,观察它的反应,有时,在需要执行“刷新”按钮才可以从数据库中装载的数据,我会使用“回车”,时而扮演一个无所不通的精灵,时而是一个让人发笑的、有点愚蠢的小丑,我的思想是活跃的、激荡的,游走在感性与理性之间,甚或者我的思想方式被一帮有着逻辑思维强烈的程序人员戏称为“另类”,由此,也被称其为“怪人”。然而,只有必须经受起这样或那样的事情发生,才能够设计出具有条理性又具有创新性的测试案例,才能够挖掘出来许多意想不到的缺陷(虽然很多时候程序员并不想乐见此事或这会使你的项目经理脸色变得极差),才能距离测试的终极目的越来越近。 有了怀疑的思想,才会有敢于突破、敢于挑战的精神,于是创新也就是随之而来。 专注――当运行探索性测试时,总是记录下所有你所做的以及发生的事情。 愉悦身心的设计作品有时候说不出来是某个色彩或某个符号吸引了你,觉得去除一点或添加一笔都会令人不快。殊不知精品背后是设计师们不知对这些元素反复组合了多少次,对色彩的选取,对版式的分割,对图形的角度选择,细到对线条的粗细、长短等等,这所有的一切无不渗透着一个又一个的失眠之夜,一个又一个的Idea被草拟、否定。一份专注的精神是完成这项工作的心理备战。 在测试的世界里,每一个功能有多种不同的数据等待着输入、验证,期望着正确、错误的结果,一个版本结束了,另一个版本又诞生了,一个需求结束了,另一个需求又萌芽了。必须反复执行,复杂、繁琐,需要耐心、谨慎,注重细节。同理,测试者的内心也要有一份守望——持续不断地验证软件功能。 尤其是对那些无规律、莫名其妙的缺陷,稍不留神它真的就溜之大吉啦。或许由于不能重现我们失去了争辩的权力,失去了说服力,但这并不能就此给我们一个藉口——忽略它。每每遇到此种情况,我总会记录下在这个过程中过往的操作动作,保留操作的过程与缺陷结果,可以是文字描述,也可以用图片抓取,留待某个时间细心研究,或者是深深地把它记在脑海里,就在测试另外一个不相关的功能时,或发现另一个缺陷时,真的会有“灵光乍现”的时刻出现哦。 沟通――最好的测试人员不是发现缺陷最多的人,也不是让大多数程序员感觉难堪的人,他是让最多的缺陷得到改正的人。 在商业化的设计作品中,我们很少看到大量的叙述性的文字出现,取而代之的是图片、符号、几何元素与欣赏者进行的对话,进而达成共识。这种表述往往是错综复杂、难以把握的,太过直接,就会使其中深刻含义转变为浅薄、苍白无力;太过隐晦,其意义又很难被解释和接受,捉摸不透。这就出现了要根据具体的状况而选择适当的方式,从客户那里听取信息,捕捉零星的感知,最终再把这一切转化成一件件可认同的艺术作品,这期间,不能说只是凭着熟练的工具操作,超强的想象力就可以功成留名的,其沟通是不可或缺的主导因素,如果没有一份“心的力量”,不难想象结果是多么地南辕北辙,更不要说恰如其分地传达含义,与客户产生共鸣啦。 同样,测试也不是“独角戏”。工作的初期,要和软件的需求设计者交流,倾听他们的构思,掌握软件的用途以及使用环境以此在自我心中形成一个软件模型,接着还要和项目的负责人交流,时刻了解项目的进度分配以及当下的进行情况以此来分配自己的工作时间。 在我真的卷起袖子,动手验证软件功能的时候,还要不间断地与程序人员保持着沟通,明确无误地向他们指明程序在某个功能下操作了某个按钮,出现了什么样的状况。对拥有设计功底的我来说,图文并茂的把这些问题提交到bug系统中是我惯常的一个方式。渐渐地我发现是属于图文并茂的bug,那些有经验的程序员们只要看到图片,十有八九就都能快捷地寻找到原因并乐意去解决它。而那些没有附带缺陷图片的bug,程序员们看到长长的文字就莫明其妙地产生一丝厌恶感,他们囫囵吞枣地读着它,一些程序员会找到我要求给他演示,以便重现这个问题,而有的程序员直接把bug状态一转回复说:无法重现这个问题,请重新上报。更有甚者直接回复:此问题已不存在,或许已解决。 沟通就是如此的微妙,它可以是语言、也可以是动作、还可以是你借用来的第三者。它贯穿于我们整个工作的生命周期,需要不间断地琢磨、再加工使之熠熠生辉。 “交互”、“人性化”、“易用性测试”,不同的名称,相同的关注点——提供高效能和愉悦的软件程序 在个性化凸现的信息时代里,人们对设计的需求,尤其是对软件设计的要求中,“交互”越来越成为设计师关注与研究的重点。他们预测产品的使用如何影响产品与用户的关系,以及用户对产品的理解,探索产品、人和上下文(物质、文化和历史)之间的对话;几乎在同一时期的软件领域中,追求“人性化”、“体贴的软件”成为每一款新上市软件的卖点;接着,易用性测试、界面测试,本地化测试在测试的分类中被频频提及,然而这三者的不谋而合,仅用“巧遇”恐怕是不具有说服力的,Google有句经典语录,在这里不妨借来一用:只要坚持以客户为中心,其他就会纷至沓来。 常听别人说“隔行如隔山”。“太夸张了吧,不全都是吧”,这就是我那张不屑一顾的表情,但是,自从接触到测试,看到屏幕上拙劣的布局,颜色的乱用,按钮表单错位的排列,不一致的大小写、不一致的提示规则,不一致的命令录入风格,有时明明有一套UI在那里放着,却还是问题不断,同一行一个单元格内容居中,另一个单元格内容靠上,按钮与表单写在同一个单元格里参差不齐,感到拥挤、疏散的不适宜的间距与高度。起先我为这些感到恼怒,认为这是不负责任,太粗心造成的。随着时间的推移,经过多次的交流,我参透了个中缘由,不是不负责,也不是粗心,而这的确是另一种完全不同的学科,需要有着一定的专业技能才能有意识性地认识它。幸好,自己有着设计的经历,在进行这部分测试的时候自然就多了一双“挑剔”的眼睛,多了一种美学角度的审视。 另外,由于前期的沟通,加上久而久之对测试的专注,对有如迷宫一样的操作,晦涩难懂的词汇更多了一份实践的说服力。 软件程序具备着科学性、条理性、逻辑性,技术是永远讲不完的话题,然而,无论如何,技术的终极目的是为人类服务,走进大众、符合大众的技术成果的应用才可以稳占市场阵地。设计、测试,无论从工作内容、方式还是工作目的,我们不得不说他们之间存在着异曲同工之处。在这一点上,自己是庆幸的,设计为我打开了想象的翅膀,测试给了我求实、稳健的工作态度,工作经历塑造的良好行为早已成为我的习惯、成为我生活中思考问题的一种方式。 持有一份热情奔放、带着各种Idea为我们的测试增添一道带有热带风情的异域之景,寻找出具有鲜活生命力的软件程序。 突然,想起今年9月2号在深圳威尼斯皇家酒楼IBM发布的一款新产品——JAZZ,抛开产品的功能与技术不说,仅这个充满着爵士乐的名字已经让我们感受到了它的创新,感受到了它的活力,感受到了后面这个团队的激情,产品发布会在一段爵士乐的背景中拉开了帷幕,顿时洗尽尘世喧嚣,随着丰富的节奏律动,传来左右邻座不约而同地声音:“真棒,我就喜欢JAZZ”,此时,我想无论是产品JAZZ,还是音乐JAZZ都已开始深透进我们的脑海。 -------------- 附:大多数的软件开发者都不会遇到这样具备专业知识且表达准确的客户。对于他们而言,衡量其产品质量和服务质量的标准,就是其客户的满意程度,而不是符合某个规格说明。 交互设计:是人工制品、环境和系统行为,以及传达这种行为的外形元素的设计与定义。不像传统的设计学科主要关注形式,最近则是关注内容和内涵,而交互设计首先旨在规划和描述事物的行为方式,然后描述传达这种行为的最有效形式。 交互设计着重于传统设计较少探索的领域:行为设计。在最近15年以来,越来越多的设计师开始谈论行为:基于软件的产品(或复杂的机械)直接与用户交互的动态方式。 20世纪90年代以来,随着计算机软件和商业行为的联系越来越紧密,特别是因特网的兴起,人们进一步认识到:软件不是孤立的,软件的质量并不是仅由其本身就能决定的,而是由(软件+用户)这个大系统来决定的。软件的成功,在于是否它能够成功嵌入到用户的商业活动中。 -------------- 参考文献: |
|
来自: everydayOK > 《面试》