界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的 功能都可能在用户的畏惧与放弃中付诸东流。目前界面的设计引起软件设计人员的重视的程度还远远不够,直到最近网页制作的兴起,才受到专家的青睐。而且设计良好的界面由于需要具有艺术美的天赋而遭拒绝。 目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。 1:易用性: 按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。 易用性细则: 1):完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。 2):完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。 3):按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。 4):界面要支持键盘自动浏览按钮功能,即按Tab键、回車鍵的自动切换功能。 5):界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。 6):同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。 7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab 8):默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。 9):可写控制项检测到非法輸入后应給出說明并能自动获得焦点。 10):Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。 11):核取方块和选项框按选择几率的高底而先后排列。 12):核取方塊和選項框要有默認選項,並支援Tab選擇。 13):選項數相同時多用選項框而不用下拉清單框。 14):界面空间较小时使用下拉框而不用选项框。 15):选项数較少时使用选项框,相反使用下拉列表框。 16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。 2:规范性: 通常界面设计都按Windows界面的规范来设计,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。小型软件一般不提供工具厢。 规范性细则: 1):常用菜单要有命令快捷方式。 2):完成相同或相近功能的菜单用横线隔开放在同一位置。 3):菜单前的图标能直观的代表要完成的操作。 4):菜单深度一般要求最多控制在三层以内。 5):工具栏要求可以根据用户的要求自己选择定制。 6):相同或相近功能的工具栏放在一起。 7):工具栏中的每一个按钮要有及时提示信息。 8):一条工具栏的长度最长不能超出屏幕宽度。 9):工具栏的图标能直观的代表要完成的操作。 10):系统常用的工具栏设置默认放置位置。 11):工具栏太多时可以考虑使用工具厢。 12):工具厢要具有可增减性,由用户自己根据需求定制。 13):工具厢的默认总宽度不要超过屏幕宽度的1/5。 14):状态条要能显示用户切实需要的信息,常用的有: 目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。 15):滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。 16):状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。 17):菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。 18):菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。 19):右键快捷菜单采用与菜单相同的准则。 3:帮助设施: 系统应该提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。 帮助设施细则: 1):帮助文档中的性能介绍与说明要与系统性能配套一致。(我们的系统帮助文档都是系统的祖先时期的说明,让人困惑)。 2):打包新系统时,对作了修改的地方在帮助文档中要做相应的修改。 3):操作时要提供及时调用系统帮助的功能。常用F1。 4):在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。也就是说帮助要有即时针对性。 5):最好提供目前流行的联机帮助格式或HTML帮助格式。 6):用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。 7):如果没有提供书面的帮助文档的话,最好有打印帮助的功能。 8 ):在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。 4:合理性: 屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。 合理性细则: 1):父窗体或主窗体的中心位置应该在对角线焦点附近。 2):子窗体位置应该在主窗体的左上角或正中。 3):多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。 4):重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。 5):错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点位置。 6):与正在进行的操作无关的按钮应该加以屏蔽(Windows中用灰色显示,没法使用该按钮)。 7):对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。 8):非法的输入或操作应有足够的提示说明。 9):对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。 10):提示、警告、或错误说明应该清楚、明了、恰当。 5:美观与协调性: 界面应该大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。 美观与协调性细则: 1):长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。 2):布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。 3):按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。 4):按钮的大小要与界面的大小和空间要协调。 5):避免空旷的界面上放置很大的按钮。 6):放置完控件后界面不应有很大的空缺位置。 7):字体的大小要与界面的大小比例协调,通常使用的字体中宋体9-12较为美观,很少使用超过12号的字体。 8):前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用Windows界面色调。 9):如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。 10):大型系统常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。 11):界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。 12):如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。 13):对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。 14):通常父窗体支持缩放时,子窗体没有必要缩放。 15):如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。 6:菜单位置: 菜单是界面上最重要的元素,菜单位置按照按功能来组织。 菜单设测试细则: 1):菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。 2):常用的有“文件”、“編輯”,“查看”等,幾乎每個系統都有這些選項,當然要根據不同的系統有所取捨。 3):下拉菜单要根据菜单选项的含义进行分组,並且按照一定的规则进行排列,用横线隔开。 4):一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。 5):没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头,不常用的靠后放置;重要的放在开头,次要的放在后边。 6):如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。 7):菜单深度一般要求最多控制在三层以内。 8):对常用的菜单要有快捷命令方式,组合原则见8。 9):对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示——最好。 10):菜单前的图标不宜太大,与字高保持一直最好。 11):主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。 12):主菜单数目不应太多,最好为单排布置。 7:独特性: 如果一味的遵循业界的界面标准,则会丧失自己的个性.在框架符合以上规范的情况下,设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。 1):安装界面上应有单位介绍或产品介绍,并有自己的图标。 2):主界面,最好是大多数界面上要有公司图标。 3):登录界面上要有本产品的标志,同时包含公司图标。 4):帮助菜单的“关于”中应有版权和产品信息。 5):公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。 8:快捷方式的组合 在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些在西文Windows及其应用软件中快捷键的使用大多是一致的。 菜单中: 1):面向事务的组合有: Ctrl-D删除;Ctrl-F寻找;Ctrl –H替换;Ctrl-I插入;Ctrl-N新记录;Ctrl-S保存Ctrl-O打开。 2):列表: Ctrl-R,Ctrl-G定位;Ctrl-Tab下一分页窗口或反序浏览同一页面控件;。 3):编辑: Ctrl-A全选;Ctrl-C拷贝;Ctrl-V粘贴;Ctrl-X剪切;Ctrl-Z撤消操作;Ctrl-Y恢复操作。 4)文件操作: Ctrl-P打印;Ctrl-W关闭。 5):系统菜单 Alt-A文件;Alt-E编辑;Alt-T工具;Alt-W窗口;Alt-H帮助。 6):MS Windows保留键: Ctrl-Esc任务列表;Ctrl-F4关闭窗口;Alt-F4结束应用;Alt-Tab下一应用;Enter缺省按钮/确认操作;Esc取消按钮/取消操作;Shift-F1上下文相关帮助。 按钮中: 可以根据系统需要而调节,以下只是常用的组合。 Alt-Y确定(是);Alt-C取消;Alt-N否;Alt-D删除;Alt-Q退出;Alt-A添加;Alt-E编辑;Alt-B浏览;Alt-R读;Alt-W写。 这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。 9:安全性考虑: 在 界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。 如应用出现保护性错误而退出系统,这种错误最容易使用户对软件失去信心。因为这意味着用户要中断思路,并费时费力地重新登录,而且已进行的操作也会因没有 存盘而全部丢失。 安全性细则: 1):最重要的是排除可能会使应用非正常中止的错误。 2):应当注意尽可能避免用户无意录入无效的数据。 3):采用相关控件限制用户输入值的种类。 4):当用户作出选择的可能性只有两个时,可以采用单选框。 5):当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。 6):当选项特别多时,可以采用列表框,下拉式列表框。 7):在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。 8):对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。 9):对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。 10):对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。 11):对错误操作最好支持可逆性处理,如取消系列操作。 12):在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。 13):对可能造成等待时间较长的操作应该提供取消功能。 14):特殊字符常有;;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@! ,.。?/还有空格。 15):与系统采用的保留字符冲突的要加以限制。 16):在读入用户所输入的信息时,根据需要选择是否去掉前后空格。 17):有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理。 10:多窗口的应用与系统资源: 设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。 1):在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至最小化其他窗口来显示该窗口。 2):在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS系统资源。 3):关闭所有窗体,系统退出后要释放所占的所有系统资源,除非是需要后台运行的系统。 4):尽量防止对系统的独占使用。 GUI,GRAPHICAL USER INTERFACE的缩写,通常发音为GOO-ee。众所周之,GUI就是使用图像,输入的文字,带图标的屏幕的计算机界面,取而代之许多键盘的功能。GUI让用户可以通过图标和鼠标与他们的电脑进行交互,而不是在命令行中输入文本。 第一个图形用户界面是由Xerox Palo Alto研究中心在1970年设计的,但是直到1980年代随着苹果的Macintosh出现GUI才开始流行起来。导致其被长时间才被接受的一个原因是 GUI需要相当多的CPU和质量好的显示器,而这些在以前都是相当昂贵的。 现在主要的操作系统都提供了图形用户界面,如Microsoft的Windows, Apple的Mac OS和Sun Microsystem的OpenWindows等. 利用计算机的图形能力产生的程序界面使得程序更加容易被使用。良好设计的图形用户界面可以使用户从负责的命令语言中解放出来。 一般来说,应用程序有以下的基本的组件(或者说是元素): 光标(pointer):显示在屏幕上让用户移动以选择对象和命令的符号。通常显示为一个小的箭头。但是在文字处理的应用程序则是用象大写I一样的光标。 图标(icon)/图片(picture):代表命令,文件或窗口的小图片。通过移动光标到图标上然后按下鼠标,用户可以执行预定的命令。 窗口(window)表单(Form),属性页(Property Sheets),Tab。 菜单(menu),工具栏(tool bar),状态栏(Status bar),进度栏(progress bar) 按钮(button) 对话框(dialog Box),消息框(message Box),输入对话框(input box) 文本框(Text Box),列表框(List Box),组合框(combo Box)、下拉列表框(Drop-down List Box) 复选框(Check Box),单选框(Radio box),选项框(Option box)、滑动条(Slider)、旋转按钮(Spin Button) 静态文字(Static tex),向导(Wizards),树(Tree) …… 由于图形用户界面的普及,针对GUI的测试也单独成为了软件测试的一个重点。在GUI刚开始被采用时,由于没有统一的规范,这一块的测试比较主观。但随GUI技术的成熟,组件的大量采用及重用,越来越多可以遵循的指南使得GUI测试更加客观也更加贴近用户。 此 时慢慢的GUI测试逐渐的和功能测试分开。广义的功能测试(和非功能测试相反),包括系统除了非功能性以外所有的测试。狭义的功能测试主要是指检验和验证系统是否实现了系统的业务需求,旨在验证系统的业务实现能力。GUI测试则主要关注应用程序上GUI组件是否符合规范或用户的操作习惯。当然GUI测试是 不可以脱离功能而独立测试的,它是随着功能的实现,一个一个窗口进行校验的,也可以和功能测试一起测试。对于简单的系统可以将GUI测试和验证功能实现一 起进行,但对于稍微大一些的系统,最好将其分开,这样才不至于遗漏任何一个重点。 在接下来的文章中,我主要将针对GUI的元素将我的测试经验进行总结: GUI测试之通用测试篇 不管是Windows的应用程序,还是Java的应用程序,或者其他语言类的应用程序,在其开放之前都应该遵从一定的 GUI开发规范(这个大多SDK供应商都有)。那么测试也主要依据其进行GUI测试。虽然有些差异,但共同点还是很多的,这篇文章就是尝试着对这些共同点的一些总结。 在同一个应用程序中的GUI应该一致,这是最重要的,也是最基本的。 在视觉效果上应该和其他标准的Windows应用程序相同 采用标准的键集(快捷键),在同一系统中,同样的操作,特别是名称相同的操作就好使用一致的快捷键。例如浏览(Browse。。。)按钮如果在一个窗口中 快捷键是Alt+B,在另一个窗口最好采用同样的快捷键,这样可以方便用户的操作,不至于让用户混淆快捷键。除非在另一个窗口有比其更重要的操作已占用了一个快捷键,否则最好不要改变。 应用程序启动或进入系统的第一个界面应该显示“关于系统”或有关系统相关信息的屏幕 一般来说,应用程序应该保持为最大化。 应用程序可以在Windows的任务条和状态条中显示,如需要在系统托盘中显示的,在缩写至系统托盘和用户移动光标至应用程序的图标上时,最好给予相关的信息。 在系统中使用统一的代表应用程序的图标。 所有的窗口/对话框应具有可以和其他应用程序区分开的一致外观。 应用程序中使用的颜色组合应该有吸引力,且风格一致,搭配合理,色彩的跳跃不要太大。避免使用深色系,特别是红色和绿色,有些客户可能是色盲 登录界面上要有产品信息,如标志和版本,同时包含公司图标。 帮助菜单的“关于”中应有版权和产品信息。 应用程序中应按功能将界面划分局域块,将完成相同或相近功能的按钮框起来, 并配有相应的功能说明 允许使用Tab键切换,且顺序与控件排列顺序要一致,目前流行总体从上到下,同时行间从左到右的方式;Tab不能定位在不可见的控件上; 在不同的分辨率下显示正常(不出现水平和垂直滚动条,无截断的组件),特别是在应用程序推荐的分辨率下显示完全正常,一般为1024*768和800*600。 系统中所有的文字应该没有拼写/文字错误,句子没有语法错误,最好贴近用户的使用习惯。 使用用户知道的术语,而不是深奥的技术术语,特别是在错误提示的消息框中,让用户可以很快的知道问题的所在,而不是揣摩错误信息的意思。尽可能的少用缩写。 英文系统中注意不要使用中文或其他语系字符。 在标识控件用途的标签文本和提示信息中,应使用半角符号。如果是指导性标签文本(如解释按钮功能的句子),则使用全角符号,并且句子应遵循中文标点符号标准。 在提示信息中,避免使用主语,尽可能的使用被动语态。提示信息应简洁明了,没有侵犯性词语。使用一致的大小写规则,避免全大写和复杂的符号。 系统使用统一的字体,不要使用需要另外安装的或操作系统特定的字体库。注意斜体和粗体的使用。 系统目前不提供,以后版本才提供的功能最好隐藏,同一版本不同级别的系统中的不允许使用的功能变灰,或操作提交时给予提示。 系统的帮助文件应该和当前的系统版本相一致 使用"退出"命令终止程序;使用"关闭"移走主窗口和非模式对话框;使用"取消"移走模式对话框。当关闭主窗口并不表示终止进程时,对于主窗口使用"关闭"来代替使用"退出"。例如:关闭打印机状态窗口不会取消打印任务 退出系统后应该彻底的关闭程序,而不要在系统托盘或任务条中继续保留系统的某个窗口。如果要保留,在退出系统时应该给予用户提示。 程序应该能够能够保存而恢复到用户最后退出的状态。MDI程序应该能够恢复文档窗口的大小和位置。对话框,下拉框通常应该使用最后输入的值作为默认值。 不同界面中的同一功能应该使用同样的图标和图片。 公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮,用语等应该大体一致。 。。。。。 GUI测试之窗口篇 窗口是Windows本身以及Windows 环境下的应用程序的基本界面单位,就是显示在屏幕上的一个矩形区域。一般来说窗口是具有标题栏、菜单/菜单栏、工具栏、工作区、状态栏、最大化、最小化按 钮和滚动条的标准方框,应用程序通过它和用户进行交互。但是如果没有标题栏、状态栏、最大化、最小化按钮是不是就不叫窗口呢。其实不然,窗口的概念很广,例如按钮和对话框等也是窗口,只不过是一种特殊的窗口罢了。这里我主要将的还是标准意义上的窗口。 窗口主要有进入、移动、改变窗口大小;最大化、最小化和还原;使用滚动条和关闭窗口等操作。 因此可以通过如下来测试窗口: 大多数的窗口、屏幕/对话框应该有最小化,恢复和关闭按钮。 所有的窗口、屏幕/对话框应该有和内容相一致对应的标题。 只有主窗口才有标题栏图标、菜单栏、工具栏和状态栏。二级窗口不要使用菜单栏、工具栏或状态栏。 每一个窗口/屏幕都应有功能匹配的OK和Cancel按钮。窗口/对话框的缺省<Enter>键应该设置在OK按钮上;窗口/对话框的缺省<Esc>键应该设置在Cancel按钮上。 a.Escape键取消对话框,焦点重新定位回到父窗口先前的焦点上, b.Alt+F4关闭窗口,和Escape键相似,但它可以在即使没有Cancel按钮的对话框中工作 c.Alt+Space打开窗口的菜单Restore,Move, Size, Minimize, Maximize, Close d.Shift+F10和右击效果一样。 e.可以用键盘上的箭头按钮实现Move和Size功能 一个窗口每个组件的访问键必须是唯一的。 父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。 二级窗口最好不要显示在任务栏中,因为单击主窗口的任务栏按钮也会激活二级窗口。 如果子窗体的任何操作会影响了父窗体的数据时,关闭子窗体同时必须刷新父窗体的数据。 关闭父窗体时必须关闭所有打开的子窗体。如果由于子窗口没有关闭而无法关闭父窗口,必须给予提示信息框。在关闭提示信息框后显示必须关闭的子窗口。 子窗体的大小最好不要超过父窗体,且最好不要遮住父窗体的主要信息。如果存在多层嵌套窗口,每层窗口弹出时都自动往右下移动一点点,以保证不遮盖上层窗口标题为准。 窗口嵌套层次最好不超过3层。 点击窗口中的帮助按钮或F1必须带出和窗口内容相一致的帮助。 窗口可以被多次打开和关闭。但窗口未关闭或被其他窗口覆盖时,再次点击菜单或按钮,测试窗口是否可以被激活。 如果窗体可以最小化,最大化或可调整大小时,窗体上的控件也要随着窗体而缩放;对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。 工具栏按钮应该有浮动的提示,可以根据用户的要求自己选择定制;:相同或相近功能的工具栏放在一起;:一条工具栏的长度最长不能超出屏幕宽度;工具栏的图标能直观的代表要完成的操作;系统常用的工具栏设置默认放置位置;:工具栏太多时可以考虑使用工具厢;:工具厢要具有可增减性,由用户自己根据需求定 制。:工具厢的默认总宽度不要超过屏幕宽度的1/5 状态条要能显示用户切实需要的信息,常用的有: 目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。 菜单和工具条应有清楚的界限,菜单和状态栏中使用统一大小的字体(通常使用5号字体) 菜单应采用“常用--主要--次要--工具--帮助”的位置排列。提供常用的菜单项,如“文件”、“编辑”,“查找”,“打印”等。对常用的菜单项提供快捷命令方式。快捷方式唯一。 主菜单数目不太多时最好为单排布置。如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。菜单深度一般要求最多控制在三层以内。 下拉菜单要根据菜单选项的含义进行分组,並且按照一定的规则进行排列,用横线隔开。一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的放在开头,次要的放在后边。对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示 ——最好。 菜单前的图标不宜太大,与字高保持一直最好。主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。 状态栏中的信息应该根据窗口的内容的变化而变化,如在初始状态时,系统有多少条数据,经过查询后状态栏的数据应该发生变化。 滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比;拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;单击滚动条和滚动条的上下按钮;用滚轮控制滚动条; 如果系统的模块较多,较深,经常会多级菜单,最好在窗口上加上导航条,以方便用户可以快速返回。 。。。。。。 GUI测试之按钮篇 在同一窗口中实现某一功能的按钮是唯一的。 OK按钮总是在上方或者左方,而Cancel按钮总是在下方或右方。 Cancel按钮的等价按键通常是Esc,而选中按钮的等价按钮通常是Enter保持一致。 测试按钮能否正常的实现功能,常用按钮的功能为: OK接受输入的数据或显示的响应信息,关掉窗口 Cancel 不接受输入的信息,关掉窗口。取消时最好给予提示,尤其时有大量输入的窗口。 Close 结束当前的任务,让程序继续进行;关掉数据窗口 Help 调出程序的帮助信息 Save 保存数据,停留在当前窗口。如过保存耗时长的话,最好显示类似沙漏,进度条之类的提示。注意验证能否重复保存。如在IE中由于网速慢而导致的重复保存。 Add 新增记录。新增的记录必须排在首页首行。提交失败后必须保留用户已输入的内容,以便再次提交。提交时需对主要标识字段进行重复值、空值(空格)判断。 Update/Edit 修改/编辑记录。如界面存在复选按钮,勾选多条记录进行修改时,需给予只能对一条记录进行修改,默认为第一条的提示信息。修改时加载的内容都为该记录的实际内容,而不再为默认值。修改完成后必须回到原记录所在位置,且刷新显示修改后的值。提交失败后必须保留用户已修改的内容,以便再次提交。在查询条件下修 改返回后如不满足查询条件则不显示。需对主要标识字段进行重复值、空值(空格)判断。 Delete 删除记录。在删除之前必须有确认删除的提示信息。删除成功后刷新不显示被删除的记录。删除成功后返回到原记录所在页面;而当原记录所在页不存在时,则返回上一页。当被删除的记录与其它记录存在关联时,应给予不允许删除及更明细提示等信息。针对大批量的删除应提供全选复选框,方便用户删除。 Search 查询记录。每次查询应显示返回的结果数。每次查询应定位到首页。保留前一次的查询条件。当查询条件较多时,需配以重置按钮。当未查询到任何记录时,需给予未查找相关记录的提示信息。除用户明确要求不需要外,需提供模糊查询及组合查询功能。当查询返回的结果大于默认的一页大小时,最好采用分页或者根据系统默 认或用户定义的一页显示的记录数量来分页。如有多页,需要提供首页,下一页,上一页,尾页和跳至功能。每页的记录不能重复,但也可以根据用户需要显示上一页的最后一条数据。 Reset 重置。应回到打开窗口时的最初状态。多次点击是否还能正常显示。 Return 返回。如果一个窗口或页面不能通过菜单,工具栏到达,而是必须通过前一个窗口完成才到达,应提供返回按钮或导航条让用户可以返回。 如果点击按钮后还需要用户的进一步的操作,按钮的名称应加上省略号。如Browse。。。 OK/Cancel/Apply/Help键的排放最好遵从Windows的标准排放。 按钮最好都给予浮动提示,特别是图片按钮,可以避免由于网络太慢而导致的太长时间不能往下操作。 GUI测试之对话框、消息框篇 对话框/消息框的缺省<Enter>键应该设置在OK按钮上;对话框/消息框的缺省<Esc>键应该设置在Cancel按钮上。 一般来说重要的或复杂操作成功后应该给予提示,根据系统的特性选择弹出信息框或文字显示。需要后续操作的操作在成功后应给予提示。 非法的输入或操作应给出足够的提示说明。 对可能造成数据无法恢复的操作应该给予确认信息,给用户放弃选择的机会。如删除操作。 提示信息不宜太长,宽度不能超过当前窗口的1/2;当超过此比例时,请视具体情况进行换行。有多行提示信息的,请选择对齐方式(一般为左对齐)。 静态文本标签一般采用左对齐,这样显得更有条理且易于浏览。 静态文本标签一般置于相关控件的左边,有时选项过多过长时放在上面。 复杂或带有专业性的操作或输入最好在输入项下面给予提示。 提示信息不宜太长,宽度不能超过当前窗口的1/2;当超过此比例时,请视具体情况进行换行。 通用对话框控件,如Open…,Save As…,Color…,Fonts…,Print…,Page SetUp…等调用系统的对话框只需要是否调用正确,能否实现正常功能就可以了,里面的具体功能可以不用测试。 消息框中的图标必须根据需要选择正确的使用,一般来说 X 表示有很重要的问题需要提醒用户;? 增亮没有危险的问题; ! 强调警告用户必须知道的事情; i 一般信息,可以使乏味的信息变得有趣。 正在进行的操作提示框应使用省略号,如“删除中。。。”。 对话框标题文本中不要出现省略号。如选择"打印选项..."命令结果而显示的对话框的标题应该为"打印",而不是“打印。。。”。但是,表示命令正在执行过程中菜单对话框(如"连接到Internet..."对话框)是一种例外情况。 对于耗时的操作都应给出类似等待光标、进度表或其他的可视反馈。用户可以取消长时间的操作。如果可以取消未完成的操作,那么将按钮标记为"取消",否则将按钮标记为"停止"。 GUI测试之信息处理类篇 在这篇文章中,我将文本框(Text Box),列表框(List Box),组合框(Combo Box)、下拉列表框(Drop-down List Box),复选框(Check Box),单选框(Radio box)/(optionbox),选项框(Option box)、滑动条(Slider)、旋转按钮(Spin Button)等都作为信息处理类来统一总结。 窗口/屏幕上的每一个字段都应有相应的标签。 根据文本框可以接受的类型测试文本框:1)输入正常的字母或数字2)输入已存在的信息3)输入超过允许长度的字符或边界数字4)输入空白,空格5)输入不 同类型或不同日期格式的数据,6)复制/粘贴等操作强制输入程序不允许的输入数据7)输入数据库或特殊字符集,例如NULL及\n等 测试文件选择框的正确性。使用空文件,只有空格的文件,不同类型的文件,同名文件,内容相同名称不同的文件,大文件等。 测试强制性字段的正确性。强制性字段必须用红色的星号*标识,最好是必填项没有输入时,在光标移走时在相应的文本框后显示需要用户输入的红色信息。一般也可以在提交时用弹出消息框提示未填的必填项,关闭消息框后必须停留在第一个待输入的文本框中。 每一个新窗口/屏幕中,光标默认停留在第一个待输入的文本框中。 一般下拉框中应显示一个默认值,列表框中高亮度显示一个默认值。如果不需要默认值时,一般默认值未“请选择。。。”。一般来说系统应记忆以前输入或选择的信息,但是当涉及安全时,最好不要保留用户的信息。有些地方可以使用复选框让用户决定是否要保留信息。如登录界面。 对输入信息类型有限制的文本框应在输入非法值后给予提示,对于日期型的输入框,最好在标签上就给予提示 当输入的内容达到了字段的长度限制时,一般应控制不允许再输入,或者在提交后提示具体的允许输入的长度,而不是自动截断。 系统中不允许的非法字符,最好是在输入时不允许输入,或在提交时给予具体系统不允许的非法字符列表提示。(如’、”、<、<>) 正确使用复选框或单选框。如果结果只有一个的,则使用单选框,如性别。验证单选按钮不能同时选中只能选中一个,而可以选择多个复选框。 一组单选按钮在初始状态时必须有一个被默认选中,不能同时为空。 分别测试多个复选框可以被逐一选中;同时选中,部分选中;都不被选中。 通过输入数字或用点击上下箭头来测试旋转按钮,测试其自动循环性,如范围为(0~999)先输入为999,在点击向下键,看是否会跳到0。输入字符或超过边界的数值,系统应该提示错误且重新输入; 验证列表框中的条目内容显示正确;允许多选的列表框,要分别检查shift和ctrl选中条目情况 避免使用水平滚动条,因为它会使项目阅读起来比较困难。解决的办法有:尽量使用垂直滚动条、加宽窗口、减小文本的宽度,或者使文本自动换行等。当然,如果确实需要,还可以使用水平滚动条。 全选框勾中时应该选中当页所有记录,去掉当页某个记录的勾选,则全选也不选中。翻页后,自动去掉已勾选的记录及全选的勾选。 复选框可以通过Space可以控制选中/不选中 F4, Alt+down或alt+up控制combobox打开和关闭 对于combobox,Escape键等同于Cancel,Up/down箭头按钮控制向上或向下,Shift+up和shift+down可以多选,Ctrl实现多选; 。。。。。。
|