发布新日志

  • Eclipse 开发Android小程序遇到的问题总结(转)

    nikeyshao 发布于 2013-08-08 23:12:21

    用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等~

    1、ERROR: Application requires API version 10. Device API version is 8
        解决方法:修改两个配置文件
        1:在AndroidManifest.xml里,  <uses-sdk android:minSdkVersion="8" />找到這一行,這行是表示要執行這個應用程式所需要的最低版本,把數字改成模擬器上面的版本。(Device API)
        2:在default.properties里  target=android-8 把target改为要运行模拟器的版本就OK了。(application requires API)


    2、Android requires compiler compliance level 5.0. Please fix project properties.错误

        解决方法:
        1. 项目 右键 ->android tools ->Fix Project
        2. 如果不可以,检查Project -> Properties->Java Compiler 确认JDK compliance被设置为1.6,并且enable specific seetings.

    3、下载的.java文件中,注释基本都是中文的,在linux中文部分乱码问题
        windows下中文的编码一般为gbk,而linux下中文的编码一般为utf8,所以在windows下正常打开的文件,到linux下很可能会出现乱码。
        解决办法:使用命令iconv对文件内容编码进行转换。例如我有一个文件"linux常用命令"在windows下打开正常,而在linux下打开则会乱码,办法为在终端输入:
        iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令_cn.txt
         之后再打开"linux常用命令_cn.txt"这个文件,该文件的乱码问题就解决了。

    4、exlipse 三种方法显示行号
        解决方法:
        1.ctrl+f10显示菜单,勾选show line number选项;
        2.在代码编辑区的最左边(即应显示行号位置)点右键,出现的快捷菜单如解决方法1;
        3.依次点击Window(或代码编辑区内点右键)->Preferences->Gerenal->Editors->Text Editors,然后在show line number复选框打对号即可

    5、windows下安装eclipse以及java jdk 环境变量设置

    1、eclipse下载地址http://www.eclipse.org/downloads/,找到与自己用的系统相匹配的下载下来,然后解压就可以了

          java jdk下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html

    2、java jdk环境变量的配置:简单来说就是要设置path和classpath,path是要加上bin,classpath里面是lib。

         我的电脑->属性->高级系统配置。

         1)path系统里面都有了,只要在里面加上bin的地址就可以,每个路径之间用;隔开。

    例如:C:\Program Files\Java\jdk1.6.0\bin

         2)classpath要自己新建,当然如果已经有了,在里面编辑就可以,注意classpath前面要有.;代表当前路径。

    例如:.;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\tools.jar

         3)为了方便书写和以后的更改,可以设置java_home变量,将其设为C:\Program Files\Java\jdk1.6.0,这样path和classpath里面就可以用%java_home%来替换C:\Program Files\Java\jdk1.6.0

    例如:path可设置为%java_home%\bin

    6、配置好环境,运行eclipse出现Failed to load the JNI shared library jvm.dll错误

          解决方法:用的windows是64位的,下了64位的eclipse,但是下的java sdk是32位的,失误了。。。换成64位~

    7、ANT环境变量设置

    Windows下ANT用到的环境变量主要有2个,ANT_HOME 、PATH。

    设置ANT_HOME指向ant的安装目录。

    设置方法:ANT_HOME = D:\apache_ant_1.7.0

    将%ANT_HOME%\bin; %ANT_HOME%\lib添加到环境变量的path中。

    设置方法:PATH = %ANT_HOME%\bin; %ANT_HOME%\lib 

    8、Expected to find it in D:\jre6\lib\tools.jar

    命令行敲ant命令后提示:“Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar”;ANT_HOME环境变量已经配置;
    解决途径:将“C:\Program Files\Java\jdk1.6.0_16\lib”目录下的tools.jar文件拷贝到“C:\Program Files\Java\jre6\lib”目录下,重新运行命令ant,运行正常,问题解决。

    9、Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'

    没有引入JUnit,查看配置里面是否勾选了JUnit.  Project -> Properties -> Java Build Path -> Order and Export and check JUnit if it is unchecked.

    10、Test run failed: Instrumentation run failed due to 'java.lang.ClassCastException'

    把包删掉,开发工程的包和测试包都删,重新装!!!

    11、安装好ADT和Android SDK,没有Android SDK Manager 和Android virtual Device Manager 两个图标

    Eclipse ->window->customize Perpective->Command Groups Availability 勾选andorid 选项

    12、error: Error: No resource found that matches the given name (at 'background' with value '@drawable/btn_title_back_big').

    错误显示基本所有资源文件都出错,在console位置点击右键,选择preferences,讲console buffer size设置足够大可以加个0,就可以看到是哪一个资源文件出错了,修正即可。


    转自:http://blog.csdn.net/wanglin754/article/details/7031836
  • 测试策略

    Spark.lee 发布于 2007-03-17 10:35:04

    4.1 理念:
    企业的主要目的是获取利润,降低测试成本也是盈利的一种方式。
    用较低的代价实现有效的测试,不应为了追求完美的测试而不失一切代价。

    4.2 如何合理地减少测试工作量

        减少冗余的测试
    白盒测试与黑盒测试的方式虽然不同,但往往有“异曲同工”之妙。在很多地方,白盒测试与黑盒测试会产生一模一样的效果(或者能推理出来),这样的测试是冗余的。
    在集成测试、系统测试阶段,可能要执行多次“回归测试”。每一次“回归测试”都会存在不少的冗余,应当设法剔除不必要的重复测试工作。

         减少无价值的测试
    无价值的测试通常是由于不懂得测试技术引起的。例如功能测试,在等价区间之中,本来只要测试一个典型的输入就行了,如果有人在此区间测试了100次,那么其中99次就是无价值的。
         如何“偷工减料”

    有一些“短、平、快”的项目,经费本来就少,用户对质量要求也马马虎虎。为了能多挣一点钱,开发方不得不采用“偷工减料”的方式来降低测试代价。偷工减料的途径无非就是减少测试的内容和频度。但不能砍得太狠,否则软件拿不出手。基本方法是找出软件中需要优先测试的部分(见下表),其它次要部分可以忽略或将来再测试。

        “偷工减料”方法的测试优先级:

    哪些功能是软件的特色?
    哪些功能是用户最常用的?
    如果系统可以分块卖的话,哪些功能块在销售时最昂贵?
    哪些功能出错将导致用户不满或索赔?
    哪些程序是最复杂、最容易出错的?
    哪些程序是相对独立,应当提前测试的?
    哪些程序最容易扩散错误?
    哪些程序是全系统的性能瓶颈所在?
    哪些程序是开发者最没有信心的?     

    4.3 测试何时结束

    基于测试用例的规则
    基于“测试期缺陷密度”的规则
    基于“运行期缺陷密度”的规则

  • MSN协议消息传输过程分析

    Spark.lee 发布于 2007-04-18 09:28:24

    MSN协议消息传输过程分析

                                      

    接着上一篇,分析了MSN认证过程的加密后再来看看MSN会话传输过程,其实MSN的会话传输一直都是明文的,只不过是用UTF-8编码过的,当然E文的消息是直接可以看到的。这次分析采用的工具是Omnipeek,觉得比snifferpro要人性化一些,可以很清楚的看到MSN协议的包。

    开始分析之前先要知道MSN进行任务传输的几个连接过程:

    1conten-type:text/x-msmsgscontrol           

    2conten-type:symmetric-nat                 

    3conent-type:text/x-msmsgsinvite           

    4conten-type:text/x-msnmsgrp2p               

    5Content-Type: text/plain   

    解释一下,1是消息传输控制,2是视频连接,3是音频连接,4是视频,游戏,5是文本传输。本文分析的就是文本的传输过程,总是听人说前段时间某某员工MSN聊天记录被监听到,我孤陋寡闻没听说过,不过MSN一直是明文传输被监听是很正常的事情。其实查看MSN聊天原文是很简单的事情,不至于用工具那么复杂。

    为了方便分析,我只抓取了发送文本的数据包,如下图:

    可以看到协议的类型很清楚的显示出来了,因为MSN协议是建立在TCP协议之上的,所以我们嗅的时候只需要把Filters定义为TCP协议就可以了。下面我们就来分析这些数据包。在MSN上向一个朋友发送一段消息:“这是我的方案11111111111111111111111”加上一段“1”是为了在编码中更好的看出我们的原始消息。 看一下抓到的包如下:

    MSG 27 N 168

    MIME-Version: 1.0

    Content-Type: text/plain; charset=UTF-8

    X-MMS-IM-Format: FN=MS%20Shell%20Dlg%202; EF=; CO=0; CS=1; PF=0

    杩欐槸鎴戠殑鏂规11111111111111111111111 

    从上面的数据我们可以看出MSN消息的组成,MSN消息符合标准的MIME10协议,可以很清楚的看到消息头和消息体,看到这个大家想到了什么?这个一会再说,开始的MSG是消息的命令,后面是MIME的版本号,接着是连接类型Content-Type: text/plain,这里看到了charset=UTF-8,说明消息体是经过UTF-8编码过的,FN=MS%20Shell%20Dlg%202消息头也需要经过URL编码。然后到了消息体:杩欐槸鎴戠殑鏂规11111111111111111111111。这段信息就是我刚才发送的MSN消息,看到那一串“1”了吧,前面的那些字符是不是“这是我的方案”呢?看一下数据包16进制的编码内容:

    58 2D 4D 4D 53 2D 49 4D 2D 46 6F 72 6D 61 74 3A 20 46 4E 3D 4D 53 25 32 30 53 68 65 6C 6C 25 32 30 44 6C 67 25 32 30 32 3B 20 45 46 3D 3B 20 43 4F 3D 30 3B 20 43 53 3D 31 3B 20 50 46 3D 30 0D 0A 0D 0A E8 BF 99 E6 98 AF E6 88 91 E7 9A 84 E6 96 B9 E6 A1 88 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31

    最后的一串“31”就是“1”的16进制了再往前看“E8 BF 99 E6 98 AF E6 88 91 E7 9A 84 E6 96 B9 E6 A1 88就是“杩欐槸鎴戠殑鏂规”的16进制编码,为什么这么说呢?往前看4个字节“0D 0A 0D 0A”,在MSN中每行命令都需要以“0D 0A”作为结束符,转换过来就是“\r\n”在数据包没有decode格式中的表现形式就是“..”。MIME-Version: 1.0 \r\n16进制格式就是4D 49 4D 45 2D 56 65 72 73 69 6F 6E 3A 20 31 2E 30 0D 0A ,感兴趣的朋友可以相应的对照下 。下面就来看下如何解码MSN的中文消息,大家也可以自己编程实现,无非是一个UTF-8的字符转换游戏而已了。

    这里有一个小工具实现了这个功能,打开那个包,选中消息部分的16进制编码,如图:

      

    后面的一串“1”就不用解码了,然后打开这个小工具,把16进制代码复制进去,如图:

    从下面的回显中我们已经看到了被UTF-8编码后的中文消息,这个Raw功能就实现了16进制消息还原的功能,接下来要做的就是UTF-8解码,点下旁边的UTF8Decode按扭,可以看到原始消息已经被还原了,如图:

    可以看到MSN协议的消息传输其实就是一个字符编码游戏而已,根本没有经过加密。这里再提供一个方法,看下MSN的消息体:

    MSG 27 N 168

    MIME-Version: 1.0

    Content-Type: text/plain; charset=UTF-8

    X-MMS-IM-Format: FN=MS%20Shell%20Dlg%202; EF=; CO=0; CS=1; PF=0

    杩欐槸鎴戠殑鏂规11111111111111111111111

    符合MIME标准,我们知道所有的邮件都是符合MIME标准的,也就是说一条MSN消息可以被当作一封邮件来处理,我们来实验下,把以上内容保存为.eml格式,用outlook打开会是什么样呢?结果如图所示:

    消息被还原成功了。其实还原MSN消息的方法还是有很多的,记住这只是一个编码游戏,那么用一些字符处理工具试试?比如winhex之类的,这里我就不演示了,感兴趣的可以自己去实验下。

    live messageer中,MS为了保持MSN协议的开放性和扩展性,而又想增加一些隐私性给用户,所以消息还是明文传输的,只不过增加了一个“悄悄话”功能,在这里对用户的消息传输进行加密,有时间我会分析一下这个功能的加密形式,这篇文章就到这里结束了,有问题或者对协议分析感兴趣的朋友可以来BCT或手册和我讨论,互相学习。

  • 界面测试小节

    Spark.lee 发布于 2006-12-11 09:36:44Top 2 Digest 2

    界面规范

    功能名称

    功能简述

    规范要求

    1. 

    新增

    增加一条或多条记录

    1)     新增的记录必须排在首页首行。

    2)     提交失败后必须保留用户已输入的内容,以便再次提交。

    3)     提交时需对主要标识字段进行重复值、空值(空格)判断。

    2. 

    修改

    修改单条记录

    4)     如界面存在复选按钮,勾选多条记录进行修改时,需给予只能对一条记录进行修改,默认为第一条的提示信息。

    5)     修改时加载的内容都为该记录的实际内容,而不再为默认值。

    6)     修改完成后必须回到原记录所在位置,且刷新显示修改后的值。

    7)     提交失败后必须保留用户已修改的内容,以便再次提交。

    8)     在查询条件下修改返回后如不满足查询条件则不显示。

    9)     需对主要标识字段进行重复值、空值(空格)判断。

    3. 

    删除

    删除一条或多条记录

    10) 必须有确认删除的提示信息。

    11) 删除成功后刷新不显示被删除的记录。

    12) 删除成功后返回到原记录所在页面;而当原记录所在页不存在时,则返回上一页。

    13) 当被删除的记录与其它记录存在关联时,请视需求界定给予不允许删除、更明细提示等信息。

    4. 

    查询

    按各条件查询。

    14) 每次查询后定位到首页。

    15) 每次查询后保留当前查询条件。

    16) 当查询条件较多时,请配以重置按钮一同使用。

    17) 当未查询到任何记录时,需给予未查找相关记录的提示信息。

    18) 除用户明确要求不需要外,需提供模糊查询及组合查询功能。

    5. 

    取消

    取消当前修改并返回

    19) 在数据量较多的页面中,当进行了修改后,取消请给予提示。

    20) 取消返回到原记录所在位置。

    6. 

    保存

    保存当前变更

    21) 当保存所费时间较长时,需给予进度界面提示。

    22) 必须控制不可以重复保存。

    7. 

    重置

    恢复当前变更且不返回

    23) 必须保证重置后与初始进入此页面时一致性。

    8. 

    返回

    返回前一个页面

    24) 当从一个页面点击按钮或链接进入子页面时,子页面必须提供返回按钮。

    9. 

    翻页

     

    25) 带条件进行翻页时,翻页同时可执行查询功能。

    26) 如翻页后进入子页面,子页面需从首页开始显示。

    27) 如有单页复选功能,翻页后不保留选中状态。

    10.     

    全选

    实现单页全选功能。

    28) 勾选全选则选中当页所有记录。

    29) 去掉当页某个记录的勾选,则全选也去掉勾选。

    30) 翻页后,自动去掉已勾选的记录及全选的勾选。

    名称

    简述

    规范要求

    11.     

    默认值

    各个页面都会存在默认值

    31) 打开一个新界面,光标默认停留在第一个待输入的文本框中。

    32) 当选择下拉框不存在默认值时,则默认为“请选择”;当存在默认值时,请绑定显示默认值。

    12.     

    必填项

    对界面必填项的一些规范

    33) 界面的必填项必须以红色*号标识出来。

    34) 当必填项没有填写时,可在光标准备移走时,在文本框后以“请输入”红色文字标识。

    35) 当界面排列较紧时,必填项没有填可以以弹出信息的方式来提示,光标移走时弹出或最后提交时弹出都可;但确定后必须停留在第一个待输入的文本框中。

    13.     

    控件显示

     

    36) 可输入/选择框以正常色显示;不可输入/选择框以灰色显示;

    37) 对于不可输入/选择框,通过鼠标或键盘都不可让光标定位至此控件。

    14.     

    提示语

    提示信息的规范

    38) 提示信息中标点符号请统一为全角符号。

    39) 提示信息如有主语,请统一为‘您’。

    40) 复杂的操作在成功后给予提示信息。

    41) 需要后续操作的操作在成功后给予提示信息。

    42) 提示信息不宜太长,宽度不能超过当前窗口的1/2;当超过此比例时,请视具体情况进行换行。

    43) 当功能按钮为图片按钮时,光标停留需给予浮动提示信息。

    15.     

    键盘支持

    由于用户还是会常用键盘进行操作,故提供一些简单的键盘支持是必要的。

    44) 支持回车键提交。

    45) 支持TAB键、Shift+tab键移动光标焦点。

    46) TAB键移动遵循从左上至右下的原则。

    16.     

    界面传递

    父窗体与子窗体的传递。

    47) 当父窗体与子窗体都存在同样的查询条件时,父窗体已输入的查询条件必须被带到子窗体中。

    48) 当子窗体的任何操作影响了父窗体的数据时,子窗体关闭返回必须刷新父窗体的数据。

    49) 关闭父窗体必须连同子窗体一同关闭。

    50) 子窗体的大小最好不要超过父窗体,且最好不要遮住父窗体的主要信息。

    17.     

    窗口嵌套

    针对多层窗口的嵌套

    51) 如果存在多层嵌套窗口,每层窗口弹出时都自动往右下移动一点点,以保证不遮盖上层窗口标题为准。

    52) 窗口嵌套层次最好不超过3层。

    18.     

    输入框限制

    对各种输入框的限制。

    53) 只允许输入数字的输入框请控制不允许输入其它字符,而不是输入非法值后给予提示。

    54) 只允许输入日期、时间的输入框请给予格式化,而不是输入非法值后再给予提示。

    55) 当输入的内容达到了字段的长度限制时,请控制不允许再输入,而不是保存后自动截断或保存时给予提示。

    56) 对非法字符的控制。限制不可以输入或提交时给予提示。(如<<>

    19.     

    表单

    对表单的相关规范。

    57) 表头水平/垂直居中对齐。

    58) 表单中内容如为定长,则为居中显示;如为不固定的中英文内容,则为居左显示;如为数值形式,则为居左显示。

    59) 保证表格的宽度不被挤变形,对于不定长的内容,可固定显示宽度,当超出此显示宽度后,以……显示,光标停留后,详细内容再在浮动层显示。

    20.     

    快捷键的限制

    由于IE本身的一些原因,避免一些不必要的错误,故对其进行限制。

    60) 在用户没有提供明确需求情况下,限制F5IE工具栏、退格键(仅限页面不限输入框)、Ctrl+N的使用

    61) 限制右键菜单的使用。

    21.     

    界面布局

    对界面布局、分辨率的规范

    62) 必须要能自适应1024*768800*600两种分辨率。

    63)

  • 界面测试

    Spark.lee 发布于 2006-12-08 09:14:23Top 1 Digest 1

     界面测试

    [关键字]多窗体、单窗体 资源管理器 测试

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

    13):菜单条是否显示在合适的语境中?

    14):应用程序的菜单条是否显示系统相关的特性(如时钟显示)?

    15):下拉式操作能正确工作吗?

    16):菜单、调色板和工具条是否工作正确?

    17):是否适当地列出了所有的菜单功能和下拉式子功能?

    18):是否可能通过鼠标访问所有的菜单功能?

    19):相同功能按钮的图标和文字是否一致?

    20):是否能够用其他的文本命令激活每个菜单功能?

    21):菜单功能是否随当前的窗口操作加亮或变灰?

    22):菜单功能是否正确执行?

    23):菜单功能的名字是否具有自解释性?

    24):菜单项是否有帮助,是否语境相关?

    25):在整个交互式语境中,是否可以识别鼠标操作?

    26):如果要求多次点击鼠标,是否能够在语境正确识别?

    27):如果鼠标有多个按钮,是否能够在语境中正确识别?

    28):光标、处理指示器和识别指针是否随操作恰当地改变?        
    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):尽量防止对系统的独占使用。

    5):窗口能否基于相关的输入或菜单命令适当地打开?

    6):窗口能否改变大小、移动和滚动?

    7):窗口中的数据内容能否使用鼠标、功能键、方向箭头和键盘访问?

    8):当被覆盖并重调用后,窗口能否正确地再生?

    9):需要时能否使用所有窗口相关的功能?

    10):所有窗口相关的功能是可操作的吗?

    11):是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口可用,并适当地显示?

    12):显示多个窗口时,窗口的名称是否被适当地表示?

    13):活动窗口是否被适当地加亮?

    14):如果使用多任务,是否所有的窗口被实时更新?

    15):多次或不正确按鼠标是否会导致无法预料的副作用?

    16):窗口的声音和颜色提示和窗口的操作顺序是否符合需求?

    17):窗口是否正确地关闭? 
  • 国外著名的测试技术论坛

    Spark.lee 发布于 2009-06-12 18:20:08

    国外著名的测试技术论坛

    http://bdonline.sqe.com/ 一个关于网站测试方面的网页,对这方面感兴趣的人可以参考
    http://citeseer.nj.nec.com/ 一个丰富的电子书库,内容很多,而且提供著作的相关文档参考和下载,是作者非常推荐的一个资料参考网站
    http://groups.yahoo.com/group/LoadRunner 性能测试工具LoadRunner的一个论坛
    http://groups.yahoo.com/grorp/testing-paperannou-nce/messages 提供网站上当前发布的软件测试资料列表
    http://satc.gsfc.nasa.gov/homepage.html 软件保证中心是美国国家航天局(NASA)投资设立的一个软件可靠性和安全性研究中心,研究包括了度量、工具、风险等各个方面
    http://seg.iit.nrc.ca/English/index.html 加拿大的一个研究软件工程质量方面的组织,可以提供研究论文的下载
    http://sepo.nosc.mil 内容来自美国SAN DIEGO的软件工程机构(Sofrware Engineering Process Office)主页,包括软件工程知识方面的资料
    http://www.asq.org/ 是世界上最大的一个质量团体组织之一,有着比较丰富的论文资源,不过是收费的
    http://www.automated-testing.com/ 一个自动化软件测试和自然语言处理研究页面,属于个人网页,上面有些资源可供下载
    http://www.benchmarkresources.com/ 提供有关标杆方面的资料,也有一些其它软件测试方面的资料
    http://www.betasoft.com/ 包含一些流行测试工具的介绍、下载和讨论,还提供测试方面的资料
    http://www.brunel.ac.uk/~csstmmh2/vast/home.html VASTT研究组织,主要从事通过切片技术、测试技术和转换技术来验证和分析系统,对这方面技术感兴趣的人是可以在这里参考一些研究的项目及相关的一些主题信息
    http://www.cc.gatech.edu/aristotle/ Aristole研究组织,研究软件系统分析、测试和维护等方面的技术,在测试方面的研究包括了回归测试、测试套最小化、面向对象软件测试等内容,该网站有丰富的论文资源可供下载
    http://www.computer.org/ IEEE是世界上最悠久,也是在最大的计算机社会团体,它的电子图书馆拥有众多计算机方面的论文资料,是研究计算机方面的一个重要资源参考来源
    http://www.cs.colostate.edu/testing/ 可靠性研究网站,有一些可靠性方面的论文资料
    http://www.cs.york.ac.uk/testsig/ 约克大学的测试专业兴趣研究组网页,有比较丰富的资料下载,内容涵盖了测试的多个方面,包括测试自动化、测试数据生成、面向对象软件测试、验证确认过程等
    http://www.csr.ncl.ac.uk/index.html 学校里面的一个软件可靠性研究中心,提供有关软件可靠性研究方面的一些信息和资料,对这方面感兴趣的人可以参考
    http://www.dcs.shef.ac.uk/research/groups/vt/ 学校里的一个验证和测试研究机构,有一些相关项目和论文可供参考
    http://www.esi.es/en/main/ ESI(欧洲软件组织),提供包括CMM评估方面的各种服务
    http://www.europeindia.org/cd02/index.htm 一个可靠性研究网站,有可靠性方面的一些资料提供参考
    http://www.fortest.org.uk/ 一个测试研究网站,研究包括了静态测试技术(如模型检查、理论证明)和动态测试(如测试自动化、特定缺陷的检查、测试有效性分析等)
    http://www.grove.co.uk/ 一个有关软件测试和咨询机构的网站,有一些测试方面的课程和资料供下载
    http://www.hq.nasa.gov/office/codeq/relpract/prcls-23.htm NASA可靠性设计实践资料
    http://www.io.com/~wazmo/ Bret Pettichord的主页,他的一个热点测试页面连接非常有价值,从中可以获得相当大的测试资料,很有价值
    http://www.iso.ch/iso/en/ISOOnline.frontpage 国际标准化组织,提供包括ISO标准系统方面的各类参考资料
    http://www.isse.gmu.edu/faculty/ofut/classes/ 821-ootest/papers.html 提供面向对象和基于构架的测试方面著作下载,对这方面感兴趣的读者可以参考该网站,肯定有价值
    http://www.ivv.nasa.gov/ NASA设立的独立验证和确认机构,该机构提出了软件开发的全面验证和确认,在此可以获得这方面的研究资料
    http://www.kaner.com/ 著名的测试专家Cem Kanner的主页,里面有许多关于测试的专题文章,相信对大家都有用。Cem Kanner关于测试的最著名的书要算Testing Software,这本书已成为一个测试人员的标准参考书
    http://www.library.cmu.edu/Re-search/Engineer- ingAndSciences/CS+ECE/index.html 卡耐基梅陇大学网上图书馆,在这里你可以获得有关计算机方面各类论文资料,内容极其庞大,是研究软件测试不可获取的资料来源之一
    http://www.loadtester.com/ 一个性能测试方面的网站,提供有关性能测试、性能监控等方面的资源,包括论文、论坛以及一些相关链接
    http://www.mareinig.ch/mt/index.html 关于软件工程和应用开发领域的各种免费的实践知识、时事信息和资料文件下载,包括了测试方面的内容
    http://www.mtsu.ceu/-storm/ 软件测试在线资源,包括提供目前有哪些人在研究测试,测试工具列表连接,测试会议,测试新闻和讨论,软件测试文学(包括各种测试杂志,测试报告),各种测试研究组织等内容
    http://www.psqtcomference.com/ 实用软件质量技术和实用软件测试技术国际学术会议宣传网站,每年都会举行两次
    http://www.qacity.com/front.htm 测试工程师资源网站,包含各种测试技术及相关资料下载
    http://www.qaforums.com/ 关于软件质量保证方面的一个论坛,需要注册
    http://www.qaiusa.com/ QAI是一个提供质量保证方面咨询的国际著名机构,提供各种质量和测试方面证书认证
    http://www.qualitytree.com/ 一个测试咨询提供商,有一些测试可供下载,有几篇关于缺陷管理方面的文章值得参考
    http://www.rational.com/ IBM Rational的官方网站,可以在这里寻找测试方面的工具信息。IBM Rational提供测试方面一系列的工具,比较全面
    http://rexblackconsulting.com/Pages/publicat-ions.htm
    Rex Black的个人主页,有一些测试和测试管理方面的资料可供下载
    http://www.riceconsulting.com/ 一个测试咨询提供商,有一些测试资料可供下载,但不多
    http://www.satisfice.com/ 包含James Bach关于软件测试和过程方面的很多论文,尤其在启发式测试策略方面值得参考
    http://www.satisfice.com/seminars.shtml 一个黑盒软件测试方面的研讨会,主要由测试专家Cem Kanar和James Bach组织,有一些值得下载的资料
    http://www.sdmagazine.com/ 软件开发杂志,经常会有一些关于测试方面好的论文资料,同时还包括了项目和过程改进方面的课题,并且定期会有一些关于质量和测试方面的问题讨论
    http://www.sei.cmu.edu/ 著名的软件工程组织,承担美国国防部众多软件工程研究项目,在这里你可以获俄各类关于工程质量和测试方面的资料。该网站提供强有力的搜索功能,可以快速检索到你想要的论文资料,并且可以免费下载
    http://www.soft.com/Institute/HotList/ 提供了网上软件质量热点连接,包括:专业团体组织连接、教育机构连接、商业咨询公司连接、质量相关技术会议连接、各类测试技术专题连接等
    http://www.soft.com/News/QTN-Online/ 质量技术时事,提供有关测试质量方面的一些时事介绍信息,对于关心测试和质量发展的人士来说是很有价值的
    http://www.softwaredioxide.com/ 包括软件工程(CMM,CMMI,项目管理)软件测试等方面的资源
    http://www.softwareqatest.com/ 软件质量/测试资源中心。该中心提供了常见的有关测试方面的FAQ资料,各质量/测试网站介绍,各质量/测试工具介绍,各质量/策划书籍介绍以及与测试相关的工作网站介绍
    http://www.softwaretestinginstitute.com 一个软件测试机构,提供软件质量/测试方面的调查分析,测试计划模板,测试WWW的技术,如何获得测试证书的指导,测试方面书籍介绍,并且提供了一个测试论坛
    http://www.sqatester.com/index.htm 一个包含各种测试和质量保证方面的技术网站,提供咨询和培训服务,并有一些测试人员社团组织,特色内容是缺陷处理方面的技术
    http://www.sqe.com/ 一个软件质量工程服务性网站,组织软件测试自动化、STAR-EASE、STARWEST等方面的测试学术会议,并提供一些相关信息资料和课程服务
    http://www.stickyminds.com/ 提供关于软件测试和质量保证方面的当前发展信息资料,论文等资源
    http://www.stqemagazine.com/ 软件策划和质量工程杂志,经常有一些好的论文供下载,不过数量较少,更多地需要通过订购获得,内容还是很有价值的
    http://www.tantara.ab.ca/ 软件质量方面的一个咨询网站,有过程改进方面的一些资料提供
    http://www.tcse.org/ IEEE的一个软件工程技术委员会,提供技术论文下载,并有一个功能强大的分类下载搜索功能,可以搜索到测试类型、测试管理、 测试分析等各方面资料
    http://www.testing.com/ 测试技术专家Brain Marick的主页,包含了Marick 研究的一些资料和论文,该网页提供了测试模式方面的资料,值得研究。总之,如果对测试实践感兴趣,该网站一定不能错过
    http://www.testingcenter.com/ 有一些测试方面的课程体系,有一些价值
    http://www.testingconferences.com/asiastar/home 著名的AsiaStar测试国际学术会议官方网站,感兴趣的人一定不能错过
    http://www.testingstuff.com/ Kerry Zallar的个人主页,提供一些有关培训、工具、会议、论文方面的参考信息
    http://www-sqi.cit.gu.edu.au/ 软件质量机构,有一些技术资料可以供下载,包括软件产品质量模型、再工程、软件质量改进等
  • QTP学习资料 qtp frame

    Spark.lee 发布于 2009-06-16 09:46:14

    Transaction policies for service-oriented computing.pdf
    QTP NSW Newsletter Nov 2002.pdf
    HP QuickTest Professional 10.00 Product Availability Matrix.pdf
    Microsoft PowerPoint - ITM-Bhaskar V.pdf
    Case Study.pdf
    WinRunner to QTP Training Webinar Questions & Answers.pdf
    Company Overview.pdf
    Mercury Business Process Testing.pdf
    Automation Framework for Online Applications.pdf
    Investment Banking Testing Services.pdf
    Three-Dimensional Hydrogeologic Framework Model for Use With a Steady ....pdf
    Adobe® Corporate Template 2005.pdf
    Question and Answer LogQuestions and Answers:.pdf
    Maintaining and Evolving GUI-Directed Test Scripts.pdf
    Software Test Automation Resource, LLC.pdf
    Music Newsletter.pdf
    Microsoft Word - ULCQTPIntegrationGuide.pdf
    "Charting the Course ... ... to Your Success!".pdf
    Ad o b e.pdf
    This effort is to present an automation framework , a new of its kind ....pdf
    Software Testing Program.pdf
    4/4/94 NYS Forum for Information Resource Management White Paper:.pdf
    Inferring Types of References to GUI Objects in Test Scripts.pdf
    HP QuickTest Professional software Data sheet.pdf
    2002 - 2003 DETE PLAN.pdf
    QTL NSW Newsletter May 2001.pdf
    Testing Automation for a global reinsurer.pdf
    PRIMER.pdf
    Sustainable approaches for rural electricity distribution.pdf
    Microsoft Word - CT_Automation_QTP_CaseStudy.pdf
    Similarity transformed equation-of-motion coupled-cluster theory ....pdf
    Building a Robust Suite for Automated Regression Testing of SAP Releases.pdf
    Memory Management for Flex Developers.pdf
    QUALITY TEACHER PROJECTS - METROPOLITAN DISTRICTS Project Title ....pdf
    Automated Regression Testing.pdf
    Microsoft PowerPoint - Venugopal S Shenoy_ThoughtWorks.pdf
    MERCURY FUNCTIONAL TESTING: MERCURY QUICKTEST PROFESSIONAL.pdf
    Kettley.pdf
    CT-QTP-102 CT – QTP – 102 Scripting QTP Advanced Overview.pdf
    Microsoft PowerPoint - RohitSharma Intelligent Error Handling Plug In ....pdf
    Teaching Reading: A K-6 Framework.pdf
    Community Based Supports in Rhode Island: 1999 Findings of the Quality ....pdf
    TMXqt for QTP™.pdf
    INSTITUTE FOR THEORY AND COMPUTATION IN MOLECULAR AND MATERIALS SCIENCES.pdf
    Software Test Automation Resource, LLC.pdf
    Microsoft Word - Border_Doc11.pdf
    Testing Bindows application using Mercury's QuickTest Professional.pdf
    Three-Dimensional Hydrogeologic Framework Model for Use With a Steady ....pdf
    Towards a Versatile Transport Protocol.pdf
    Interesting People at GTAC - I.pdf
  • lr集合,事务及图像检查脚本

    Spark.lee 发布于 2007-04-20 10:06:07

    lr集合,事务及图像检查脚本


    注意点:集合需要和事务一起使用

    业务:在百度里的文本框中输入某值后点击搜索

    需求:作百人同时对同一个需要搜索的内容作搜索操作,点击搜索后需要对每次是否正确显示了搜索后的内容作检查

    流程1:录制时先在百度首页的文本框中输入需要搜索的值后点击集合,紧接着插入事务,再点击搜索,最后再结束事务,结束录制.

    流程2:在VuGEN里打开录制的脚本,通过树状结构查看,找到结束事务前的页面,也就是点击搜索过后的页面,对其页面上的某个国宝图片作插入-->new step-->web checks-->image check(先搜索其src and alt的值,找到后复制到弹出的窗体里,切记不用带引号)

    流程3:回放一下脚本(没错的情况下),启动controller,将脚本导入后在quantity栏里输入100后进行Start Scenario


    详细脚本如下:

    #include "web_api.h"


    Action()
    {
    web_add_cookie("BAIDUID=2E7FF42A6A466496A5115701BFE8C471; DOMAIN=www.baidu.com");

    web_url("www.baidu.com",
    "URL=http://www.baidu.com/",
    "Resource=0",
    "RecContentType=text/html",
    "Referer=",
    "Snapshot=t1.inf",
    "Mode=HTML",
    LAST);

    lr_rendezvous("r1");

    lr_start_transaction("t1");

    web_add_cookie("BAIDUID=2E7FF42A6A466496A5115701BFE8C471; DOMAIN=img.baidu.com");

    web_submit_form("s",
    "Snapshot=t2.inf",
    ITEMDATA,
    "Name=wd", "Value=record", ENDITEM,
    EXTRARES,
    "Url=http://img.baidu.com/img/sobar/b5.gif", "Referer=http://www.baidu.com/s?wd=record&cl=3", ENDITEM,
    LAST);


    web_image_check("web_image_check",
    "Src=http://www.baidu.com/img/logo-yy.gif",
    "Alt=到百度首页",
    LAST);

    lr_end_transaction("t1", LR_AUTO);

    return 0;
    }



  • LR中的web_reg_save_param函数

    yzgonline 发布于 2007-06-05 11:16:36

    在使用Loadrunner进行性能测试时,经常遇到一种情况,需要通过web页面修改某事务的状态。于是需要首先读出当前的事务的状态,再进行修改,此时便可以使用到web_reg_save_param了。可以通过它先将事务的状态读出写入一个自定义的变量中,根据变量的值来决定下一步的动作。

    *
    简要说明

    语法:

    int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

    参数说明:

    * ParamName:
    存放得到的动态内容的参数名称

    * list of Attributes:
    其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
    o Notfound:
    当在返回信息中找不到要找的内容时应该怎么处理
    o Notfound=error:
    当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。
    o Notfound=warning:
    当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。
    o LB( Left Boundary ) :
    返回信息的左边界字串。该属性必须有,并且区分大小写。
    o RB( Right Boundary ):
    返回信息的右边界字串。该属性必须有,并且区分大小写。
    o RelFrameID:
    相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。
    o Search :
    返回信息的查找范围。可以是HeadersBodyNoresourceAll(缺省)。该属性质可有可无。
    o ORD :
    说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。
    o SaveOffset :
    当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0
    o SaveLen
    :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
    o Convert :
    可取的值有以下两种:

    HTML_TO_URL :
    HTML-encoded 资料转成 URL-encoded 资料格式


    HTML_TO_TEXT :
    HTML-encoded 资料转成纯文字资料格式

  • 如何在LR中做关联-Zee

    Zee 发布于 2007-03-06 18:30:45

    问题出现:

    n    VuGen替代浏览器,脚本是hard-coded

    n    HTTP是一种无状态的连接

    n    同一用户两次登录的差异

    n    单用户和多用户的差异(验证机制:session

     

    关于session

     

    n    记录用户的状态

    n    验证用户的身份

    n    在服务端创建并保存(永久的和临时的)

    n    Session也保存在客户端,提交到服务器端验证(URL重写和cookies)

    问题分析

    n    用一种方法来满足服务器的验证。

    n    保存来自服务器端的session,并传递给提交语句以保证验证通过。

     

     

    需要关联的数据的特征

     

     

    n    1,数据是从服务器传过来的。

     

    n    2,数据是可变的。

     

    VuGen与服务器的交互

    关联的主要条件

    n    1,简化或者优化代码。

    n    2,动态数据。

    n    3,提供唯一的数据。

    如何鉴定什么样的错误需要关联

    n    会出现什么错误讯息,与系统实做的错误处理机制有关。

    n    错误讯息有可能会提醒您要重新登入,但是也有可能直接就显示HTTP 404的错误讯息。

    n    LRLOG中也有些错误的提示:比如:27979等的错误(错误的原因是多种的,关联只是引起错误的一种原因)。

    LR中需要用到的关联函数

    n      web_create_html_param Saves dynamic information on an HTML page to a parameter. (Obsolete: use only for LR 6.5 and below)

    n      web_create_html_param_ex Saves recurring dynamic information on an HTML page to a parameter. (Obsolete: use only for LR 6.5 and below)

    n       web_reg_save_param Saves non-NULL terminated dynamic data from an HTML page to a parameter.

    n      web_save_param_length Saves the length of a parameter

    n      web_save_timestamp_param Saves the current timestamp. web_set_max_html_param_len Sets the maximum length of retrieved dynamic HTML information.

    VuGen的关联方法

     

     

    n    自动关联

     

    n    手动关联

    自动关联

    n    record options--->correlation中启用enable correlation during recording recording.LR会用自已的关联规则来匹配需要关联的脚本

    手动关联

    n    步骤:

    1,录制。

    2,回放。

    3,回放出错后开启LOG

    4,出错后查看LOG。(定位到某一行)

    5,再重新录制一下脚本,把两份脚本对比。

     

     

     

    录制回放

    n    回放出错如下:

    Action.c(37): Error -27979: Requested form not found     [MsgId: MERR-27979]

    Action.c(37): web_submit_form("com.mercurytours.servlet.IteneraryServlet") highest severity level was "ERROR", 0 body bytes, 0 header bytes         [MsgId: MMSG-26388]

     

    开启LOG查找需要关联的数据

    n    run-time settings-->Log,设置Extened log.

    n    再次回放。

    n    定位需要关联的数据。(单协议在recording log,多协议在Generation Log中查到数据)

     

    写关联函数

    n      char GlParam1_Text1;//定义变量

     

    n      web_reg_save_param("GlParam1_Text1",

    n                "LB= name=\"",

    n                "RB=\"",

    n                "Ord=all",

    n                "RelFrameId=1",

    n                "Search=Body",

    n                "IgnoreRedirections=Yes",

    n                LAST);

    n      在下面的语句中来调用: GlParam1_Text1

     

     

     

     

    关联函数的位置

    n     It registers a request to find and save a text string within the server response. The operation is performed only after executing the next action function, such as web_url. from help).

    n     定位到变量的那一行的上面。

     

    Note:引用web_reg_save_param中的变量时,要用{}。

    要打印出来,用lr_evel_string取值。

    一些说明:

    n     开启WinDiff时出现File no longer available的错误信息
    WinDiff这个工具有些限制,脚本路径不能有空格。

    n     ctrl+F8可以扫描脚本中需要关联的地方

  • 搜索输入框测试用例

    huiyanni 发布于 2010-01-02 18:23:54

      对于一般的网站而言,经常有两种搜索功能,一种为简单搜索,一种为高级搜索。对于简单搜索,也就是一输入框加一个搜索按钮,可以认为模糊搜素,而高级搜素,则为准确搜索,根据各种条件,搜索自己想要的内容。
      一:简单搜索输入框测试用例
      1:不输入任何字符,点击搜索按钮,一般搜索出网站所有的信息
      2:一般搜索输入框中的有文章显示,当鼠标点击时,文章消失
      3:输入全角/半角中文字符(一个字符、超长字符、已经信息字符)
      4:输入全角/半角英文字符(一个字符、超长字符、已经信息字符)
      5:输入全角/半角特殊字符~!@#$%^&*()_+|{}:"<>?.,;'[]\=-(注意单引号经常会发现bug)
      6:输入全角/半角中英文空格
      7:输入html语言
      8:输入特殊字符串NULL、null、&nbsp空格的转义字符;<scrīpt></scrīpt>;<br>;<tr>;<td>;< /tr>;</td>;</html>;</body>;</table>
      9:输入javascript
      二:高级搜素

    对被测试点进行分解,把测试用例分解为多个测试场景

     场景编号

    场景描述 

    预期结果 

     场景一

    页面检查 

    正确 

     场景二

    默认条件搜索 

    查询结果正确 

     场景三

     修改可选条件搜索

    查询结果正确 

     场景四

     修改输入条件搜索

    查询结果正确 

     场景五

     修改区间条件搜素

     查询结果正确

     场景六

     组合可选、输入条件搜索

     查询结果正确

     场景七

     操作后检查搜索条件及查询结果

     查询结果正确

     场景八

     错误、空记录搜索

     查询结果为空

    按照已经分解的测试场景,逐咯描述测试场景的测试步骤

    测试场景一:

    步骤编号

    具体描述

    1

    进入搜索(高级搜索)页面

    2

    界面共性测试

    3

    退出

    测试场景二

    步骤编号

    具体描述

    1

    进入搜索(高级搜索)页面

    2

    点击搜索按钮,显示查询结果列表

    3

    检查查询结果列表,每页显示记录条数正确、文字折行显示正确、页面布局美观

    4

    检查查询结果列表,列标题项、列显示内容、排序方式符合需求定义

    5

    检查查询结果列表,符合默认查询条件结果集

    6

    点击查询结果列表链接、复选框、全选框响应正确

    7

    退出

    测试场景三

    步骤编号

    具体描述

    1

    进入搜索(高级搜索)页面

    2

    逐一选择各个查询条件可选项,如:全部类别1”等,点击搜索,查询结果正确

    3

    组合各个查询条件可选项,如:价格+产品,点击搜索,查询结果正确

    4

    退出

    测试场景四

    步骤编号

    具体描述

    1

    进入搜索(高级搜索)页面

    2

    逐一输入文本域条件,模糊查询值,点击搜索,查询结果正确

    3

    逐一输入文本域条件,完全匹配值,点击搜索,查询结果正确

    4

    逐一输入文本域条件,中文值,点击搜索,查询结果正确

    5

    逐一输入文本域条件,字母大、小写值,点击搜索,查询结果正确

    6

    逐一输入文本域条件,数字类型值,点击搜索,查询结果正确

    7

    逐一输入文本域条件,全角、半角值,点击搜索,查询结果正确

    8

    组合各个文本域查询条件,点击搜索,查询结果正确

    9

    退出


     

  • “邮箱”“验证码”“手机号码”输入框测试用例

    huiyanni 发布于 2010-01-02 17:57:00

    一:邮箱输入框
    1:不输入任何字符
    2:输入中文空格
    3:输入英文空格
    4:字符串中没有@和点  例如:huiyanni163com
    5:字符串中有@没有点  例如:huiyanni@163com
    6:字符串中没有@有点
    7:字符串中特殊字符   例如:$huiyanni@163.com
    8:@和点都存在      
    9:第一个字符串味@    例如:@163.com
    10:@和点之间没有字符串  例如:huiyanni@.com
    11:字符串之后以为是点  例如:huiyanni@163com.
    12:字符串中多于两个@符号  例如:huiyanni@163@163.com
    13:字符串中长度超过50位
    14:字符串中有汉字
    15:输入@前面有分隔符的情况  例如:a.b@c.d
    16:输入@后面有多个分隔符
    二:手机号码输入框
    1:输入英文空格
    2:输入中文空格
    3:输入特殊字符
    4:输入超长11位字符
    5:输入英文字符
    6:输入中文字符
    三:邮政编码输入框
    1:输入英文空格,其他必填项填写合理
    2:为必填项时,不输入任何字符
    3:输入中文空格
    4:输入特殊字符
    5:输入超长6位字符
    6:输入中、英文内容
    7:输入空格+数字,空格出现在开头、中间、结尾均需测试
    8:输入1个数字
    9:输入16位数字
    10:输入超长17位数字
    三:验证码
    1:不输入任何字符
    2:空格输入
    3:输入空格+正确效验码,空格出现在开头、中间、结尾均需要测试
    4:输入4位其他非数字内容
    5:输入特殊字符
    6:输入前3位或后3位验证码正确数字
    7:输入4位正确校验码+其他数字
     
     
  • 文件和目录管理命令

    chusaizhe 发布于 2008-10-09 14:23:17

    1.cp命令

    cp [options] {source} {target} /cp [options] {source} {directory}

    示例:

    (1)复制文件mysong.midi, 将文件命名为backup.midi.

      cp mysong.midi backup.midi

    (2)复制一个或多个文件到某一个目录下

       cp mynovel.txt /tmp 或者 cp mysongs.tar mynovels.tgz /tmp

    (3)从主目录复制文件到当前目录下

       cp ~/webpage.html .

    (4) cp -r 递归复制目录

    2.使用mv移动或重新命名文件

    mv [options] {source} {target} /mv [options] {source} {directory}

    (1)将文件重新命名为backup.midi.

      mv mysong.midi backup.midi

    (2)移动一个或多个文件到某一个目录下

       mv mynovel.txt /tmp 或者 mv mysongs.tar mynovels.tgz /tmp

    (3)将文件从主目录移动到当前目录下

       mv ~/webpage.html .

    注意:mv命令,如果目标目录存在,将原来的目录移动到目标目录中,如果目标目录不存在,就重新命名原来的目录

    3.rm 命令清除或删除文件

    rm [options] {files}

    rm -r 递归删除目录

    4.mkdir(make directory)建立(新的、空的)目录;rmdir删除(清空)目录

    mkdir [options] {directory} / rmdir [options] {directory}

Open Toolbar