欢迎光临!

我的最新日志

  • UI测试及其测试用例设计

    2008-8-25

    界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。目前界面的设计引起软件设计人员的重视的程度还远远不够,直到最近网页制作的兴起,才受到专家的青睐。而且设计良好的界面由于需要具有艺术美的天赋而遭拒绝。
    目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。

          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)
    :主菜单数目不应太多,最好为单排布置。

  • 什么时候使用猴子测试

    2008-5-29

    什么时候使用笨猴子?
    转自编程网
          尽管我们的项目组使用笨猴子来寻找操作系统的bug,我们也同样找到了不少应用程序的bug。笨猴子在四种情况下对于测试产品周期内的程序非常有用:
      
            在产品周期的早期阶段,笨猴子会找到很多很好的bug,为你节省不少的时间。笨猴子不需要知道程序的任何用户交互方面的知识。昨天编译的版本的界面是否改变或者缺少了一半,对它来说都是无所谓的。猴子会测试任何它找到的东西。因此,一旦新版本出来你就可以开始笨猴子测试。在你还在为新的界面改变而调整你的正式的自动化测试包时,笨猴子已经开始探索程序并且很可能已经找到bug了,中国自学编程网,www.zxbc.cn
      
            笨猴子能运行很长时间的测试。除非找到了引起程序崩溃的bug,你想让他们运行多长时间他们就会运行多长时间,把内存和资源使用推到极限。如果你的程序有资源泄漏或者内存问题,笨猴子会帮你找到它。
      
            在产品周期的后半段,当你在想你已经找到了所有的可恶的bug,笨猴子测试能帮助你提高你的信心。运行笨猴子几天的时间而没有引起错误能让你从另外一个角度来判断程序的稳定性。
      
           笨猴子测试能显示传统测试覆盖的漏洞。用覆盖率分析工具运行几个小时的笨猴子测试,然后与那些非猴子测试进行比较。如果猴子测试测试到的一个函数是没有被你的传统测试所覆盖的,那么你需要重新检查你的测试计划和用例。如果你有程序的状态表,让猴子读入这个状态表,并核对每个测试到的状态。如果它找到一个新的状态是没有在你的状态表中定义的,那么猴子就找到了一个崭新的未被测试的、可能充满了bug的程序区域 – 就像在β象限仪的中心地带发现了一个蛀洞一样!至少有一个商业工具(Rational的TestFactory)使用笨猴子方法来探索应用程序并创建自动化测试来最大化覆盖率,同时最小化测试时间。
      
            (你也许会对笨猴子能达到的测试覆盖率感到惊讶。在一个微软内部的应用程序,复杂度类似于写字板,我们在不到15分钟的笨猴子测试中就得到了65%的代码函数覆盖率。)
      
    笨猴子测试的成本

            相对聪明猴子和大部分传统的自动化和手工测试,笨猴子是非常“便宜的”。一个笨猴子可以测试几乎所有的应用程序。因此你可以把它调整到很多不相关的项目中。  

            如果笨猴子能知道一些关于你的程序的信息,则会得到更佳的效果。如果你能告诉猴子什么地方是程序窗体值得注意和测试的地方,则猴子会少浪费很多时间。但是给予笨猴子太多的知识则会带来更高的成本。我们的目标是花少于30分钟的时间来教会笨猴子学习一个新的程序。

            一旦你给了笨猴子探索程序需要的最基本的信息后,把它安置在一台残旧的、运行速度慢的、被放在实验室或办公室角落的、没人会用来做测试的计算机上。让它开始在调试器模式下运行程序并每天检查一下它的进展情况。如果猴子发现了bug,那么这些是你的项目组报告的bug中最低成本的。 [Page]

            像其他测试工具一样,一个好的笨猴子需要一定的代价来开发。但是不像很多测试工具,

            一个普通的笨猴子或“初学者”都能有很多发现bug的机会,只要你以合适的目的,在适当的时间运行它。随着猴子显示出它的价值,你可以添加更多的功能特性,给它更多的技巧。如果你在Windows平台上使用Rational Visual Test,你就可以开始尝试使用笨猴子,使用基于我们微软内部的一个简化的测试猴子。  

            (“Freddie”笨猴子是一个在Thomas R.Arnold的《Visual Test 6 Bible》这本书附带的光盘上的程序。这本书的第14章详细描述了猴子测试,并教你怎样给Freddie添加更多的功能特性。)


    请做出明智的选择

            猴子测试绝对不应该只是你唯一的测试方法。猴子不了解你的程序,出于无知它们会漏掉很多bug。对于嵌入式系统,在简单环境下运行的软件,或者是很难实现自动化的项目,猴子都不会有什么大的作用。

            除非你已经有一个自动化的可读入的模型或状态表,否则聪明猴子的开发成本会非常的高。但是对于项目的关键部分,有一个简单的小的状态表,则会比较有效。对于压力测试和负载测试也很有用。在正确的地方使用的话,聪明猴子会找到很多有意义的bug。

            能理解操作系统的笨猴子可以在各种程序中使用,可以测试很多基本的东西。给你的猴子一些适当的教育,就能有效地提高猴子发现bug的机会。笨猴子不会找到很多的bug,但是它们找到的bug是程序崩溃,程序不响应等严重类型的,都是你最不想它们出现在产品中的bug。
  • 闭上眼睛总结

    2007-11-02

    面试-入职-入测

     

    今天是2007111日星期四,可以说是我正式转正的日子,值得庆祝。717日入职,到今天已经三个多月,其间学到了许多东西,也思考了许多问题。

    713日,我在首次面试失败后再次走进一家公司的大门。

    那天我穿着非常简单(一直都非常简单),跨着一个破包,装着瓶矿泉水,两份简历和一支笔。接待我的是宋小姐,我们公司的接待。刚进公司,给我的感觉是公司跟我一样简单,员工的穿着都非常随便,公司里的摆设也非常简单,没有一件多余的东西。在我之前还有两三个人,有在做题的,有在接受面试的。我镇定地坐在沙发上耐心等待着。

    宋小姐:“王利军是吧?带简历了吗?”

    我本人:“噢,带了,给… …

    宋小姐:“给你,先做份题,带笔了吗?”

    我本人:“带了。”

    我接过笔试题,看了一眼感觉很出乎意料,因为试题也很“简单”---只有sql:简单查询、子查询和联合查询各一道大题。虽然sql没学几天,但还是这点小题还是可以轻松应付。很快我交了卷,然后就是面试。

    面试我的是另一个项目的主管,我看她非常像我喜欢的笔笔。她问了几个简单的技术问题,然后给我介绍了一下公司的业务(一个字没听懂)。面试也非常顺利,她出去后人事的宋小姐跟我谈了下我的情况和我的工资要求,她最关心的还是我没毕业这个实际问题,我很坦白的告诉她因为家庭比较困难,学校同意提前离校半工半读,并且保证不会因为学校的事影响工作。不知道是因为同情还是我真的表现还可以,我很轻松的获得复试资格。

    716日,周一,我准时来到公司,等待复试。复试我的是公司的一个项目经理,看上去是那种非常踏实肯干地人。他同样问了我没毕业参加工作的原因以及是否会和工作冲突,我很肯定的给了回复。我被录用了,17日正式入职。试用期〉=1500,我的转正期望工资是2200元。我没敢多要,后来到公司,才知道自己的做法是非常正确,非常幸运的(公司大众水平是试用期1500,转正1800)。

    周二,2007717日,我生命中非常富有意义的一天。因为这天,我有了自己的工作,可以自豪的说,我长大了。

     

    入职后我非常勤劳,非常努力,非常的不爱说话。

    早上我第一个到公司门口(跟还没掌握公车时间有关,哈哈),等待开门,然后把热水器续满水,打开电脑开始一天的学习。

    我学习非常快,安排我一周学习的东西我一天就学完了,但我的项目主管还没回来,所以我只能继续学习另一个项目。一周后,我开始学习我以后要加入的项目。正如复试我的项目经理所说:我们公司的软件(业务)有的一天就可以学完,有的三个月都未必学的好。我慢慢的感到了困难,困难的不是软件的操作,而是业务,专业术语,而这些东西网上又没有。

    学习中……

     

    我忘了第一天加入项目组开始测试是具体哪天乐,不过从TD里看,我提交的第一个bug726日,这样算来,给我3个月学习的软件,我只连续学习了7天。总之对自己的学习速度还是比较满意的。


    矛盾-迷茫-坚持

     

    刚刚从课桌转移到办公桌,许多东西都感到非常陌生,由于高考的失利本来爱好交际的我开始封闭自己,大学只读了一年半,除了宿舍几个兄弟外几乎没不认识其他的人。朋友们说我成熟了,只有我自己知道,自己变傻了。

    从进公司到现在一直感到某些东西和自己格格不入,但我始终找不到是什么东西,又是因为什么。

    26日,开始加入新版软件的测试,第一天我发现了一个自认为严重级别比较高地bug,系统(b-s架构,中间件-tomcat,数据库-sql server)使用非IE内核浏览器访问,界面显示不正常。我跟几个同事提起时,他们的说法让我很伤心:你别用乱七八糟的浏览器… …无语!忘记说了,他们也是我们项目组测试的。总算是项目经理肯定了我的测试。

     

    插:个人认为测试用例的编写和制定要从客户的需求出发,但不能将自己的思维局限在你是一个用户。记住你是一个破坏者,你应该发挥的你的想象力创造出可能使程序出错的用例。

     

    我的奇怪的用例还不断出现在TD中,因为这个因素测试的同事都感觉我不正常似的,说话使用的都是非常不友好地语气(甚至主管在新版本下来时都是这样对我说:你还重点盯下查询模块,就用你那些怪怪的用例。哈哈,主管是一个非常可爱的女人)。不过,我心中看不起这些人,他们的某些观点实在不应该存在于一个测试人员的头脑中。感觉,我是最专业的,哈哈~(后来的事实也证明我还是比较专业的,比较啊)。哎!和同事相处真难~向往在学校的日子……多幸福!

    我感觉要融入到老员工中实在不是一朝一夕的事情,我开始在不断新来的员工中寻找伙伴。第一次,我请农大的一男一女两个新同事(和我一样新)吃饭(男的不久就跳了),吃完饭发现不是一路的;第二次,跟一个交大的研究生一块吃饭,感觉谈话很投机,是一个可以交的朋友,谁知道,没过两天他也另某高就了,无奈!但是没多久,他出现了… …终于有伴了。我们一块吃饭,一块赶车……相处的很融洽。

    1017日终于到了,但一整天宋和主管都没找我谈转正的事,他们忘了?也许要到周五吧,我等着……到周五过了,星期天也过了,又一个新周来了,他们还没跟我谈。可能他们真的忘了。我用MSN试探性的给宋发条信息,她很聪明,明白我的意思。她说要主管跟我谈。接着主管通过MSN问我:

    “你转正了?几号来公司的?”

    17号”

    “我抽时间跟你谈啊”

    “没关系,这两天我们这个项目比较忙,有时间再说吧,我不着急。”其实我很着急,也很担心,担心公司给的工资太少。(我这个级别的同志工资都不高,基本没有超过我当初要的数)

    17号以后我想的最多的是:

    一旦公司给我的工资低于我当初的期望,我是去是留?

    真的是一个很棘手的问题:

    1.低于期望说明公司没有肯定我的工作;

    2.但公司的工资水平的确很现实;

    3.我是一个还没毕业的民办专科学生,找工作不容易

    如果是你,你怎么选择?

    ……

    庆幸的是,假设没有发生,也没我预期的理想。我当初的想法是,公司培养一个人不容易,而且招一个比较踏实的员工更不容易(也许他们不知道我比较踏实),公司会留下我的,也许会比我期望的高点。

    转正的事情主管是通过MSN给我谈的,我提出多加50块,她说不可以,因为我们项目组都一样。但她怎么不想,一样就是不一样,我试用期就比他们多300!其实我没别的意思,我就是想比我要求的稍微高点,以肯定我的工作,但是我的愿望终究没有实现。最后我发扬我的“无所谓”精神,主管落下一句话:

    “那我就这么报了啊”

    这个我默许了,我刚开始,路还长,不想太争。但让人接受不了的是10月份还是拿试用期的工资!这多不公平,我17号转正,到月底将近半个月。制度上的缺陷,没办法。

    有段时间在思考一个问题,自己的选择对不对。

    公司的工作氛围不太好,测试流程不规范,对测试不太重视等等,加上测试本身就比较枯燥,有段时间,我每天在重复着我的几个用例。软件测试适合自己吗?公司是适合自己吗?但现在选择了,后退肯定是不可能的。我该怎么办?因为后退我现在拥有的一切将不复存在,可能包括我的爱情。公司目前来看是非常有实力的,我们公司做的项目都是部级的全国性的系统,如果我能在公司立足发展是指日可待的。但现在的关键是感觉怀才不遇,感到同事之间的关系难以相处,不知道能在这么大的压力下坚持多久。

    但是想到同学们地境遇,想想自己这一路走来的坎坷,想想她,想想我的外债,想想自己实际的能力,我选择了

    坚持!

    坚持,是我现在唯一正确的选择。

    在坚持中求发展。

     

    期待

     

    我喜欢出差,因为出差就可以领到自己的专用笔记本,因为出差有补助,可以多挣几十块钱。本月中旬后我们可能要出差,但还没确定在北京还是出去,希望出去吧,我想去浙江。还有我期待涨工资,期待年终奖金,期待主管给我们时间和物质条件让我们放手去测,我想研究下QTP

     

    技术

    做测试到现在将近四个月了,收获还是蛮大的。我想抽出时间好好总结下。

     

    看官,辛苦你了,看到了这里,既然辛苦了就再辛苦下,帮我顶下哈。

  • 初来乍到多多关照

    2007-4-17

       我还是个大学生,开学之初在网上无意中看到了软件测试,从那天开始我开始了我的软件测试之旅。4月8日我来到了北京,并参加了软件测试的培训,现在基本入门,了解了软件测试的基本概念。对于我们论坛我慕名已久,从知道软件测试这一职业开始。没有比较没有发言权,无疑我们论坛在同行中是最棒的!作为我们这个大集体的一员我万分高兴,希望我能为我们坛子贡献一点力量。祝愿大家成功!!!

       下面是本人自我介绍:

        王利军 (vito)  男   85.08.18(农历)
        石家庄外经贸职业学院   计算机应用技术专科在读
        有自己的社团“外经贸软件破解小组”
        现住址:北京•海淀•学院路5#•城华园2#-239
        Mobile: 13269570367
        QQ:   252130840
        MSN:   dqar@163.com
     

        最后希望业内前辈、高手不吝赐教,志同道合的朋友一块学习,共同在软件测试这块地面上混出幅模样,说得高尚点,共同为我国的软件事业的发展贡献我们的力量。最后祝愿大家: 身体健康   家庭幸福   事业有成!!!

Open Toolbar