发布新日志

  • 4年后又回到51testing了

    2013-10-18 18:31:05

    还是原来的账号,还是原来的密码。51TESTING不一样了。加油。
  • 工作流测试的认识

    2009-01-13 11:52:54

    搞了几个月的工作流测试,经验谈不上,认识还有几点,供大家参考。

    1、把系统比成黄河,那工作流就是主流,而挂在工作流上的各种内容或控件,都是支流。

    2、主流特性必须和支流的内容正确性一同检验。在主流执行正确的情况下,也要检查涉及到的所有支流的正确性。

    3、工作流特性组合测试、特性和支流内容(或操作)的组合测试,能发现很多问题,提高测试覆盖率

    4、建议使用场景测试方法。保证主场景,再扩展备选场景。

     

  • QC的几点感受

    2008-11-05 10:27:40

    1、在描述工作时,需客观严谨,不确定的事情不要随意写,需经相关负责人确认后再汇报。用词要严谨,忌臆断。

    2、提交的文档必须专业性。如计划,用例等文档,需详实完整,将阅读对象认为是对项目不熟悉的人,描述要有条理,分点分段说明。文档需描述清楚现状(项目所处阶段)、目标(该阶段要完成什么)、范围(测试范围、时间范围)、进度(时间人员安排或该阶段的整体进度安排)、资源(需配合的人、时间、工具等,)、存在问题或风险(需解决的问题或可能导致的结果)

    3、QC负责项目的质量,但是其实QC并不能担起这个责任。测试人员的任务是发现问题,而不是保证系统没有问题。在软件工程学认为,软件是不可能没有问题的,只有没有发现的问题。那测试人员能做的就是不断发现问题,跟踪解决,随着工作进展,问题数量会像一个抛物线,上升后逐渐减少并稳定到一个范围内。在《QULITY IS FREE》书中,说质量是要全体人员共同有质量意识,从一开始就做正确的事情,大家共同努力完成的,光靠QC(甚至很多QC也有这个想法)去负责质量,结果只能是QC忙的不可开交,却被落的被所有人骂。

     

  • IIS能打开localhost但是不能打开ip地址和127.0.0.1的解决办法

    2008-08-09 20:39:41

    权限问题:

    1、打开网站属性-目录安全性-匿名访问

    2、勾上允许IIS控制密码

    3、将集成WINDOWS身份验证的选择取消掉(最重要是这点)。

  • 《LOADRUNNER实战》第91页代码

    2008-07-27 17:37:13

    #include "web_api.h"

    //atof需声明了才有效

    double atof (const char * string );
    Action()
    {
     char totalprice[64]="6279.60";
     float price[3]={1380.00,859.80,450.00};
     int quantity[3]={2,2,4};
     char strtmpres[64];
     float ftotalprice=0;
     int i;
     for (i=0;i<=2;i++)
     {
      ftotalprice=ftotalprice+price[i]*quantity[i];
     }
     lr_output_message("用atof格式化输出totalprice=%f",atof(totalprice));
     lr_output_message("浮点数取的是近似值清看函数的输出结果:%f",ftotalprice);

    //下面这行用于取小数后2位精度。 

    sprintf(strtmpres,"%.2f",ftotalprice);
     lr_output_message("保留两位小数格式化的浮点数为:%s",strtmpres);
     if (*strtmpres==*totalprice)
     {
      lr_output_message("预期结果与实际结果相等!");
     }
     else
     {
      lr_output_message("预期结果与实际结果不相等!"); 
     }

     return 0;
    }

  • 当没有信息不足的时候如何制定测试计划

    2008-07-11 22:23:08

    这个项目比较特殊,没有整个项目的项目计划,只有每周的计划,那如何做测试计划?测试计划的目的是提前制定测试工作的准备、环境、数据、测试策略、进度、人员等与测试工作相关的各方面的任务,以期测试工作能按照计划按部就班完成,如果有可能会制定测试的终止条件,可能还包括风险等方面的内容。

    那么,测试计划该什么时候写?太早写,很多信息是不足或者不确定的,即使写了也不可能按照计划执行,那就变成写一套做一套。我觉得测试计划可以在开发进行到一半之后开发完成之前编写。这段时间,环境、数据都确定下来了,人员应该也到位了(有测试人员才有人来写测试计划)。比较难定的是进度,因为项目是边开发边测试,开发一块模块就测试一块,开发人员以开发为主,改BUG为辅。不知道什么时候开发完,不知道什么时候做集成测试,性能测试。要想制定比较精确的测试进度是比较难的。当然,测试计划并不是不变的,可以根据项目的进度不断调整,使计划符合实际情况,这是必须的。

    因此,先把能确定的内容写出来,再把不能确定的内容根据具体情况依时间段或关键点写进度,在具体实施中若有变化再调整。

    另外,功能测试和性能测试应分开编写测试计划。应为采用的测试策略、环境、数据可能都不一样,测试用例也不一样。

  • 如何测试工作流-去微软面试

    2008-06-30 22:14:12

    在我找工作的那段日子里,面试的2,3个公司,要做的项目都是与工作流有观点。所以我在网上找了关于工作流测试的文章,可惜,找到的很少,而有实际利用价值的几乎没有。在这期间,我参加了微软的外包面试,首先是外包公司的人面我,长大1个半小时的交谈,我从刚开始信心满满到最后说不上几句话,倒不是那人水平有多高,只是在交谈的过程中不断反省自己在测试工作中缺乏规范,缺少总结和不断发展的精神。在面试的最后10分钟,他跟我谈了工资待遇及条件,然后跟我说明天区微软面试,要做的项目就是OA工作流,要我回去找这方面的资料。

    查询的结果一开头就说了。其实,我做过的项目也有类似工作流的项目,但都只是比较简单的流程流转,包括流程定制和事务并发等业务,但是和真正的工作流的差距还是比较大的。何况,是在微软面试,我心里很没底。

    第2天,到了外包公司,原来另外有2个女的也是去面试的。简单的交流中,我感觉她们在平时的测试工作中也并不规范,对工作流比我更是一片空白。于是乎,我便恢复自信起来,外包的人在一旁说:微软这次招的人很急,差不多都会要的(目前这个项目已经有60多个测试人员,还在不断招人)。于是,在去面试的车上,我就开始打算去微软工作后的场景了。只是,这些都成了黄粱美梦了。

    我是最后一个面试的。一个MM面我,首先自我介绍,我就介绍了我参与的一个项目,MM对这个项目很感兴趣,也聊了不少,比如项目遇到的困难,使用的测试工具(她似乎不知道JIRA,难道是假装的?不过微软的测试工具都是自己开发的,还是因为JIRA是JAVA平台?)。聊的兴起,我一下子把外包的人交代的要把自己吹嘘的多规范多专业的话抛到脑后。我说起这个项目的测试人员要录一万多条实际数据,她很感兴趣的问那是手工录还是工具生成,我一脸苦笑的说我们是从手工到工具一步步走过来的,手工录了3个月,等工具终于开发出来,可由于该工具未经过测试,导过来的数据都不能用的,还要花大巴时间去校验。她也笑了,低头说她也经历过这样的工作。就这么着,我感觉她跟我一下拉近了很多。

    然后,说到了工作流。我做的那个项目的设计思想是将各个业务当成一个个功能点,然后定义功能的输入和输出,测试分为功能点的测试和流程的测试,包括流程的状态,权限,路径等等。我觉得这样说肯定不会有错的。只是那个项目的业务比较简单,包括撤销,回退,收回,会签等,单个流程的节点数也不多,最多10个左右吧。

    感觉聊了很久,然后就很开心的觉得这次面的一定能通过。出门的时候特别兴奋,那2天还将QQ签名改成了去微软做vender。失败啊!测试人员不应该这样心急!

    不过,我现在做的这个项目也是工作流,用的是一个比较成熟的产品,比较牛的是,工作流用JAVA,表单用C#,可谓将JAVA和.net完美结合在一起了。

    OK,继续我的工作流测试之路

     

  • 如何快速掌握业务背景

    2008-06-10 20:19:13

    要执行测试,首先要熟悉业务,掌握业务背景知识,抛开业务做测试是做不好测试的。了解业务,首先要了解业务需求。为什么会产生这类业务?解决流程?用户的岗位职责?这些都是需要了解的。有一定的业务基础再去看需求文档,会更加清晰,也更能抓住重点。

    拿我正在做的这个税务项目来说,我之前从没解除过税务,一点税务知识都没有,现在要在3,4天的时间内了解大量的税务知识,有些难度。我的过程是这样的:

    1、先将需求设计文档过一遍
    2、找本税务的书快速浏览
    3、再完成前两项的基础上,将有关的税务术语了解清楚,要整成文档
    4、了解办理业务的流程及岗责
    5、了解各项业务流程的前置条件
    6、了解工作流的节点与路径流转

     

  • QTP识别对象的原理(转)

    2008-05-30 11:42:21

    一.QTP识别对象的原理

    QTP要求先在仓库文件里定义仓库对象,里面存有实际对象的特征属性的值,
    运行的时候,QTP会根据仓库对象的特征属性描述,寻找到实际对象,然后操作实际对象。

    仓库对象TO一般在录制/编写脚本时加入仓库文件,它不仅可以在编写时进行修改,
    也可以在运行过程中进行动态修改,以匹配实际对象。

    相关的几个函数有:

    GetTOProperty():取得仓库对象的某个属性的值
    GetTOProperties():取得仓库对象的所有属性的值
    SetTOProperty():设置仓库对象的某个属性的值

    GetROProperty():取得实际对象的某个属性的值


    理解了TO的含义,你就可以自由的用SetTOProperty()定义TO,以灵活的操作RO

    比如有个测试任务,窗口上有很多待检查的记录,每条记录右边都有一个Check按钮,用来检查各条记录。
    记录个数不定,所以Check按钮个数也就不定,只有一个Edit显示记录个数。
    我们要对每条记录进行检查,也就是要点击每个Check按钮。
    但是Check按钮个数不定,不好录制,而且个数可能也很多(上百个),即使能一一录制,那也很麻烦。

    那我有一个好办法,只录制一个按钮对象,它设有两个特征属性 label=OK, index=0
    然后用下面的脚本,就可以完成测试

    buttonNum = CInt(JavaWindow("Test\").JavaEdit("Record Num").GetROProperty("value"))
    For buttonIndex = 0 to buttonNum - 1
      JavaWindow("Test").JavaButton("Check").SetTOProperty("index", buttonIndex)
      JavaWindow("Test").JavaButton("Check").Click
    Next


    或者窗口上有New、Modify、Delete、Check等好几个按钮,要把这几个按钮一一按过去
    我在对象仓库里只设置一个按钮对象AnyButton,label特征属性值填任意值,然后用下面脚本执行测试

    JavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label", "New")
    JavaWindow("Test").JavaButton("AnyButton").Click

    JavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label", "Modify")
    JavaWindow("Test").JavaButton("AnyButton").Click

    JavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label", "Delete")
    JavaWindow("Test").JavaButton("AnyButton").Click

    JavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label", "Check")
    JavaWindow("Test").JavaButton("AnyButton").Click


    另外,QTP还支持脚本描述的方法来定义和访问对象,即不需要在仓库里定义,也能访问和操作实际对象

    如上面两个任务,可以如下实现

    1. 不需要在仓库里定义Check按钮对象,直接用下面脚本来实现测试

    buttonNum = CInt(JavaWindow("Test").JavaEdit("Record Num").GetROProperty("value"))
    For buttonIndex = 0 to buttonNum - 1
      JavaWindow("Test").JavaButton("label:=Check", "index:="+CStr(buttonIndex)).Click
    Next

    2. 不需要在仓库里定义New、Modify、Delete、Check按钮对象,直接用下面脚本来实现测试

    JavaWindow("Test").JavaButton("label:=New").Click
    JavaWindow("Test").JavaButton("label:=Modify").Click
    JavaWindow("Test").JavaButton("label:=Delete").Click
    JavaWindow("Test").JavaButton("label:=Check").Click

    二.操作对象的原理

    QTP为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。
    对象的自身接口是对象控件本身的接口,只要做过软件开发,使用过控件的人应该很清楚。
    对象的封装接口是QTP为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。


    两种接口的脚本书写格式的差别在于:
      自身接口需要在对象名后面加object再加属性名或方法名,
      封装接口就不用在对象名后面加object。

    比如操作JavaEdit对象,通过QTP封装的封装接口,脚本如下:
      设置JavaEdit的内容:
         JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"
      读取JavaEdit的内容:
         msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")

    如果通过JavaEdit的自身接口,脚本如下:
      设置JavaEdit的内容:
         JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")
      读取JavaEdit的内容:
         Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()

    QTP执行JavaEdit().Set语句时,是通过执行JavaEdit().object.setText()来实现的。
    QTP执行JavaEdit().GetROProperty("value"),是通过执行JavaEdit().object.getText()来实现的。
    JavaEdit对象的封装接口Set()和GetROProperty("value"),是QTP封装JavaEdit对象的自身接口setText()和getText()而得来的。

    对象的封装接口是QTP使用的缺省接口,我们录制出来的脚本都是使用封装接口,大家用的也都是封装接口。
    但是封装接口不如自身接口丰富,因为QTP只是封装了部分常用的自身接口嘛。
    所以我们在需要时,可以绕过封装接口,直接调用对象的自身接口。
    不过有些自身接口不够稳定,在实践中偶尔会出现问题,但是概率很少。
    封装接口有相应功能的话,就尽量用封装接口吧!


    理解了封装接口和自身接口的原理,我们就可以更加灵活的操作对象了。

    但是我们怎么知道对象都有哪些封装接口和自身接口呢?
    其实很简单,用对象查看器(Object Spy)查看对象,在查看窗口里有列出这些接口,包括属性和方法。
    窗口中间有选择栏让你选择Run-time Object或者Test Object,
    当你选择Run-time Object时,它显示的就是对象的自身接口(自身的属性和方法)
    当你选择Test Object时,它显示的就是对象的封装接口(封装的属性和方法)

    明白了这些,你还等什么呢?快拿起对象查看器,看看对象都有哪些封装接口和自身接口,肆意的操作它,玩弄它吧!

    原始链接:http://bbs.51testing.com/thread-13554-1-1.html

  • QTP常用函数说明(转)

    2008-05-30 10:18:05

    Left 函数

    返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。

    语法

    Left(string, length)

    Left 函数的语法有下面的命名参数

    部分

    说明

    string

    必要参数。字符串表达式其中最左边的那些字符将被返回。如果 string 包含 Null,将返回 Null

    length

    必要参数;为 Variant (Long)数值表达式,指出将返回多少个字符。如果为 0,返回零长度字符串 ("")。如果大于或等于 string 的字符数,则返回整个字符串。

     

    说明

    欲知 string 的字符数,使用 Len 函数。

    注意    LeftB 函数作用于包含在字符串中的字节数据。所以 length 指定的是字节数,而不是要返回的字符数。

     

     

    Mid 函数

    从字符串中返回指定数目的字符。

    Mid(string, start[, length])

    参数

    string

    字符串表达式,从中返回字符。如果 string 包含 Null,则返回 Null

    Start

    string 中被提取的字符部分的开始位置。如果 start 超过了 string 中字符的数目,Mid 将返回零长度字符串 ("")

    Length

    要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。

    说明

    要判断 string 中字符的数目,可使用 Len 函数。

    下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符:

    Dim MyVar

    MyVar = Mid("VB脚本is fun!", 4, 6) 'MyVar 包含 "scrīpt"

    注意   MidB 函数与包含在字符串中的字节数据一起使用。其参数不是指定字符数,而是字节数。

     

    Len 函数

    返回字符串内字符的数目,或是存储一变量所需的字节数。

    Len(string | varname)

    参数

    string

    任意有效的字符串表达式。如果 string 参数包含 Null,则返回 Null

    Varname

    任意有效的变量名。如果 varname 参数包含 Null,则返回 Null

    说明

    下面的示例利用 Len 函数返回字符串中的字符数目:

    Dim MyString

    MyString = Len("VBscrīpt") 'MyString 包含 8

    注意   LenB 函数与包含在字符串中的字节数据一起使用。LenB 不是返回字符串中的字符数,而是返回用于代表字符串的字节数。

     

    Right 函数

    从字符串右边返回指定数目的字符。

    Right(string, length)

    参数

    string

    字符串表达式,其最右边的字符被返回。如果 string 参数中包含 Null,则返回 Null

    Length

    数值表达式,指明要返回的字符数目。如果为 0,返回零长度字符串;如果此数大于或等于 string 参数中的所有字符数目,则返回整个字符串。

    说明

    要确定 string 参数中的字符数目,使用 Len 函数。

    下面的示例利用 Right 函数从字符串右边返回指定数目的字符:

    Dim AnyString, MyStr

    AnyString = "Hello World"      ' 定义字符串。

    MyStr = Right(AnyString, 1)    ' 返回 "d"

    MyStr = Right(AnyString, 6)    ' 返回 " World"

    MyStr = Right(AnyString, 20)   ' 返回 "Hello World"

    注意   RightB 函数用于字符串中的字节数据,length 参数指定返回的是字节数目,而不是字符数目。

     

    InStr 函数

    返回某字符串在另一字符串中第一次出现的位置。

    InStr([start, ]string1, string2[, compare])

    参数

    start

    可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果 start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。

    string1

    必选项。接受搜索的字符串表达式。

    string2

    必选项。要搜索的字符串表达式。

    compare

    可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅设置部分。如果省略,将执行二进制比较。

    设置

    compare 参数可以有以下值:

    常数

    描述

    vbBinaryCompare

    0

    执行二进制比较。

    vbTextCompare

    1

    执行文本比较。

    返回值

    InStr 函数返回以下值:

    如果

    InStr 返回

    string1 为零长度

    0

    string1 Null

    Null

    string2 为零长度

    start

    string2 Null

    Null

    string2 没有找到

    0

    string1 中找到 string2

    找到匹配字符串的位置

    start > Len(string2)

    0

    说明

    下面的示例利用 InStr 搜索字符串:

    Dim SearchString, SearchChar, MyPos

    SearchString ="XXpXXpXXPXXP"   ' 要搜索的字符串。

    SearchChar = "P"   ' Search for "P".

    MyPos = Instr(4, SearchString, SearchChar, 1)   ' 在位置 4 进行的文本比较。返回 6

    MyPos = Instr(1, SearchString, SearchChar, 0)   ' 在位置 1 进行的二进制比较。返回 9

    MyPos = Instr(SearchString, SearchChar)   ' 默认情况下,进行的是二进制比较(省略了最后的参数)。返回 9

    MyPos = Instr(1, SearchString, "W")   ' 在位置 1 进行的二进制比较。返回 0(找不到 "W")。

    注意   InStrB 函数使用包含在字符串中的字节数据,所以 InStrB 返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。

     

    LTrimRTrim Trim 函数

    返回不带前导空格 (LTrim)、后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本。

    LTrim(string)

    RTrim(string)

    Trim(string)

    string 参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null

    说明

    下面的示例利用 LTrim, RTrim, Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格:

    Dim MyVar

    MyVar = LTrim("   vbscrīpt ")   'MyVar 包含 "vbscrīpt "

    MyVar = RTrim("   vbscrīpt ")   'MyVar 包含 "   vbscrīpt"

    MyVar = Trim("   vbscrīpt ")   'MyVar 包含 "vbscrīpt"

     

    Rnd 函数示例

    本示例使用 Rnd 函数随机生成一个 1 6 的随机整数。

    本示例用 Randomize 语句初始化随机数生成器。由于忽略了数值参数, 所以 Randomize Timer 函数的返回值作为新的随机数种子值。

     

    Dim MyValue

    Randomize   ' 对随机数生成器做初始化的动作。

     

    MyValue = Int((6 * Rnd) + 1)   ' 生成 1 6 之间的随机数值。

     

  • 使用Multi Test Manager实现QTP脚本的批处理运行

    2008-05-29 14:02:43

    有人问有没有什么工具可以管理QTP脚本,管理运行设置等,我第一个印象就是TD,不过他不想用TD,部署太复杂了,而且那么大,而只是为了实现这个功能也太浪费了。后来就知道了Multi Test Manager,相当于是QTP的一个插件,可以实现所需要的功能,而且很小,才其几M,用起来也很简单。

    实现的功能:

    1、可以添加多个QTP脚本,按设置的顺序依次运行。添加后可设置哪些脚本运行哪些不运行;

    2、可以定制运行脚本的时间;

    3、可以定制运行脚本的循环次数;

    4、可设置失败时停止脚本;

    5、可在远程运行脚本;

    6、可在执行后产生HTML报告,并发送邮件;

    7、Mercury Multi-Test Manager支持COM访问和调用。(没试过)

    8、Prefence里面的设置都写在mtm文件中,可用记事本打开来改。若脚本文件路径改变了不想一个个改就可以打开这个文件全部替换。

    缺点:无法自动打开QTPRO.exe,只有打开QTP后,再执行Test Manager的run操作才能运行。可能是版本不兼容的问题。

    另一个可批处理运行QTP脚本的工具是QTP自带的Batch Runner,功能比较少,不能定制时间和循环次数,也不能远程执行的。

  • 你提交的bug,程序员认为不是一个bug,该如何处理?

    2008-05-27 16:44:09

    面试经常会问这个问题,在实际操作中也碰到过好多次。我觉得作为测试人员就应该坚持自己的判断的。不要被程序员吓倒。

    1、重新验证,确认时候是bug;

    2、提交bug;

    3、提交后,bug一般是给项目经理的,他们若认为这是bug才会转交给程序员;

    4、程序员认为不是bug,测试人员应该坚持自己的看法。但是,问题是,程序员往往不知道这种bug怎么改(无法定位问题,而且往往跟硬件、网络等有关系),正常情况下,若能改他们也不会不改的。

    我遇到的一个bug是这样的,我做一个业务操作时,选择了下拉框的值,选择后页面的下拉框(2个)抖动了大概半秒,很明显的抖动,下拉框位置错位了,抖完又复原了。我可以截图到这个抖动的画面,将将它放在附件中当成bug提交了。bug马上就转到程序员那里,他们要重现这个bug,在他们的电脑上无法重现,但是在我的电脑上每次都可以重现。毕竟,程序员的电脑配置比测试人员要好很多。他们认为是电脑速度的问题,不认为这是个bug,不修改。更重要的是,他们也不知道哪里出问题,怎么改。他们将bug状态改成delay,延迟修改。但是,系统用户的电脑配置不一定比我们的好,甚至要差很多,因此更有可能出现这个情况。后来,在后期系统优化后,才彻底解决了这个bug。

  • 初次使用xenu

    2008-05-27 15:44:31

    偶然找到这个工具试着用了用,感觉还不错。写下使用心得。

    xenu能做什么:用于检测网站连接有效性的绿色软件,使用简单,最大支持100线程,检测速度非常快。在对某网站的6层连接100630个连接进行检测时,使用默认的100线程耗仅费了1小时40分钟。当然耗费的网络资源比较多。

    xenu怎么用:新建一个链接测试,文件——检查网址——输入网址——点击确定。

    注意:

    1、若不需要检查外部链接,该项不需要打勾。比如测试www.gzzzjz.com,该网站有个外部链接www.baidu.com,若勾了外部链接,也会检查www.baidu.com,这显然不是我们测试的目标,因此不需要勾上检查外部链接;

    2、更多选项设置。可最多设置100个并列线程。最大层次建议在6以内,否则会有很多链接。报告可全选。比较关心的是中断链接、中断内部链接、统计、有效文字链接。应用到所有工作和需要时需要密码应勾上;

    3、若链接太多,生成报告时可能死掉打不开报告。解决如下:

    a:扫描完成后,在提示“是否生成报告”的提示界面上,点否
    b:进入你的账号的Temp目录,删除临时文件。这个目录默认是隐藏的。一般在这个位置
    C:\Documents and Settings\Administrator\Local Settings\Temp其中Administrator为你的账号
    删除临时文件可能需要很长时间,建议你直接将Temp目录删除。然后重新建立个目录即可。此前需要将XENU之外的所有程序关闭,防止Temp目录被使用导致无法删除。如果该目录提示不能删除,则需要进入该目录,手工删除几万个临时文件,光显示出来就需要很多时间,所以需要耐心,但是请相信这是值得的
    d:删除完成后,返回XENU界面,在“选项”-“偏好设置”上进行配置,只选择中断连接和统计。在“文件”菜单,点击“报告”稍微等待一会就可以生成报告

    如何分析report的结果:

    中断链接,按链接顺序 列出网站中的中断连接(该链接的对象不存在,如http://www.gzzzjz.com/images/ysfw.jpg)地址,每个中断链接下列出了存在这些中断链接的网页地址;

    中断链接,按网页顺序 表示网页中存在中断链接的网页,并在网页下方标出中断连接的地址

    转向网址列表 列出重新转向定位的网址

    ftp和gopher网址列表 列出存在ftp和gopher类型的网址列表

    有效网址列表你可以提交给搜索引擎 列出所有有效的网址列表

    包含一个标题的网页地图 列出包含标题的网页地图sitemap

    中断当地链接

    孤立文件

    监督统计 对所有类型的网址进行统计

    xenu的局限性:

    1、只能测试链接存不存在,但无法验证链接的正确性;

    2、若输入https://的地址,则无法测试;

  • TD与QTP的连接

    2008-05-26 16:45:27

    部属环境:TD服务器和数据库不是在同一台电脑上,TD客户端要访问TD服务器。

    TD客户端要实现与QTP的连接,必须安装以下插件:

    1、TD客户端插件

    2、TD识别QTP的插件

    3、QTP连接TD的插件

    第1、2个插件在TD主页下可下载到,第3个插件可在QTP的安装软件主页面,有个ADD-IN的插件安装。

    以上插件都安装后,在QTP的tools-option里设置,允许其它工具调用QTP,然后在工具栏有个绿色按钮,测试是否连接成功,输入TD登陆地址,用户名,密码,测试连接成功,即可。

  • QTP的安装过程中出现的问题解决方法

    2008-05-26 16:03:59

    在我的电脑上从来没装过QTP,系统是XP,安装后,执行了破解程序,但是允许QTP时,每次都检查LICENSE,我没有这个license,自然无法打开QTP。后来,将9.2的卸载了,重新安装8.2的,依然存在这个问题,看来不是版本的问题,也不是破解包的问题,因为我在公司的电脑安装过,都可以的。

    解决办法:

    找到破解程序释放license的地方,破解后,会显示将license存放在哪个目录下,打开那个目录,找到license文件,用文本打开,将里面的第一行的license(PG8B86ZVAOOBXS4W8M7HR94ST45L8N8T5OYXM3C63FCP7K2LXDK3GH83PQ9CFKMKFFZUFGBDOA#)拷贝粘贴到运行QTP的license输入框中,破解成功。

    原因分析:

    造成这个原因应该是QTP无法识别存放的license,手工输入license就行了。

     

     

Open Toolbar