在这里积累学习中的点点滴滴!

发布新日志

  • 有关WinSocekt 协议录制LR脚本

    2008-12-23 10:45:42

    看到大家都说WinSocekt 协议属于底层协议,不太常用,可是因为工作原因,我接触到的项目都是WinSocekt 协议协议,还有一些直接用Socket协议编写的程序,因此在Socekt协议这里花费了大量的时间。

    先说说WinSocekt 协议

    选择此协议录制的脚本除vuser_ini、Action、 vuser_end三大部分之外还有一个存放所收发数据包的data.ws文件,在data.ws文件中按照如下格式存放数据:

    send buf0 50  

    //send 表示准备发生的数据包  recv 表示预期接收的数据包

    //buf0表示所要发送的数据名称

    //50表示所要发送数据的长度
     "\x00"
     "2"
     "\x00\xbe\x00\x01\x03"
     "#"
     "\xbe\x00\x00\x00\x01\x00\x00\x00\x1e\x00"
     "4"
     "\x00\x01\x00"
     "オ"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00"
    在WinSocekt 协议中参数化方法:

    在data.ws文件中,按照常规的方法,选择需要参数化的数据右点选择参数化即可

    在WinSocekt 协议中做关联方法,下面的链接可以看到详细描述,这里就不多说了。

    http://www.51testing.com/?17369/action_viewspace_itemid_14091.html

     

    前一段时间还碰到一个使用Socekt协议的项目,因为无法使用LR直接录制所以自己写了一个WinSocekt 协议脚本,因为第一次写脚本所以走了很多的弯路,o(∩_∩)o...不过这本身也是一个学习的过程,先说说基本的做法吧(在LR中有关socekt的函数都是lrs开头的)

    int  lrs_create_socket (    char  *s_desc,          char     *type,    [                     char*   LocalHost,]   [char*      peer,]       [char*backlog,] LrsLastArg );

    参数说明:

    S_desc: 要初始化的套接字标识符,如 socket0

    type:  套接字类型,有 TCP UDP 两种。

    LocalHost:    绑定套接字的本地地址、端口,如 LocalHost=4002,也可以在端口前面加上

    本机名称或 IP 地址,如 LocalHost=overn:4002,或 LocalHost=168.3.4.127:4002。可选。

    peer: 处理套接字请求的远程机端口,如 RemoteHost=168.3.1.230:6666。可选。

    backlog:  请求连接队列的最大长度,如 backlog=20,可选。

    LrsLastArg: 参数结束标志

    返回值:

    初始化成功返回     0;如果是    VuG   错误则返回    VuG   错误码,如果是套接字错误则返回Windwos套接字错误码

    用法:

    lrs_create_socket("socket0", "UDP", "LocalHost=4002",   LrsLastArg);

    lrs_create_socket("socket0", "TCP", "RemoteHost=168.3.1.230:6666",  LrsLastArg);

    函数说明:

    lrs_create_socket 函数用来初始化一个套接字。该函数通过执行 socket 命令来打开一个

    新的套接字连接。如果提供 LocalHost 参数它将执行 bind 命令来绑定该套接字;如果指定 peer

    参数它将执行 connect 命令和远端主机建立一个连接;如果提供 backlog 参数将会执行 listen

    命令来侦听该套接字。Backlog 对队列中等待服务的请求的数目进行了限制,大多数系统缺

    省值为 20。如果一个服务请求到来时,请求队列已满,该 socket 将拒绝连接请求,客户端

    将会收到一个出错信息

    指定 LocalHost 时可以在端口前加上主机名(如"LocalHost=overn:80",如果主机的 IP

    址是绑定的也可以指定为它的 IP 地址,如"LocalHost=168.3.4.127:6666"

    该函数在客户端或服务器端的 Windows       Socket 会话期间都会被自动记录,如果是客户

    端会话则 peer port 两个参数会被记录,如果是服务器端则会记录 port backlog

    上面是create函数的详细描述,由此可用知道如果作为客户端的程序只需要指定一个远程主机的IP地址、端口即可:

    lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=192.168.4.98:8690", LrsLastArg)

    作为服务端需要多一个backlog参数,比且需要一个lrs_accept_connection接受侦听套接字。且需要创建一个用来发送数据的socket1,

    lrs_create_socket("socket0", "TCP", "LocalHost=8690", "Backlog=1", LrsLastArg);

    lrs_accept_connection("socket0", "socket1");

    创建好套接字后就可用按照需要的顺序收发数据了,如果是自己写的话还需要根据程序协议的需要在data.ws文件中按照格式添加buf数据包。

    到最后用完socket的时候不要忘记关闭套接字,通常初始化套接字在vuser_ini中使用lrs_startup函数,该函数指定应用程序可用的 windows 套接字的最高版本

    终止套接字在vuser_end中调用lrs_cleanup函数。

    目前就了解这样一个顺序,还有许多有疑惑的地方,希望大家可以多多指教,共同学习。

    我这里由一个中文版的winsocket 函数的详细描述,因为上传不了所以有需要的化可用给我发邮件

  • loadrunner中调DLL中自定义的函数

    2008-12-23 09:55:25

     

                                      

    在loadrunner中调用动态链接库中的自定义函数,写一个很简单的例子,我想复杂应用过程也应该差不多。

     

    自己做一个DLL文件:

    打开VC,新建一个项目:project->Win32 Dynamic-Link Library方式,然后跟着向导操作,在选择类型时选择“A DLL that exports some symbols”,完成之后VC就打开工作区了,

    在 ZLTEST.cpp 中添加自定义的函数,很简单,就是返回传入的值。

    int fun(int  x)

    {

       return x;

    }

    在 ZLTEST.h 添加下面的代码:

    extern "C" _declspec(dllexport) int fun(int x); 

     

    运行,Debug文件夹中生成ZLTEST.dll 和 ZLTEST.lib文件。

     

    将ZLTEST.dll文件拷贝到 LoadRunner脚本的文件夹下,在LoadRunner脚本中添加代码:

    Int x=1000;

    Int ret;

    ret = lr_load_dll("ZLTEST.dll");   //加载DLL库

        ret=fun(x);//调用ZLTEST.dll文件中自定义的fun(int x)函数

        lr_output_message("DLL值= %d", ret);//输出函数返回值

     

    这样在loadrunner脚本中就调用了自定义的函数了。

    备注:在自己使用的时候如果使用char * 的参数必须使用lr_eval_string("parameter"),否则LR会报C  运行错误。

     

    全局的动态链接库的调用则需要修改mdrv.dat,路径在LoadRunner的安装目录下面(LoadRunner/dat directory);在里面修改如例:

    [WinSock]

    ExtPriorityType=protocol

    WINNT_EXT_LIBS=wsrun32.dll

    WIN95_EXT_LIBS=wsrun32.dll

    LINUX_EXT_LIBS=liblrs.so

    SOLARIS_EXT_LIBS=liblrs.so

    HPUX_EXT_LIBS=liblrs.sl

    AIX_EXT_LIBS=liblrs.so

    LibCfgFunc=winsock_exten_conf

    UtilityExt=lrun_api

    ExtMessageQueue=0

    ExtCmdLineOverwrite=-WinInet No

    ExtCmdLineConc=-UsingWinInet No

    WINNT_DLLS=user_dll1.dll, user_dll2.dll, ...

    //最后一行是加载你需要的DLL

    这样你就可以在LR中随意的调用程序员写的API函数,进行一些复杂的数据加密,准备的一些操作,进行复杂的测试。同时如果你觉的有大量高复杂的运算也可以放在DLL中进行封装,以提高效率。

     

  • http status错误详述【转载】

    2008-12-23 09:50:47

    http含义:

    http 200:-文件被正常的访问

    http 302:临时重定向

     HTTP错误列表

    HTTP 400 - 请求无效

    HTTP 401.1 - 未授权:登录失败

    HTTP 401.2 - 未授权:服务器配置问题导致登录失败

    HTTP 401.3 - ACL 禁止访问资源

    HTTP 401.4 - 未授权:授权被筛选器拒绝

    HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败

    HTTP 403 - 禁止访问

    HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost

    HTTP 403.1 禁止访问:禁止可执行访问

    HTTP 403.2 - 禁止访问:禁止读访问

    HTTP 403.3 - 禁止访问:禁止写访问

    HTTP 403.4 - 禁止访问:要求 SSL

    HTTP 403.5 - 禁止访问:要求 SSL 128

    HTTP 403.6 - 禁止访问:IP 地址被拒绝

    HTTP 403.7 - 禁止访问:要求客户证书

    HTTP 403.8 - 禁止访问:禁止站点访问

    HTTP 403.9 - 禁止访问:连接的用户过多

    HTTP 403.10 - 禁止访问:配置无效

    HTTP 403.11 - 禁止访问:密码更改

    HTTP 403.12 - 禁止访问:映射器拒绝访问

    HTTP 403.13 - 禁止访问:客户证书已被吊销

    HTTP 403.15 - 禁止访问:客户访问许可过多

    HTTP 403.16 - 禁止访问:客户证书不可信或者无效

    HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效

    HTTP 404.1 - 无法找到 Web 站点

    HTTP 404 - 无法找到文件

    HTTP 405 - 资源被禁止

    HTTP 406 - 无法接受

    HTTP 407 - 要求代理身份验证

    HTTP 410 - 永远不可用

    HTTP 412 - 先决条件失败

    HTTP 414 - 请求 - URI 太长

    HTTP 500 - 内部服务器错误

    HTTP 500.100 - 内部服务器错误 - ASP 错误

    HTTP 500-11 服务器关闭

    HTTP 500-12 应用程序重新启动

    HTTP 500-13 - 服务器太忙

    HTTP 500-14 - 应用程序无效

    HTTP 500-15 - 不允许请求 global.asa

    Error 501 - 未实现

    HTTP 502 - 网关错误

     

    错误码与状态码

          近来总有朋友咨询cPanel Awstats“HTTP错误码(HTTP Error codes)”的含义,以及是否需要关注和处理。

          关于Awstats请查看《CP How-To:如何使用cPanel查看站点统计数据(awstats)》

          文章地址:

    http://bbs.netpu.net/viewthread.php?tid=694

          其实这是一个误会,在这里它应该是“HTTP状态码(HTTP Status codes)”。

          OK,既然是状态码,那么就可能有正确和错误两种状态了(至少不全是错误了,大大的松口气吧)。那么这些代码都代表什么含义呢?到底哪些是错误状态,哪些是正确状态呢?不要急,下边我冒充内行为大家做一个简单的介绍。

    HTTP与Status codes

          HTTP 可能大家都熟悉,就是超文本传输协议。浏览器通过HTTPWEB Server通讯(也有一些其它软件比如IM使用HTTP协议传递数据),把我们的请求(HTTP Request)传递给服务器,服务器响应这个请求,返回应答(HTTP Response)以及我们需要的数据。大致就是这个样子了。

           如果我们请求啥,服务器就返回啥,是乎就不需要HTTP Status codes了。但是事情往往不是那么简单。比如我们请求一个网页页面,可是服务器不存在这个页面,或者这个页面被转移到其它地方,或者服务器禁止我们查看这个页面等等,所以为了便于浏览器处理这些正确与不正确的情况,HTTP用Status codes来表示请求(HTTP Request)在服务器端被处理的情况。Status codes通过应答(HTTP Response)返回给浏览器,浏览器根据这个作相应的处理。

    HTTP Status codes的分类

          既然有正确和错误的状态,HTTP定义两大类状态码是不是就可以了?人家制订协议的可是专家(不象我是冒充的),想得比我们要周全,要长远。HTTP 1.1中定义了5大类Status codes,分别是:

    Informational

            意义:信息

            范围:1XX

    Successful

            意义:成功

            范围:2XX

    Redirection

            意义:重定向

            范围:3XX

    Client Error

            意义:客户端错误

            范围:4XX

    Server Error

            意义:服务器错误

            范围:5XX

          您看看人家想得多周到啊,真专家就是真专家。

    常见HTTP Status codes简介

          下面简单介绍一下我们经常碰到的HTTP Status codes

          也许是我孤陋寡闻,常遇到的HTTP Status codes就那么几个,见笑啦。

    Successful

            200 - OKOK

            这个是最常见的啦(也许我们不会直接看到,但是如果您使用一些抓包工具,大多数http应答中都有这个)。意义很简单,就是说服务器收到并理解客户端的请求而且正常处理了。

            206 - Partial Content:部分内容。

            这个也经常发生。很容易让大家发懵。

            通俗点说就是如果客户端请求文档(图像,文本,声音等等)的部分内容,服务器正常处理,那么就返回206。大致意思就是它请求的时候,除了指定请求的内容,还指定了偏移量以及长度。

           部分内容,没搞错吧?呵呵没搞错,现在很多浏览器以及软件支持断点续传就是靠这个的。呵呵,以后看到206不要怕了。

    Redirection

            301 - Moved Permanently:永久移动。

            这个状态码是指客户端要请求的资源已经被永久的转移到一个新的地方了。这个应答(HTTP Response)里边同时包含了资源的新地址。它告诉客户端,如果下次还想要这个资源,那么就用新的地址去取。

            302 Found:临时重定向。

            这个状态码是指客户端要请求的资源临时放到一个新地方了。同样,应答中也包含了资源的新地址。

            307 - Temporary Redirect:临时重定向。(如果不去实现协议或者做相关开发,我们大致理解它很302差不多就可以啦)

        

    Client Error

            400 - Bad Request:错误请求

            就是请求的语法错误,服务器无法理解。

            401 – Unauthorized:未授权

            当服务器返回401 Code,就是告诉说客户端访问指定资源以前,必须通过服务器的授权。

            403 – Forbidden:禁止访问

            就是不允许访问某些资源。

            404 - Not Found:找不到

            找不到客户端请求的内容

    Server Error

            500 - Internal Server Error

            服务器内部错误。

    结束语

            越写越懒,所以就简简单单写这么多啦。没有啥大用处。如果能消除一两位关于这方面朋友的疑虑,就足以令我欣慰了。既然之前都说过是冒充内行,所以有错漏之处在所难免,还望大家不吝赐教。

            需要深入研究这方面内容的朋友,千万不要看这篇文章,以免被此文误导。请学习官方的协议内容。

            官方的资料地址:

            

     

    源文档 <http://www.51testing.com/?134114/action_viewspace_itemid_99305.html>

     

    http error codes

     

    400 invalid syntax. 语法问题

    401 access denied. 访问拒绝

    402 payment required. 必须完整

    403 request forbidden. 请求被禁止

    404 object not found. 对象没有找到

    405 method is not allowed. 方法不允许

    406 no resp acceptable to client found. 客户端没有响应

    407 proxy authentication required. 代理需要验证

    408 server timed out waiting for request. 等等请求时服务器断开连接

    409 user should resubmit with more info. 有冲突用户应该进行检查

    410 resource is no l available. 资源不可用

    411 server refused to accept request without a length. 服务器拒绝接受没有长度的请求

    412 prec given in request failed. 放弃请求失败的条件

    413 request entity was too large. 请求太大

    414 request uniform resource identifier (uri) too long. 请求的uri 太长

    415 unsupported media type. 不支持media类型

    449 retry after doing the appropriate action. 在作了适当动作后重试

    500 internal server error. 服务器内部错误

    501 server does not support the functi required to fulfill the request. 服务器不支持请求的功能

    502 error resp received from gateway. 从网关收到错误应答

    503 temporarily overloaded. 过载

    504 timed out waiting for gateway. 等待网关时请求断开

    505 http version not supported. 不支持http的版本

     

     

    http status codes returned by servers on the internet.

    从internet返回的http status代码(http 状态字)

    http_status_continue (100)

    the request can be continued.

    请求不能被继续

    http_status_switch_protocols (101)

    the server has switched protocols in an upgrade header.

    通过新的header服务器的协议被转换了

    http_status_ok (200)

    the request completed successfully.

    请求成功的完成

    http_status_created (201)

    the request has been fulfilled and resulted in the creation of a new resource.

    通过新的资源请求已经被完成

    http_status_accepted (202)

    the request has been accepted for processing, but the processing has not been completed.

    请求已经被接受处理,但是处理还没有完成

    http_status_partial (203)

    the returned meta information in the entity-header is not the definitive set available from the origin server.

    从服务器返回的在entity-header中的meta信息是无效的

    http_status_no_content (204)

    the server has fulfilled the request, but there is no new information to send back.

    服务器实现了请求,但是没有返回信息

    http_status_reset_content (205)

    the request has been completed, and the client program should reset the document view that caused the request to be sent to allow the user to easily initiate another input action.

    请求已经被完成,并且web程序(客户端程序浏览器程序)已经重置了文档视图目录(c

    http_status_partial_content (206)

    the server has fulfilled the partial get request for the resource.

    服务器已经为资源完成了部分get请求

    http_status_ambiguous (300)

    the server couldn't decide what to return.

    服务器不能判定返回什么

    http_status_moved (301)

    the requested resource has been assigned to a new permanent uri (uniform resource identifier), and any future references to this resource should be d using of the returned uris.

    被请求的资源已经被分配给新的uri,并且以后引用时都使用这个uris资源。

    http_status_redirect (302)

    the requested resource resides temporarily under a different uri (uniform resource identifier).

    请求的资源临时在不同的uri下

    http_status_redirect_method (303)

    the resp to the request can be found under a different uri (uniform resource identifier) and should be retrieved using a get http verb on that resource.

    请求的资源不能在不同的uri下找到,并且从新使用get http在服务器上从新检索

    http_status_not_modified (304)

    the requested resource has not been modified.

    请求的资源没有被改变

    http_status_use_proxy (305)

    the requested resource must be accessed through the proxy given by the location field.

    请求的资源必须通过特定的代理获得

    http_status_redirect_keep_verb (307)

    the redirected request keeps the same http verb. http/1.1 behavīor.

    从定位请求,

    http_status_bad_request (400)

    the request could not be processed by the server due to invalid syntax.

    因为语法不能被服务器处理

    http_status_denied (401)

    the requested resource requires user authentication.

    请求资源命令必须被验证(拒绝访问)

    http_status_payment_req (402)

    not currently implemented in the http protocol.

    没有完全实现http协议

    http_status_forbidden (403)

    the server understood the request, but is refusing to fulfill it.

    服务器理解了请求,但是拒绝完成他

    http_status_not_found (404)

    the server has not found anything matching the requested uri (uniform resource identifier).

    没有找到任何被指定的uri

     

    http_status_bad_method (405)

    the http verb used is not allowed.

    http动作不被允许

    http_status_none_acceptable (406)

    no resp acceptable to the client were found.

    应答没有被客户接受

    http_status_proxy_auth_req (407)

    proxy authentication required.

    代理必须被验证

    http_status_request_timeout (408)

    the server timed out waiting for the request.

    服务器在等待请求时中止了

    http_status_conflict (409)

    the request could not be completed due to a c with the current state of the resource. the user should resubmit with more information.

    请求不能被完成,问题是资源冲突。用户应该进行调整

    http_status_gone (410)

    the requested resource is no l available at the server, and no forwarding address is known.

    请求的资源在服务器上不再可用,而且没有转发地址

    http_status_length_required (411)

    the server refuses to accept the request without a defined c length.

    服务器拒绝接受没有定义目录大小的请求

    http_status_precond_failed (412)

    the prec given in or more of the request header fields evaluated to false when it was tested on the server.

    当在服务器上测试请求头文件放弃一个或者多个请求的条件

    http_status_request_too_large (413)

    the server is refusing to process a request because the request entity is larger than the server is willing or able to process.

    服务器拒绝处理请求,原因是请求的大小超过服务器能够处理的大小

    http_status_uri_too_long (414)

    the server is refusing to service the request because the request uri (uniform resource identifier) is l than the server is willing to interpret.

    服务器拒绝服务,原因是请求的uri超过了服务器能够揭示的长度

    http_status_unsupported_media (415)

    the server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.

    服务器拒绝服务,原因是请求格式不被支持

    http_status_retry_with (449)

    the request should be retried after doing the appropriate action.

    在作了适当的动作后请求被重试

    http_status_server_error (500)

    the server encountered an unexpected c that prevented it from fulfilling the request.

    服务器遇到请求失败意外

    http_status_not_supported (501)

    the server does not support the functi required to fulfill the request.

    服务器不支持必须完成请求的功能

    http_status_bad_gateway (502)

    the server, while acting as a gateway or proxy, received an invalid resp from the upstream server it accessed in attempting to fulfill the request.

    服务器当作为网关或代理时,从上行服务器接受的响应请求失败

    http_status_service_unavail (503)

    the service is temporarily overloaded.

    服务器负载

    http_status_gateway_timeout (504)

    the request was timed out waiting for a gateway.

    等待网关时请求断开,没有响应

    http_status_version_not_sup (505)

    the server does not support, or refuses to support, the http protocol version that was used in the request message.

    服务器不支持或者拒绝支持正在使用请求的http协议的版本

     

    源文档 <http://www.51testing.com/?26285/action_viewspace_itemid_18747.html>

     

     

  • TestDirector8.0(TD8.0)管理定制手册

    2008-10-23 10:58:39

    详细描述项目制作流程

    以下是链接地址:http://www.51testing.com/?action_viewnews_itemid_85301.html

  • TD7.6 字段中英文对照表

    2008-10-23 10:56:34

    DEFECT

    英文

    中文

    Actual Fix Time

    实际修改时间

    Assigned To

    被分配给

    Closed in Version

    被关闭的版本

    Closing Date

    关闭日期

    Defect ID

    缺陷编号

    Descrīption

    描述

    Detected By

    被(谁)发现

    Detected in Version

    被发现的版本

    Detected on Date

    被发现的日期

    Estimated Fix Time

    估计修改的时间

    Modified

    修正

    Planned Closing Version

    计划关闭的版本

    Priority

    优先级

    Project

    项目

    R&D Comments

    研发人员备注

    Reproducible

    可重现

    Severity

    严重程度

    Status

    状态

    Summary

    概要

    TEST

    英文

    中文

    Creation Date

    创建日期

    Descrīption

    描述

    Designer

    设计人员

    Estimated DevTime

    估计设计和生成测试的时间

    Execution Status

    执行状态

    Modified

    修正

    Path

    路径

    Status

    状态

    Steps

    步骤

    Template

    模版

    Test Name

    测试名称

    Type

    类型

    TEST STEP

    英文

    中文

    Actual

    实际结果

    Descrīption

    描述

    Exec Date

    执行日期

    Exec Time

    执行时间

    Expected

    期望结果

    Source Test

    测试资料

    Status

    状态

    Step Name

    步骤名称

    RUN

    英文

    中文

    Duration

    执行的期限

    Exec Date

    执行日期

    Exec Time

    执行时间

    Host

    主机

    Operating System

    操作系统

    OS Build Number

    操作系统生成的编号

    OS Service Pack

    操作系统的服务软件包

    Run Name

    执行名称

    Run VC Status

    执行 VC 的状态

    Run VC User

    执行 VC 的用户

    Run VC Version

    执行 VC 的版本

    Status

    状态

    Test Version

    测试版本

    Tester

    测试员

    REQUIREMENT

    英文

    中文

    Attachment

    附件

    Author

    作者

    Cover Status

    覆盖状态

    Creation Date

    创建日期

    Creation Time

    创建时间

    Descrīption

    描述

    Modified

    修正

    Name

    名称

    Priority

    优先级

    Product

    产品

    ReqID

    需求编号

    Reviewed

    被检查

    Type

    类型

    TEST IN TESTSET

    英文

    中文

    Exec Date

    执行日期

    Modified

    被修正

    Planned Exec Date

    计划执行的日期

    Planned Exec Time

    计划执行的时间

    Planned Host Name

    计划执行的主机名称

    Responsible Tester

    负责测试的人员

    Status

    状态

    Test Version

    测试的版本

    Tester

    测试员

    Time

    时间

    TESTSET

    英文

    中文

    Close Date

    关闭日期

    Descrīption

    描述

    Modified

    修正

    Open Date

    开放日期

    Status

    状态

    Test Set

    测试集合

  • 用TestDirector的测试管理的流程

    2008-10-23 10:22:37

    1.1TestDirector的测试管理包括如下四个阶段:

      需求定义(Specify Requirements):分析应用程序并确定测试需求。

      测试计划(Plan Tests):基于测试需求,建立测试计划。

      测试执行(Execute Tests):创建测试集(Test Set)并执行测试。

      缺陷跟踪(Track Defects):报告程序中产生的缺陷并跟踪缺陷修复的全过程。

      贯穿测试的每一个阶段,你能够通过产生详细的报告和图标对数据进行分析。

      1.2需求定义(Specify Requirements)

      分析应用程序并确定测试需求。

      定义测试范围(Define Testing Scope):检查应用程序文档,并确定测试范围——测试目的、目标和策略。

      创建需求(Create Requirements):创建需求树(Requirements Tree),并确定它涵盖所有的测试需求。

      描述需求(Detail Requirements):为“需求树”中的每一个需求主题建立了一个详细的目录,并描述每一个需求,给它分配一个优先级,如有必要的话还可以加上附件。

      分析需求(Analyze Requirements):产生报告和图表来帮助你分析测试需求,并检查需求以确保它们在你的测试范围内。

      1.3测试计划(Planning Tests)

      基于已定义的测试需求,创建相应的测试计划。

      定义测试策略(Define Testing Strategy):检查应用程序、系统环境和测试资源,并确认测试目标。

      定义测试主题(Define Test Subject):将应用程序基于模块和功能进行划分,并对应到各个测试单元或主题,构建测试计划树(Test Plan Tree)。

      定义测试(Define Tests):定义每个模块的测试类型,并为每一个测试添加基本的说明。

      创建需求覆盖(Create Requirements Coverage):将每一个测试与测试需求进行连接。

      设计测试步骤(Design Test Steps):对于每一个测试,先决定其要进行的测试类型(手动测试和自动测试),若准备进行手动测试,需要为其在测试计划树上添加相应的测试步骤(Test Steps)。测试步骤描述测试的详细操作、检查点和每个测试的预期结果。

      自动测试(Automate Tests):对于要进行自动测试的部分,应该利用MI、自己或第三方的测试工具来创建测试脚本。

      分析测试计划(Analyze Test Plan):产生报告和图表来帮助你分析测试计划数据,并检查所有测试以确保它们满足你的测试目标。

      1.4测试执行(Running Tests)

      创建测试集(Test Set)并执行测试。

      创建测试集(Create Test Sets):在你的工程中定义不同的测试组来达到各种不同的测试目标,他们可能包括,举个例子,在一个应用程序中测试一个新的应用版本或是一个特殊的功能。并确定每个测试集都包括了哪些测试。

      确定进度表(Schedule Runs):为测试执行制定时间表,并为测试员分配任务。

      运行测试(Run Tests):自动或手动执行每一个测试集。

      分析测试结果(Analyze Test Results):查看测试结果并确保应用程序缺陷已经被发现。生成的报告和图表可以帮助你分析这些结果。

      1.5缺陷跟踪(Tracking Defects)

      报告程序中产生的缺陷并跟踪缺陷修复的全过程。

        添加缺陷(Add Defects):报告程序测试中发现的新的缺陷。在测试过程中的任何阶段,质量保证人员、开发者、项目经理和最终用户都能添加缺陷。

      检查新缺陷(Review New Defects):检查新的缺陷,并确定哪些缺陷应该被修复。

      修复打开的缺陷(Repair Open Defects):修复那些你决定要修复的缺陷。

      测试新构建(Test New Build):测试应用程序的新构建,重复上面的过程,直到缺陷被修复。

      分析缺陷数据(Analyze Defect Data):产生报告和图表来帮助你分析缺陷修复过程,并帮助你决定什么时候发布该产品。

  • TestDirector8.0数据库备份与还原

    2008-10-23 10:21:22

      备份文件

                后台数据库使用SQLServer2005;

            一、数据库备份:从原服务器上备份出所有您要还原的TD系统数据库(在SQLServer2005中操作);

            二、文件备份:

                1、TD_Dir整个文件夹;

                2、备份C:\Program Files\Common Files\Mercury Interactive\DomsInfo 文件夹中的所有文件;

            还原数据库

            一、将备份出来的DomsInfo文件夹的内容覆盖到C:\Program Files\Common Files\Mercury Interactive\DomsInfo 文件夹中, 这里进行项目配置的还原。

                1、用Access打开DomInfo文件夹下的doms.mdb数据库文件,默认口令为tdtdtd,进行以下修改:

                 a)修改Admin数据表,打开该表并修改Admin_pswd 的密码,如果你不想修改以前的Admin用户的密码也可以不进行该步操作。

                 b)修改DBServers数据表,打开该表并修改DBServer_Name字段的第二行值为新TD服务器名称。

                 c)修改Params数据表,打开该表并修改ACIServer、SiteScopeurl行对应的Param_Value字段值用新TD服务器名称替换旧TD服务器的名称。

                 d)修改Projects数据表,打开并修改每个项目的Physical_Directory路径修改为:C:\TD_Dir\Default\项目名称;

                 e)修改TDServers数据表,打开并修改TDServer_Name、TD_IP_Address列的值为新TD服务器的服务器名称。

                2、修改old_DomSetup.ini文件中的:

                  TDSQLSERVER=TD服务器名称

                  Value_1=TD服务器名称:9999

                  Value_3=http://TD服务器称称/TDBIN/Redist/SiteScope/SiteScope4TD.htm

                  说明:把TD服务器名称替换为新的服务器名称或IP。

            二、还原系统文件

              1、将备份出来的TD_Dir文件夹中的内容覆盖到C:\TD_Dir文件夹下(除所要还原的项目系统文件);

              2、说明:(“TEST”,“国家环保总局项目”2个文件夹)就是要还原的项目系统文件,所以覆盖时不能还原,要在TD的Site Administrator页面中重新创建,创建成功后再C:\TD_Dir目录下会生成该文件夹;

            三、项目名称的创建及数据库的还原

              1、在TD的Site Administrator页面中重新建立所要还原项目的域名和工程名;

              2、创建成功以后在SQLServer2005中会创建 数据库,

            还原备份的数据库 ,还原后必须在查询分析器中执行以下2条语句:

                exec sp_change_users_login 'Report'

                exec sp_change_users_login 'Update_One','td','td'

                说明:这个脚本必须要执行,要不还原过来的项目不能激活,TD和SQLServer不能建立链接。

            四、在右下角的任务栏中停掉TD服务,在启动TD服务;

            五、打开TD的Site Administrator页面中的进行数据库连接测试,及对每个项目进行连接测试

  • TestDirector 8.0安装配置

    2008-10-23 10:06:37

      1.安装前环境配置TD的WEB服务容器为IIS,必须得先安装IIS环境TD的后台默认为Access以选择使用Sybase、 MS-SQL Server、 Oracle. TD也支持邮件服务,可以选择安装邮件服务或则暂时不安装。如果需要安装则在安装前做好邮件服务器的相关配置。
     
      2.安装事项在安装时,要对系统进行一些安装设置,以下对一些关键设置进行简单解释。
     
      1)数据库连接设置设置数据库连接时,Access为默认必选,可以选择另外一种合适的数据库做为TD的连接数据库,该数据库可以在创建TD项目时,选择作为项目的数据库。
     
      2)虚拟目录设置其中的虚拟目录名TDBIN下将保存TD的一些运行文件。
     
      3.安装注意安装TD时,系统资源消耗比较大,容易造成安装失败或错误,所以在安装时,尽量不要进行的系统操作,等待安装完成。
     
      4.安装后配置1)  汉化在安装目录TDBIN/Install/下存放的是一些为连接服务的客户端加载的系统文件。其中的tdclientui80.xco文件,该文件会自动加载到客户端的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下,并生成为tdclientui80.ocx文件。
     
      注意其中两个文件的后缀名区别。文件后缀可通过更改方式变换为OCX或XCO.由于Mercury并为发行官方的汉化包,所以采用第三方的资源包进行汉化。汉化方式,把得到的汉化资源dclientui80.xco文件粘贴到服务器TDBIN/Install/目录下,覆盖掉原文件即可。
     
      在之前访问过服务器的客户端,在下次连接时由于不再加载更新后的数据,所以必须得删除客户端下的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件,使再次访问时自动加载汉化后的新组件。
     
      也可以通过在客户端C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件达到汉化的目的。
     
      2)  设置MS-SQL的数据库连接对数据库的“客户端网络实用工具”进行配置。选择协议Named Pipes与TCP/IP,别名设置最好选择本机计算机名。
     
      对数据库的安全性设置——身份验证,设置为 Server和WINDOWS.设置后,在后台PING连接数据库,如果成功,则可正常创建该类数据库的项目。
     
      3)  IE7.0兼容性安装TD后,并不能顺利支持IE7.0的客户端浏览器。此时可以用记事本等打开服务器TDBIN/目录下的start_a.htm源文件,然后进行编辑。
     
      查找“ var fMSIE3456”
     
      然后在该行的末尾处分号前添加一段语句“|| (ua.lastIndexOf('MSIE 7.0') != -1)”
     
      保存即可。
     
      4)TD系统信息修改在C:\Program Files\Common Files\Mercury Interactive\目录中的DomsInfo文件夹,该文件夹中保存TD系统的关键信息,其中有TD系统配置信息的数据库doms.mdb文件,该数据库文件已默认被加密,密码为tdtdtd.在Templates文件夹中的文件为初始化生成的项目模板文件,包括TestDir.mdb,该文件为生成项目的初始数据库表。这样的话我们,就可以在每次创建项目时初试化出我们想要的,预定好的数据库表和相关数据来。就可以避免每次创建项目时重复的手工定义字段了,我们可以定制自己的项目数据库模板。
     
      如当遗忘ADMIN的密码时,可以通过往doms.mdb的ADMIN表中的ADMIN_PSWD字段更换写入“456711”,登陆时输入密码“test”即可进入。

483/3<123
Open Toolbar