发布新日志

  • PL/SQL 自动提交事务设置

    2011-05-20 18:22:43

    事务执行后需进行提交(Commit)操作,或撤消(Rollback)操作。
    【自动提交相关设置】
    a.事务执行后自动提交:Tools -> Preferences -> Window Types -> SQL Window:勾选“AutoCommit SQL”,即可实现自动提交操作。
    b.退出登录自动提交:Tools -> Preferences -> Oracle -> Connection -> Log off with open transaction:选择“Commit”。

  • Cookie测试

    2011-05-19 19:34:58

    Cookie测试关注点:
    01. 检查Cookie是否能正常工作;
    02. 检查Cookie是否按预定时间进行;
    03. 在Cookie中保存注册信息,验证是否已对注册信息进行加密;
    04. 使用Cookie统计次数,验证统计次数是否正确。

  • TCP四次挥手

    2011-05-19 19:33:49

    TCP连接终止协议(四次挥手)
    01. Client -- FIN -> Server
    02. Client <- ACK -- Server
    03. Client <- FIN -- Server
    04. Client -- ACK -> Server

  • 协议Protocol

    2011-05-19 19:33:09

    SIP:Session Initiation Protocol --会话启动协议
    RTP:Real-time Transport Protocol --实时传输协议
    RTCP:Real-time Transport Control Protocol --实时传输控制协议

    SNMP:Simple Network Management Protocol --简单网络管理协议

  • 计数器分析

    2011-05-19 19:31:10

    1.Memory计数器:
    如果这些计数器 Page/sec、Page failts/sec、Page Input/sec、Page Reads/sec、Transition、Fault/sec都比较低,说明Web服务响应请求比较快,否则可能是服务器内存短缺引起的,如果Process/Private Bytes计数器和Process/Work set计数器的值逐渐升高,而Memory/Available Bytes的值在下降,则说明存在内存泄露问题。

    2.Processor计数器:
    如果System/Processor Queue Langth计数器值持续对于2,且%Processor Time超过90%那么很可能存在在CUP瓶颈。
    如果System/Context Switches/sec计数器值在5000*cpu和10000*cpu之间,则说明服务器忙于切换线程,导致性能底下。

    3.网络吞吐量及带宽计数器:
    Network Interface/Bytes Total/sec 计数器为发送和接收字节的速率,判断网络连接速率是否是瓶颈,可以用该计数器和目前的带宽相除,如果结果大于50%则表示存在网络连接速率瓶颈。

    4.磁盘计数器:
    如果Page Reads /sec计数器值很底,同时%Disk Time 和Avg.Disk Queue Length的值很高,则可能有磁盘瓶颈。但是如果队列长度增加的同时页面读取速率并没有降低,则表示内存不足。
    也可根据以下公式来计算:
    磁盘的I/O数 = [读次数 + (4 * 写次数)] / 磁盘个数
    如果计算出的每磁盘的I/O数大于磁盘的处理能力,那么磁盘存在瓶颈。

    5.Web应用程序计数器:
    如果Request/sec 计数器值比较小,则表示Web程序可能是瓶颈。
    在理想状态下,其Request Wait Time 和 Request Queue计数器值应接近0,如果这两个值很大,则需要重写代码提高性能。

  • 性能测试设计之用户行为分析

    2011-05-19 19:25:42

    确定用户对系统的使用情况是设计用例具体数据的基础,后面并发用户数据设计、疲劳强度设计、以及各种场景设计都要依赖对用户使用系统情况的分析结果。

    分析用户使用系统情况经常采用以下两种方法
    NO1>.用户现场调查:实际就是通过和用户进行沟通,进而确定用户的人员组成情况。
    (PS:这类方法适用于用户群体固定且目标测试系统没有投产前的情况。)
    NO2>.分析系统日志:很多时候,通过和用户沟通不能掌握其使用系统的详细情况,因为有时候目标用户使用系统的情况是不确定的。当用户比较分散、现场调查比较困难时,可以采用对系统日志进行分析的方法,以此作为对用户现场调查信息的补充。
    (PS:大多数的系统都会对用户使用系统的情况进行日志管理,因此可以对日志进行分析,日志分析方法适用于已经投产或者试运行的系统。)

        在具体设计过程中,一般是两种方法结合使用:通过和用户进行沟通得到全国各地维护人员使用系统的大概情况;然后通过对系统一个月的日志进行分析得出其它用户使用系统的情况,最后综合在一起就得到了系统的使用情况。 
        也许有人会问:为什么不通过日志分析得出全部的用户使用情况?主要原因有两个:一是日志分析不一定能得出全部的使用情况,可能产生偏差,例如用户反复登陆系统、注册多个帐号都会影响统计结果;二是日志分析往往较用户调研成本大,因为多会涉及开发工作。

  • 性能测试类别

    2011-05-19 19:20:50

    【性能测试】Performance Testing
    性能测试是一种“正常”的测试,主要测试正常使用时,系统是否满足(性能指标)要求。同时,可能为了保留系统的扩展空间,进行一些稍微超出“正常”范围的测试。

    【负载测试】Load Testing
    是指模拟真实的用户行为,通过不断加压直到性能出现瓶颈或资源达到饱和。
    负载测试是我们最经常进行的性能测试,用于测量系统的容量,发现系统瓶颈并配合性能调优。
    负载测试有时候也称为可量性测试(Scalability Testing),较性能测试的压力要大些。

    【压力测试】Stress Testing
    是指测试系统在一定的饱和状态下系统的处理能力。例如,测试一个WEB站点在大量的负荷下,何时系统的响应会退化或失败。
    负载测试的不断加压到一定阶段即是压力测试,两者没有明确的界限。
    压力测试通常设定CPU使用率达到75%以上,内存使用率达到70%以上,用于测试系统在压力环境下的稳定性(此处是指过载情况下的稳定性,略微不同于7*24长时间运行的稳定性)。

    【可靠性测试】Reliability Testing
    通过给系统加载一定合适压力(如CPU资源在70%-90%的使用率)的情况下,运行较长一段时间,验证系统是否稳定。
    [可以理解为]压力测试关注的是过载压力(情况下的稳定性),可靠性测试关注的是持续时间(情况下的稳定性)。

    【并发测试】Concurrency Testing
    模拟用户同时(并发)访问同一个应用、同一个模块或数据记录时,验证是否存在并发问题,诸如内存泄漏、线程锁、资源争用、数据库死锁等。
    几乎所有的性能测试都会涉及一些并发测试。

    【配置测试】Configuration Testing
    验证各种配置对系统性能的影响,用于性能调优和规划能力,找到系统各项资源的最佳分配原则。

    【失效恢复测试】Failover Testing
    对于有冗余备份和负载均衡的系统,检验系统局部故障时用户所受到的影响。即:如果系统局部发生故障,用户是否能够继续使用系统,用户将会受到多大的影响。

    【容量测试】Capability Testing
    测试系统能够处理的最大会话能力,确定系统可处理同时在线的最大用户数,通常和数据库有关。
    [可以理解为]负载测试关注的是系统硬件所能承受的容量,容量测试关注的是系统软件(如程序、数据库)所能承受的容量。

  • LR检查点设置

    2011-05-18 19:26:26

    /*设置检查点web_reg_find()*/
    //页面之前
    web_reg_find("Text=0571-89935711",     
                 "Fail=NotFound",              
                 //"SaveCount=textcontent",           
                 "Search=Body",               
                 LAST);


    /*验证是否输出成功*/
    //页面之后
    if(atoi(lr_eval_string("{textcontent}"),"0")>0)  
    lr_log_message("成功!");
    else  
    lr_log_message("失败!");      

    //(or)字符串比较
    if (strcmp(lr_eval_string("{TextCheck}"),"0") > 0) {
    lr_message("Login Succeed!");
    }
    else
    lr_message("Login Failed");


    注:设置检查点web_reg_find()相关事项
    a. Text内容支持汉字搜索验证设置:Tools-->Recording Options/Advanced 勾选“Support charset”,选择UTF-8。
        (另,可设置相关字体:Tools-->Genereal Options-->Environment)
    b. Text对应内容中含有空格时,可能会导致运行出错。可右键查看源页面的源文件,搜索内容,该内容中可能含有不同的空格数量。
    c. 若是基于URL-based录制的脚本,则该判断需放在(若存在)web_concurrent_end()函数之后。

    PS:web_find()不能用于URL-based脚本;仅支持C,不支持JAVA和VB。

  • SQL功能分类

    2011-05-18 19:21:45

    【DDL】Data Definition Language 数据定义语言
    CREATE --建立数据库或数据表
    ALTER --变更数据库或数据表的结构
    DROP --删除数据库或数据表

    【DML】Data Manipulation Language 数据操作语言
    SELECT --搜寻数据
    INSERT --新增资料
    UPDATE --更新数据
    DELETE --删除数据

    PS:或可将[SELECT]归属为DQL(数据查询语言)

    【DCL】Data Control Language 数据控制语言
    GRANT --授予用户操作数据的权限
    REVOKE --撤回用户操作数据的权限
    COMMIT --确定数据的变更
    ROLLBACK --取消数据的变更

292/2<12
Open Toolbar