zoukankan      html  css  js  c++  java
  • 性能测试完整流程(二)

    4.数据库服务器配置(Oracle和LR相冲突,不要安装在一台电脑上,如果在一台电脑上,启动LR之前要把Oracle所有服务关闭)

     (1)在服务器上安装Oracle

     (2)设置登录名和密码

     (3)导出开发环境下的数据库

     (4)导入到测试环境下的数据库中

    注:服务器上已安装了Oracle,就直接进行(3)、(4)步骤

    补充常用软件:

     1. Navicat Premium 11/sqldeveloper可以访问、查看及操作数据库。

      2. Notepad++ 可以用它打开代码和简单操作,比文本清晰、实用。

    三、写用例和场景设计

       1. 性能用例与功能用例中的正常流程相同(只要项目的业务流程不变,性能测试用例一般不需要更改)

       2. 场景设计(先要制定一份基本标准)

    (1) 数据库中最少要有多少条数据(按照项目启用2年后的标准)

    (2) 并发Vusers数 (并发与在线按照1:10)

    (3)Vusers数加载的方式

    (4)运行时间

    (5)退出方式

    (6)事务平均响应时间

    (7)硬件配置

    Eg:苏州农业移动执法项目场景设计

    1.负载场景

        (1)并发数:50

        (2)每15s加载10个Vusers

        (3)运行时间:20m

        (4)退出方式:15s退出10个Vusers

        (5)登录的事务平均响应时间:3s

      2.综合场景

        (1)并发数:50

        (2)迭代时间:30至60s

        (3)思考时间:3s

        (4)无集合点

    注:在做负载测试之前,一定要先做基准测试,所以场景设计中可含有基准场景

     四、造数据

    1. 在做性能测试之前,数据库中的数量一定不能为空或过少,否则不符合实际的情况。2. 用Oracle语句

     Eg:

    (1)insert into T_USER (USER_ID,COMPANYID)

            select '116' ,'1'from dual

            union

            select '117','1' from dual

     

    (2)create or replace procedure proc_u_insert is

    i number;

    begin

    for i in 2..10 loop

      INSERT INTO "PDZF_TEST"."T_USER"

       ("USER_ID", "COMPANYID", "CREATETIME", "DEPARTMENT_ID",

           "LOGINNAME",  "STATE", "TABLEVERSION", "USER_NAME","USER_PASSWORD")

    VALUES

      (i,'1',

      TO_TIMESTAMP(' 2017-01-27 15:50:52:292158', 'YYYY-MM-DD HH24:MI:SS:FF6'),

      '1038839',

      i, '1', '50',i,

      'ADT751vaiC2nzzrs+77dJXMJnTdAieYJauk1tKYeLN/RKHAmIqMlNAtGZxjNQcsqQA==');

    end loop;

    commit;

    end ;

    exec proc_u_insert();

    以上四步全部配置完成,就可以进行第五步操作

    五、录制脚本、加强脚本

       1. 项目测试,建议用录制方法(具体操作,可参考LR basic)

        (1)项目中涉及的点多,采用手写会花费过长的时间,且不一定写全

        (2)在录制好脚本之后,根据项目需要可加入检查点、集合点、参数池、IP欺骗技术等

       2.接口采用手写

        (1)做接口测试,首先要知道URL和API ;

        (2)接口中请求分两种:POST和GET(从安全角度来说,建议用POST)

        (3)接口还会涉及到CAS单点登录问题,SSO一般有两种机制cookie和session;

        (4)如果涉及到SSO,要先获取到Token值,可以用捕获工具fiddler

        Eg:

    Action(){
    web_custom_request("login",
    "URL=http://172.25.220.171:8099/szsxzz/desktop/*.jsonRequest", 
    "Method=POST", 
    "Resource=0", 
    "RecContentType=application/json", 
    "Referer=http://172.25.220.171:8099/szsxzz/desktop/myDesktop.html?name=320508PDY660587&pwd=123&type=3", 
    "EncType=application/json", 
    "Mode=HTML",
    RAW_BODY_START, //请求BODY开始的标识符
    "{"deep":false,"forConfig":true,"serviceId":"logon","uid":"320508PDY660587","psw":"123","validcode":""}",
    102,   //上面一行BODY内容的长度
    RAW_BODY_END,
    LAST);
    return 0;

    }

    注:录制脚本之前,一定要关闭不必要的软件和服务(eg:防火墙、360、QQ等)

    六、设置场景

    完全根据之前做的场景设计进行设置,再运行即可

      

    七、结果分析

    1. 当场景运行完之后,首先看整体报告

    2. 如果问题不大,直接看Analysis

    3.如果Analysis中找不出问题,要进行细分(打开各细分方法,可参看性能结果分析)

     (1)首先,打开Web网页诊断,查看具体问题

        1)从下图的web网页诊断,可看出URL为“×××829”占用的时间最久

        2)打开URL为“×××829”,发现主要是“first buffer” 的占用

    (2)其次,打开first buffer细分图,发现主要是server time

     (3)然后,打开windows resources 图

        1)查看应用服务器资源占用情况(192.168.11.245)

         从下图:很明显发现应用服务器有问题

          原因:

    a.%processor time 一直持续在98%以上

    b.Process Queue Length >4

    由a和b可知:处理器瓶颈

         2)查看数据库服务器资源占用情况(192.168.25.110)

          从下图可知:数据库服务器没有瓶颈

    (4)根据以上分析,可提出的优化建议

    1)应用服务器处理器有瓶颈,需更换高配置

    2)查看服务器和中间件的参数配置

    3)优化URL(×××829)页面的代码

    4)优化缓存

    (5)如果优化完,还有问题,请优化数据库系统

    1)查询语句(不建议用select * 整表查询)

    2)可以增加索引(用不到索引的地方,不要加,再好的东西,用的多也不好)

    3)不要用复杂的表联接

    4)对于数据量大的数据表,最好进行分表

    注:查找瓶颈时按以下顺序,由易到难。
     服务器硬件瓶颈 ->网络瓶颈(对内网,可以不考虑)->服务器操作系统瓶颈(参数配置)->中间件瓶颈(参数配置,数据库,web服务器等)->应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)

     

    八、写报告

      主要是对测试过程和结果汇总,测试过程是针对过程改进,测试流程中存在的不足;结果汇总是对软件的评价

    测试报告构成:

    1. 引言

    包括编写目的、项目背景

    2.测试环境

    软硬件环境、服务器、客户端

       3.测试时间

       4.测试用例设计

            测试用例简单描述

       5.结果分析和建议

  • 相关阅读:
    UVa 1451 Average (斜率优化)
    POJ 1160 Post Office (四边形不等式优化DP)
    HDU 3507 Print Article (斜率DP)
    LightOJ 1427 Substring Frequency (II) (AC自动机)
    UVa 10245 The Closest Pair Problem (分治)
    POJ 1741 Tree (树分治)
    HDU 3487 Play with Chain (Splay)
    POJ 2828 Buy Tickets (线段树)
    HDU 3723 Delta Wave (高精度+calelan数)
    UVa 1625 Color Length (DP)
  • 原文地址:https://www.cnblogs.com/gagu/p/9212702.html
Copyright © 2011-2022 走看看