想把测试梳理一下。

发布新日志

  • 我理解的安全测试

    2013-07-31 10:20:46

    人个理解的安全测试的体系,最近公司遇到一个问题,就是网站有人发一些涉黄信息。如果这些东西不过滤会被网监部门给关闭网站。大家想下如果是电子商务公司网站被关闭了网站,还有啥子电子商务呀。因此行政级的安全也可以归到安全体系。

    安全测试体系又添加了一员,总体是:

    1、应用级的安全;

    2、操作系统级的安全;

    3、网络级的安全;

    4、数据库级的安全;

    5、行政级的安全;

    先分享到此

     

  • 性能测试概述

    2013-07-10 11:28:02

    性能测试概述

    每个人不同的经验以及知识会对性能测试有不同的理解,下面是我对性能测试的理解。整体的性能测试我把她分成几个阶段:

    性能需求获取

    性能设计

    测试脚本编写 

    测试执行

    测试结果分析及调优

    但是我认为比较核心的部分应该是:性能需求获取和测试结果分析及调优。有人问为什么?最最重要的是性能需求获取,这个决定一个项目性能测试的类型以及性能测试策略。它是方向性的东西,如果性能需求都出错了,后面几个阶段会与客户的需求偏差越大。测试结果分析及调优是我们做性能测试的目的当然重要。

    接下来会对每个阶段做细致的分析。。。。。

  • 也谈并发

    2013-07-10 11:24:18

         
     

    谈到并发,有人反应是在LR中添加集合点,这种意识是有偏差的。下面谈下我对并发用户的理解。

    并发定义:做一个简单的定义,它是在某段时间或某时刻内,向系统发送请求,对系统服务器产生压力。

    我理解的并发分为两种,一是绝对并发;二是广义并发。

    绝对并发:这种并发是一种严格意义上的并发,即同一时间,所有的用户对某一业务发起业务请求。这种对服务器的压力是非常大的。 做这种并发适用的场景如:电子商务中的秒杀、抢购。大家可以考虑一下,可能在抢购开始的几分钟时间内有N多用户在等待抢购的开始,一旦到抢购时间,会有N多用户同时对该业务发起请求。这类型的业务用户绝对并发是合适的。我们可以理解为做绝对并发适用于对单一业务进行的并发。此时,可以像开头提到的需要加个集合点。

    广义并发:在同一时间用户向系统发送请求,但是请求的业务可能不同,也可以相同。这种并发是针对系统级的测试时用到,比如评估一个系统整体的性能,用到该类并发。这种是不需要添加集合点的,但是如果系统系统有需要添加集合点另说。我们可以简单的认为,广义并发适用于对系统的评估,针对多个产品或者业务。

  • 转:QTP的学习步骤

    2011-11-04 23:30:33

    修炼成QTP高手的十个步骤

     

      1 QTP实用VBScript作为测试脚本语言,因此需要掌握很多VBScript的知识;软件测试自动化框架 ;QTP的用户指南 Sources:;COM/DCOM 技术 主要是Excel, Word, Outlook等相关的COM技术;HP的QTP Knowledge Base 包含很多实用的QTP技术文章……
    1. VBScriptQTP实用VBScript作为测试脚本语言,因此需要掌握很多VBScript的知识:
    2. 软件测试自动化框架
    3. QTPTutorial帮助文档Sources:'\help\QTTutorial.pdf' or '\help\Tutorial.chm' in QTP Install folder.
    4. QTP的用户指南Sources:'\help\QTUsersGuide.pdf' or '\help\MainUsersGuide.chm' in QTP Install folder.
    5. COM/DCOM技术主要是Excel, Word, Outlook等相关的COM技术:
    6. SQL
    7. XML
    8. HTML, DOM测试WEB应用程序时必须了解:
    9. HPQTP Knowledge Base包含很多实用的QTP技术文章:
    10. 一些有用的网站
  • 转:QTP的学习思路

    2011-11-04 23:13:50

    说明 :这个文档是在百度文库中找到的,请到他本个处下载,以供学习之用,是本人转过来的,在此向他致敬。
    一、基础学习
    1、需要掌握的基础:VBSCRIPT. 编程,QTP自带的库函数
    2、需要准备的资料VBSCRIPT中文帮助文档,QTP自带的帮助文档; 
    3、心理准备:QTP的帮助文档基本是英文的,因此要有良好的英文阅读能力。
    4、学习的过程,安装QTP,熟悉QTP的界面。进行基础的设置。录制第一个脚本,运行。

    5、QTP脚本调试常用:MSGBOX调试某个部分的输出,断点高度,F11单 步运行。
    6、修改录制的脚本,以达到自己想要的结果。

    三、稳步提升

    1、对象:抓取对象,修改对象,管理对象树
    2根据抓取的对象,不使用录制功能,独立写脚本。
    3、调试,运行脚本; 
    三、高级编程

    1、入门
    1.1编写导入一张EXCEL表的一个SHEET到QTP的DATATABLE的脚本。
    1.2编写点击网页的某个链接或者BUTTON自动启动QTP,执行某个TESTS
    1.3统合1、2即写一个TESTS,其需要输入的信息由EXCEL的SHEET进行配置,启动QTP读取配置的值,执行

    TESTS
    2、深入
    2.1VBSCRIPT编写输出一个完整的HTML文档
    2.2查询QTP帮助文档,了解QTP的错误报告
    2.3运行一个TESTS,输出错误的报告
    3、邮件系统
    3.1QTP编程实现向指定的邮箱发送邮件
    3.2执行TESTS将错误报告以邮件的形式发出。
    3.3整理错误报告样式,增强错误报告的可阅读性。
  • 测试过程中遇到的一个问题描述

    2011-10-16 22:35:46

    的描述。
    下面是脚本以及说明:
    业务描述:
    --说明 :在此是一个确认缴费的操作,确认缴费后,就会生成一笔应该付的帐单,发送到电子支付平台。
    --创建一个“确认缴费”事务
    lr_start_transaction("确认缴费");
    /* Registering parameter(s) from source task id 74
    // Parameter value is too big and was hidden in the 

    //PS:dot net 开发的程序一般都有这个,LR会自动生成这个关联。
    web_reg_save_param("Siebel_Analytic_ViewState9",
    "LB/IC=ViewState\" value=\"",
    "RB/IC=\"",
    "Ord=1",
    "RelFrameId=1",
    "Search=Body",
    LAST);
    //Correlation comment - Do not change!Original value='LwpfS4Dg' Name ='CorrelationParameter_3'
    web_reg_save_param_ex(
    "ParamName=CorrelationParameter_3",
    "LB=\"__EVENTVALIDATION\" value=\"",
    "RB=\"",
    SEARCH_FILTERS,
    "Scope=Body",
    "RequestUrl=*/BizApply.aspx*",
    LAST);
    //Correlation comment - Do not change!Original value='*****' Name
     ='CorrelationParameter_4'

    //PS:出问题的地 方。点击确认缴费的请求后,服务器会返回一个动态的数据值,也即生成的一个帐单数据。{CorrelationParameter_4}是我做的一个关联。在确认缴费操作时,我做的有参数,{t_eir_detail_seq}。可以保证每次做的帐单均不相同。
    问题是:在场景执行过程中,如果模拟超过一个虚拟用户的时候就会提示找不到CorrelationParameter_4的值。
    web_reg_save_param_ex(
    "ParamName=CorrelationParameter_4",
    "LB=mark=&order=",
    "RB=%3d%3d",
    SEARCH_FILTERS,
    "Scope=Body",
    "RequestUrl=*/BizApply.aspx*",
    LAST);
    lr_think_time(10);
    web_submit_data("BizApply.aspx_4",
    "Action=http://192.168.200.249/eir/trailer/BizApply.aspx?d=18%3a04%3a13+UTC+0800",
    "Method=POST",
    "RecContentType=text/html",
    "Referer=http://192.168.200.249/eir/trailer/BizApply.aspx?d=18%3a04%3a13+UTC+0800",
    "Snapshot=t39.inf",
    "Mode=HTTP",
    ITEMDATA,
    "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState7}", ENDITEM,
    "Name=__SCROLLPOSITIONX", "Value=0", ENDITEM,
    "Name=__SCROLLPOSITIONY", "Value=0", ENDITEM,
    "Name=__EVENTTARGET", "Value=", ENDITEM,
    "Name=__EVENTARGUMENT", "Value=", ENDITEM,
    "Name=__EVENTVALIDATION", "Value=/wEWHA{CorrelationParameter_1}", ENDITEM,
    "Name=ddlCarrier$DropDownList1", "Value=***", ENDITEM,
    "Name=txtBookingNo", "Value=", ENDITEM,
    "Name=hfCheckCode", "Value=0", ENDITEM,
    "Name=TextBoxValidateCode", "Value=", ENDITEM,
    "Name=gvBooking$ctl01$chkSelectAll", "Value=on", ENDITEM,
    "Name=gvBooking$ctl02$chkSelect", "Value=on", ENDITEM,
    "Name=gvBooking$ctl02$hidEIR_DETAIL_SEQ", "Value={t_eir_detail_seq}", ENDITEM,
    "Name=gvBooking$ctl02$hidOWNER_SEQ", "Value=***", ENDITEM,
    "Name=gvBooking$ctl02$hidOWNER_CODE", "Value=***", ENDITEM,
    "Name=gvBooking$ctl02$hidMODIFY_DATETIME", "Value=2011-08-18 14:08:09.196562", ENDITEM,
    "Name=btnBatchConfirm", "Value=确认缴费", ENDITEM,
    LAST);

    /* Registering parameter(s) from source task id 79
    // {Siebel_Analytic_ViewState10} = 

    web_reg_save_param("Siebel_Analytic_ViewState10",
    "LB/IC=ViewState\" value=\"",
    "RB/IC=\"",
    "Ord=1",
    "RelFrameId=1",
    "Search=Body",
    LAST);

    //Correlation comment - Do not change!Original value='KSsOT2CA' Name ='CorrelationParameter_5'
    web_reg_save_param_ex(
    "ParamName=CorrelationParameter_5",
    "LB=wEWAw",
    "RB=\"",
    SEARCH_FILTERS,
    "Scope=Body",
    "RequestUrl=*/OrderPay.aspx*",
    LAST);
    //Correlation comment - Do not change!Original value='rBYG7nR0rGP6NHv+hQoXLanXtgmzm' Name ='CorrelationParameter_6'



    web_url("OrderPay.aspx",
    "URL=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Resource=0",
    "RecContentType=text/html",
    "Referer=",
    "Snapshot=t40.inf",
    "Mode=HTTP",
    LAST);

    web_concurrent_start(NULL);

    web_url("base.css_2",
    "URL=http://192.168.200.249/EPay/css/base.css",
    "Resource=1",
    "RecContentType=text/css",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t41.inf",
    LAST);

    web_url("usercenter.css_2",
    "URL=http://192.168.200.249/EPay/css/usercenter.css",
    "Resource=1",
    "RecContentType=text/css",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t43.inf",
    LAST);

    web_url("15.gif",
    "URL=http://192.168.200.249/EPay/images/15.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t44.inf",
    LAST);

    web_url("16.gif",
    "URL=http://192.168.200.249/EPay/images/16.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t47.inf",
    LAST);

    web_concurrent_end(NULL);

    web_url("WebResource.axd_2",
    "URL=http://192.168.200.249/epay/WebResource.axd?d=JbgjsqIYckRSs8Wxm7pDtA2&t=633802920069218315",
    "Resource=1",
    "RecContentType=application/x-javascript",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t42.inf",
    LAST);

    web_concurrent_start(NULL);

    web_url("ucdot7.gif",
    "URL=http://192.168.200.249/EPay/images/ucdot7.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t45.inf",
    LAST);

    web_url("mywork_bg.png_2",
    "URL=http://192.168.200.249/EPay/images/mywork_bg.png",
    "Resource=1",
    "RecContentType=image/png",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t46.inf",
    LAST);

    web_concurrent_end(NULL);

    /* Request with GET method to URL "http://192.168.200.249/EPay/images/new_header_bg2.gif;" failed during recording. Server response : 404*/

    web_concurrent_start(NULL);

    web_url("ucdot9.gif",
    "URL=http://192.168.200.249/EPay/images/ucdot9.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t48.inf",
    LAST);

    web_url("htlogo.jpg",
    "URL=http://192.168.200.249/EPay/images/htlogo.jpg",
    "Resource=1",
    "RecContentType=image/jpeg",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t49.inf",
    LAST);

    web_url("ucdot8.gif",
    "URL=http://192.168.200.249/EPay/images/ucdot8.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t50.inf",
    LAST);

    web_url("ucdot10.gif",
    "URL=http://192.168.200.249/EPay/images/ucdot10.gif",
    "Resource=1",
    "RecContentType=image/gif",
    "Referer=http://192.168.200.249/EPay/OrderPay/OrderPay.aspx?mark=&order={CorrelationParameter_4}%3d%3d",
    "Snapshot=t51.inf",
    LAST);

    web_concurrent_end(NULL);

    lr_end_transaction("确认缴费", LR_AUTO);
Open Toolbar