美丽的天使会给身边的人带去快乐,我就是那个美丽的天使。

发布新日志

  • Action Call Properties

    2009-08-27 11:13:26

        如果想让一个action执行多次反复,需要在action call properties 对话框中进行设置.

        一个是Action的属性,一个是Test的属性。Action运行的反复次数取决于它的DataSheet的数据的行数,Test运行的反复次数取决于Global Sheet的数据行数.

        通过Action的右键菜单“Action call properties”打开Action Call Properties对话框,Run页签中有三个选项:Run one iteration运行所调用的Action一次,运行时根据当前global的iteration数,来决定获取action data sheet中的哪行数据。如果Action的data sheet的数据条数少于global sheet,则以后的每次运行都总是取action data sheet的最后一条数据。例如,当action的sheet有2行数据,global sheet有4行数据,如果调用action时选择了“Run one iteration”,但是在设置test时选择了run iterations on all rows of the global data sheet,那么在运行test的每一轮中,这个action只运行一次,每次参数时都是根据test的“轮数”来决定获取哪一行的数据。在运行第1轮测试时,获取action sheet的第1行数据,在运行第2轮测试时,获取第2行数据,第3轮或第4轮时,参数总是获取第2行(action sheet的最后一行)的数据。


    Run on all rows
    运行action的所有行的数据,即ation的运行次数取决于action的数据行数。

    Run from row to row
    指定action运行的数据范围,从而决定action运行的次数及取数范围。


    通过菜单Test>Setting打开Test Setting对话框,Run页签中有三个选项:

    Run one iteration only
    仅运行test一次。运行时获取global sheet的第1行数据。
    Run on all rows
    根据global sheet的数据行数来决定test的运行轮数,每轮测试依次获取global sheet中的数据。


    Run from row to row
    指定test的运行轮数。每轮测试依次获取指定范围的行的数据。

  • QTP的教程出现的问题

    2009-08-27 11:07:13

    这里提三点注意的地方,不然的话,就出错,下面的处理办法也许可行:
     
      1、在建立检点的地方,有一个是让对First name edit box建立标准检查点
     
      对于这个,它的文字介绍中前面的都没有问题,只是在一个对话框(checkpoint properties)中的最下面有个insert statement选项,文章中没有提到应该选择after current step,默认的选项是before current step,如果不改,按照教程中的选项,确实能够和它接下来的文字说明“在你所选的步骤之前建立一个标准检查点”相一致,但是和文中附图就不一致了,其实应该和图中的一致,其实是在选的步骤之后加一个检查点,这样在调试的时候才能不出错。所以那个选项一定要选“在当前步骤之后”。其实这样道理上也讲得通,只有前面你输入值,后面才去检查,这样就对了,不然在步骤之前去检查,还没有输入到编辑框中就去检查,肯定检查不出来了,要报错的。
     
      2、关于参数化
     
      其实参数化是没有问题的,但是有个问题要注意的,不然是报错,还不知道哪里原因。按照教程里一一操作,参数化步骤也是没有问题的,就是在回放的时候,它要求将出发城市参数化,并且提供了三个值到DATA Table里,分别是New York,Portland和Seattle,但当运行脚本的时候,第一次迭代是顺利和pass的,但是到第二次迭代的时候,总是一输入用户名和密码页面之后,似乎出现的网页不是应该出现的,而且这时候会报一个找不见对象的错误。
     
      这个问题的解决方法就是将录制的脚本的最后一行删除就OK 了,不然的话,一直都是这个错误。
     
      3、在第9章有个小细节,要新建一个空白脚本ActionB,插入呼叫动作那里
     
      我要说的是,在这里,它首先是在ActionB脚本中插入呼叫的Sign in和ReturnHome脚本
     
      要注意,在插入Sign in 的时候,在一个Select Action对话框中,有个Location选项,需要选择At the end of the test,默认选项是After the current step.如果你采用默认选项时,这时候看不出来有错,等将ReturnHome和Copy of FlightOrder都call 到ActionB或者是Copy到ActionB中以后,有个要删除预设的Action1的时候,删除以后,运行就会出错,而且我个人感觉他在说这三个Action的顺序的时候,说的有点乱,其实只要你选择这个选项以后,按照它的操作顺序,完了以后,在你去调整他们的顺序之前,他们的顺序是这样的,Sign in然后是ReturnHome然后是Copy of FlightOrder,所以只要你拖动Copy of FlightOrder到ReturnHome前面就OK 了,运行是没有问题的。在你选择这个选项和不选择这个选项两种情况下,等你删除预设的Action1之后,他们的层次关系是不同的,请仔细查看。
  • ORACLE中的ROWID

    2009-01-07 16:57:20

    我们可能对oracle的rowid的使用并不陌生,不过,如果仔细分析一下,发现其还是有些知识点。
    1、rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行。 2、rowid是存储在索引中的一组既定的值(当行确定后)。我们可以像表中普通的列一样将它选出来。
    3、利用rowid是访问表中一行的最快方式。
    4、rowid需要10个字节来存储,显示为18位的字符串。
    rowid的组成结构为:
    data object number(6位字符串)+relative file number(3位字符串)+block number(6位字符串)+row number(3位字符串),如:AAAADeAABAAAAZSAAA
    5、我们可以借助oracle提供的包dbms_rowid,来对rowid进行解析从而获取关于行的相关信息:
    bossdb-SQL>select
    2 rowid,
    3 dbms_rowid.rowid_object(rowid) obj_id,
    4 dbms_rowid.rowid_relative_fno(rowid) df#,
    5 dbms_rowid.rowid_block_number(rowid) blknum,
    6 dbms_rowid.rowid_row_number(rowid) rowno
    7 from p_test where rownum<5;
    ROWID OBJ_ID DF# BLKNUM ROWNO
    ------------------ ---------- ---------- ---------- ----------
    AAAQ+tAANAAAC6SAAA 69549 13 11922 0 AAAQ+tAANAAAC6SAAB 69549 13 11922 1 AAAQ+tAANAAAC6SAAC 69549 13 11922 2 AAAQ+tAANAAAC6SAAD 69549 13 11922 3
    我们可以看到,通过rowid_row_number得到的行号是从0开始的,这是和rownum伪列的一个不同之处。我猜测rowid_row_number在求行号的时候是计算首行的偏移量。

    一般来说,当表中的行确定后,rowid就不会发生变化。
    但当如下情况发生时,rowid将发生改变:
    1、对一个表做表空间的移动后
    2、对一个表进行了EXP/IMP后

  • Loadrunner8.1破解汉化成功

    2009-01-07 14:59:06

    1、正确安装Loadrunner8.1的英文版

    2、正确安装Loadrunner8.1的汉化包

    以上这两个包,在网上百度一下就有下载,再这里就不在说了

    3、下载网上所要求的两个破解的文件

    lm70.dll,这个文件覆盖C:\Program Files\Mercury\LoadRunner\bin,这个目录下的lm70.dll文件

    mlr5lprg.dll,这个文件覆盖两个地方,第一个C:\Program Files\Mercury\LoadRunner\bin,第二个C:\Program Files\Mercury\LoadRunner\bin\tulip\bin,这两个地方的mlr5lprg.dll

    4、启动Loadrunner8.1,进入到License配置管理在中,点击信许可证按钮后,在该窗口输入License,点击确定,破解成功。

    golba-100: AEAMAUIK-YAFEKEKJJKEEA-BCJGI
    web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

  • Oracle临时表空间的作用

    2008-04-28 11:01:23

    Oracle临时表空间主要是用来做查询和存放一些缓存的数据的,磁盘消耗的一个主要原因是需要对查询的结果进行排序
     1. 没有为临时表空间设置上限,而是允许无限增长。但是如果设置了一个上限,最后可能还是会面临因为空间不够而出错的问题,临时表空间设置太小会影响性能,临时表空间过大同样会影响性能,至于需要设置为多大需要仔细的测试。
     2.查询的时候连表查询中使用的表过多造成的。我们知道在连表查询的时候,根据查询的字段和表的个数会生成一个迪斯卡尔积,这个迪斯卡尔积的大小就是一次查询需要的临时空间的大小,如果查询的字段过多和数据过大,那么就会消耗非常大的临时表空间。
  • ORACLE EXP/IMP 参数详解

    2008-03-18 16:17:41

    EXP导出选项
    关键字    内容

    USERID  运行导出命令的帐号的用户名/口令

    BUFFEER 用来取数据行的缓冲区的大小

    FILE 导出转储文件的名字

    COMPRESS  导出是否应该压缩有碎片的段成一个范围,这将会影响STORAGE子句

    GRANTS 导出时否要导出数据库对象上的授权

    INDEXES 是否要导出表上的索引

    ROWS 是否应导出行。如它为‘N’,那么在导出文件中仅生成数据库对象的DDL

    CONSSTRAINTS 是否导出表旧的约定条件

    FULL 如设为‘Y’,那么将执行一个整个数据库导出操作

    OWNER 要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作

    TABLES 要导出的一系列表;执行这些表的TABLE导出操作

    RECORDLENGTH 转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导出文件

    INCTYPE 正在执行的导出操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)

    RECORD 在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中

    PARFILE 要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项

    ANALYZE 标明是否将移对象的统计信息写入导出转储文件中

    CONSISTENT 标明是否保留所有导出对象的读取一致复制

    LOG 导出日志将要写入的文件的名字

    MLS 标明是否要导出MLS 标号

    MLS_LABEL 规定了MLS标号的格式


    IMP导入选项
    关键字   内容

    USERID 运行导入命令的帐号的用户名/口令

    BUFFEER 用来取数据行的缓冲区的大小

    FILE 导入转储文件的名字

    SHOW 规定文件内容是否被显示,而不是被执行

    EGNORE 标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数

    FULL 如设为‘Y’,那么将执行一个整个数据库导入操作

    FROMUSER 在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其对象应从导出转储文件中读取

    TOUSER 一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号

    GRANTS 导入时否要导入数据库对象上的授权

    INDEXES 是否要导入表上的索引

    ROWS 是否应导入行。如它为‘N’,那么在导入文件中执行数据库对象的DDL

    TABLES 要导入的一系列表

    RECORDLENGTH 转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件

    INCTYPE 正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL)

    ORACLE EXP/IMP 参数详解

    PARFILE 要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项

    ANALYZE
    标明是否将移对象的统计信息写入导入转储文件中

    LOG 导入日志将要写入的文件的名字

    MLS 标明是否要导入MLS 标号

    INDEXFILE 不执行导入动作,只生成建索引的文本

     

  • 软件本地化测试目的 (摘)

    2008-03-05 17:35:42

    一、测试目的

      软件本地化测试的目的是为了发现和报告本地化软件的错误和缺陷。通过对这些错误和缺陷的处理,确保本地化软件的语言质量、互操作性、功能等符合软件本地化的设计要求,满足当地语言市场用户的使用要求。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助设计出有针对性地检测方法,改善测试的有效性。

      软件本地化测试的目标是以最少的时间、人力和软硬件资源,找出本地化软件中的各种类型的错误和缺陷。测试应该能验证本地化软件的功能和性能与源语言软件保持一致,本地化软件的语言质量、软件界面、文档内容等符合当地语言市场用户的使用要求,符合特定区域的文化传统和风俗习惯。 软件的特点、测试方法和测试时间等因素,决定了软件本地化测试,不可能进行完全测试。因此,经过软件本地化测试,无法表明软件中不存在潜在的错误,但是有效的测试能够发现尽量多的比较严重的软件错误。

Open Toolbar