PMP ,专注于WEB功能测试、性能测试、安全测试的研究,从事全面质量管理工作。曾任多家公司测试经理、测试主管。在电子政务、银行、电商、跨境电商、直播电商领域工作多年,曾获得某龙头集团公司公测一等奖,曾任职某头部直播电商公司测试团队负责人,具有业务敏感性,擅长从0到1搭建测试团队,具有海外工作经历,以及质量管理体系搭建。邮箱:89233502@qq.com

发布新日志

  • Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法

    2013-07-12 08:59:51

    Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法

    1. 卸载IE9
    装了Win7 64位后,默认的IE是IE9,先把IE9卸载。打开控制面板->程序->查看已经安装的更新,找到IE9卸载,重启。卸载后,IE自动变为IE8。其中存在C:\Program Files\Internet Explorer下面的是64位的IE,存在C:\Program Files(x86)\Internet Explorer下面的是32位的IE。

    2. 配置IE8
    打开Internet选项->高级,把“启用第三方浏览器扩展”去掉。重启IE生效。
    在LR中开始录制页面,Program to record里选Microsoft Internet Explorer。这里指向的IE实际上是32位的IE。开始录制,发现还弹不出页面。后来等了好几分钟弹出来了,也开始有event了。才发现原来不是弹不出来,是弹出的太慢了。在网上找到了有效的解决办法。打开Internet选项->连接->局域网设置,把“自动检测设置”去掉。搞定!

    另外,HP给的安装文档中说64位不支持vgen,是不对的。在以上环境中录制没有问题。
    本人还试过32位XP+LR11+IE7,也运行正常。
    如果实在IE弹不出来,就用Firefox吧。这个成功概率很高。
  • 测试人生格言

    2013-07-05 13:36:31


      1、勤奋学习能够弥补基础的不足。

      2、在决定发展方向的时候,不要生活在别人的期望中,而是要知道自己想做什么,擅长做什么。

      3、去做自己喜欢的,还是去做人家喜欢的?最终我选择了前者。从目前的结果看,感觉到自己在公司内部可以做的事情更多了,参与的活动也在增加。不管对公司还是对个人,体现的价值都是在不断增加的。

      4、把好的测试理论、测试思想与工作实践结合起来。

      5、坚持去做自己喜欢的工作,不断积累、总结和分享。

      6、认清楚自己,明确自己的优点和不足。

      7、让跳槽符合自己的发展方向。

      8、分享并不会导致“教会了徒弟,饿死了师傅”,因为学习是一个过程。另一方面,同事会因为你的分享而感谢和尊重你。

      9、作为测试的负责人,不要期望自己在所有的方面都比其他人强,你的定位应该是为整个测试团队服务的角色。如果你能在团队内带头分享你的知识与经验,也一定能带动其他人的分享,更好地做好测试团队的知识与技能的储备,有利于测试经理更好地分配测试工作,并做好备份工作。

      10、与脚本化测试相比,探索性测试更强调测试人员的思维自由度与主观能动性。然而,探索性的自由,并不代表它是不做准备的,它也不是随机的。好的探索性测试依赖于测试人员综合应用测试策略、测试技术与方法的能力,例如,获取测试数据,掌握测试设计技术,建立失效模式,创建测试模型等。口号式的探索性测试并不能帮助测试人员成功。

      11、我几乎每天都会反省自己当天的工作,有了哪些收获,有了什么总结,多少时间又被浪费了等。通过这样的形式,不断提升自己的信心,提高学习的效率和有效性。

      12、软件发布与否应当综合多个方面的因素来考虑,而不仅仅是测试的意见。

      13、要想获得成功,勤奋是不可或缺的。

      14、多实践,不要怕失败。不管是测试领域的知识,还是测试技能,或者是测试思想和方法,测试新人都需要勇敢地去实践,许多的经验、思想和收获来自于失败的经验教训。

      15、面对职业发展迷茫的时候问自己喜欢做什么,目标是什么,当前的工作和活动是否能帮助自己达成这个目标。

      16、从形式、覆盖率和有效性方面来评估测试用例的质量。

      17、成为测试牛人的三个步骤:制订目标,明确技能目标,立即行动。

      18、在参见面试前做好准备,并在面试过程中保持坦诚。

      19、软件测试行业的发展前景乐观,同时测试工程师会面对不少的挑战。测试人员要提高自己的技能水平和价值。

      20、软件测试行业将持续往前发展,而测试从业人员能否在这个平台中同步前进,这依赖于测试人员自己的不断积累、不断实践与不断交流。要发展,测试人员同样需要走出去,了解当前的测试热点、测试发展趋势、测试理念与思想的趋势等。

  • 测试书籍推荐

    2013-07-05 13:35:09

    书籍推荐

      1、《软件测试艺术》:软件测试的经典著作,展示了测试大师Glenford Myers多年的软件测试思想和技术。书中探讨了代码检查、走查与审查、测试用例的设计、单元测试、系统测试、极限测试等主题,是测试人员入门的一本优秀教材。

      2、《软件测试经验与教训》:本书分享了3位作者多年的测试经验,知道成功的测试需要什么。书中汇总了293条测试经验建议,阐述了如何做好测试工作,如何管理测试,以及如何澄清有关软件测试的常见误解。读者可以将这些经验用于自己的测试工作中,避免一些容易犯的错误,提高测试效率与有效性。

      3、《A Practitioners Guide to Software Test Design》:关注测试用例设计的一本著作,其中包括了白盒测试技术、黑盒测试技术与基于经验的测试技术。每个测试技术本身都结合了技术原理、案例分析和优缺点分析,是每个测试人员了解和应用测试用例设计的一本好书。

      4、《赢在测试:软件测试先行者之道》:蔡为东写的这本书,汇集了多名测试行业的测试精英,其中描述了他们是如何认识测试,发展测试,规划测试,以及如何在测试行业中取得成功的,为测试从业人员的职业发展提供了参考方向。这本书为处于迷茫阶段的测试人员规划自己的测试职业发展,提供了许多现实可行的方向。

      5、《思维导图:大脑使用说明书》:要想在测试领域有所建树,测试人员持续不断地学习与积累是非常重要的,而如何有效地阅读与学习将是决定成败的一个关键。思维导图是一个简单易学的革命性思维工具,它可以帮助你提高记忆力和理解力,激发想象力,更好地制订生活和工作计划。

  • 单元测试和JUnit使用 转

    2013-06-26 17:53:42

    《单元测试和JUnit使用》视频讲座发完了,根据单元测试之道这本书,希望大家喜欢: 
     第一集: 
    在线观看:  http://www.boobooke.com/v/bbk2741 
     第二集: 
     在线观看:  http://www.boobooke.com/v/bbk2742 
     第三集: 
     在线观看:  http://www.boobooke.com/v/bbk2743 
     第四集: 
     在线观看:  http://www.boobooke.com/v/bbk2744
  • windows 性能监视器常用指标分析【转】

    2013-06-25 08:46:40

    怀疑内存不足时:
    方法1:
    【监控指标】:Memory Available MBytes ,Memory的Pages/sec, page read/sec, Page Faults/sec
    【参考值】:
    如果 Page Reads/Sec 比率持续保持为 5,表示可能内存不足。
    Page/sec 推荐00-20(如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题)。

    方法2:根据Physical Disk 值分析性能瓶颈
    【监控指标】:Memory Available MBytes ,Pages read/sec,%Disk Time 和 Avg.Disk Queue Length
    【参考值】:%Disk Time建议阈值90%
            当内存不足时,有点进程会转移到硬盘上去运行,造成性能急剧下降,而且一个缺少内存的系统常常表现出很高的CPU利用率,因为它需要不断的扫描内存,将内存中的页面移到硬盘上。

    怀疑内存泄漏时
       【监控指标】:Memory Available MBytes ,Process/Private Bytes和Process/Working Set,PhysicalDisk/%Disk Time
    【说明】: 
    Windows资源监控中,如果Process/Private Bytes计数器和Process/Working Set计数器的值在长时间内持续升高,同时Memory/Available bytes计数器的值持续降低,则很可能存在内存泄漏。内存泄漏应该通过一个长时间的,用来研究分析当所有内存都耗尽时,应用程序反应情况的测试来检验。

    CPU分析
    【监控指标】:
    System %Processor Time CPU,Processor %Processor Time CPU
    Processor%user time 和Processor%Privileged Time
    system/Processor Queue Length
    Context Switches/sec 和%Privileged Time
    【参考值】: 
    System/%Total processor time不持续超过90%,如果服务器专用于SQL Server,可接受的最大上限是80-85% ,合理使用的范围在60%至70%。
    Processor %Processor Time小于75%
    system/Processor Queue Length值,小于CPU数量的总数+1

    CPU瓶颈问题
    1:System/%Total processor time如果该值持续超过90%,且伴随处理器阻塞,则说明整个系统面临着处理器方面的瓶颈.
    注: 在某些多CPU系统中,该数据虽然本身并不大,但CPU之间的负载状况极不均衡,此时也应该视作系统产生了处理器方面的瓶颈.
    2:排除内存因素,如果Processor %Processor Time计数器的值比较大,而同时网卡和硬盘的值比较低,那么可以确定CPU 瓶颈。(内存不足时,有点进程会转移到硬盘上去运行,造成性能急剧下降,而且一个缺少内存的系统常常表现出很高的CPU利用率,因为它需要不断的扫描内存,将内存中的页面移到硬盘上。)

    造成高CPU使用率的原因:
    频繁执行程序,复杂运算操作,消耗CPU严重
    数据库查询语句复杂,大量的 where 子句,order by, group by 排序等,CPU容易出现瓶颈
    内存不足,IO磁盘问题使得CPU的开销增加

    磁盘I/O分析
    【监控指标】:PhysicalDisk/%Disk time,PhysicalDisk/%Idle Time,Physical Disk/ Avg.Disk Queue Length, Disk sec/Transfer
    【参考值】:%Disk Time建议阈值90%

    Windows资源监控中,如果% Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。
    Processor%Privileged Time该参数值一直很高,且如果在 Physical Disk 计数器中,只有%Disk time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大, 那么硬盘不是瓶颈。若数值持续超过80%,则可能是内存泄露。如果 Physical Disk 计数器的值很高时该计数器的值(Processor%Privileged Time)也一直很高, 则考虑使用速度更快或效率更高的磁盘子系统。

    Disk sec/Transfer 一般来说,该数值小于15ms为最好,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或是硬盘的RAID方式了

  • office2007激活的方法

    2013-06-17 20:17:11

    office2007密钥key、注册码激活方法

    激活的方法  
     
    1.使用序列码安装完毕 安装序列号:  

    TM2QC-XKY7G-WT9B9-DTW6M-X7WVD 

    P2KDC-9HMXH-9QFVK-PMQCB-V2XMM   

    2.关闭所有Office程序 
      
    开始,运行regedit,打开注册表   
    找到HKEY_LOCAL_MACHINE\Software\Microsoft\Office\12.0\Registration   
    删除子键ProductName、DigitalProductID 及 ProductID关闭注册表   
    找到C:\ProgramFiles\CommonFiles\MicrosoftShared\OFFICE12\OfficeSetup Controller\Proof.en\Proof.XML 文件   
    修改<OptionRef Id="AlwaysInstalled"/>为 <OptionRef Id="NeverInstalled"/>   
    修改下一段中AlwaysInstalled为NeverInstalled保存关闭。

    可以先保存到别的位置,然后把原文件覆盖掉就可以了,我用试用版安装好,然后用这个方法真的破解了。
  • LR11 破解

    2013-05-29 17:35:12

    http://wenku.baidu.com/view/e4873f32ee06eff9aef80743.html

    使用说明:要以管理员的身份运行

    1、正常安装完LR11后。然后双击deletelicense.exe

    2、然后解压替换其中的2个DLL文件拷贝到"C:\Program Files\HP\LoadRunner\bin\"下替换原有文件

    3、进入LR,输入以上的序列号即可

    global-100: AEACFSJI-YASEKJJKEAHJD-BCLBR
    web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

                          手动修改注册表,删除下面内容:
                                             [HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2]
                                             [HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\History]                                       
                                            "AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN"=""
                                             [HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\PermanentLicense]
                                             @="AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN"
                                             "last"="AIBGEBFW-JVED-ZKEKEKEKEKEBDNQAF-KBRDN"
                                             [HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\LoadRunner\License2\TemporaryLicense]
                                             @="AEBGEBFS-AKEKEKEKE-KAUCA"
                                             [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{87B3ADD4-21EB-11d5-93EF-00105AA0FD2D}]
                                             @="IControl"


    另有详细Step:

    1、 下载破解文件,此处我们使用已经下载好的文件“lm70.dll”和“mlr5lprg.dll”。

    2、 将“lm70.dll”,“mlr5lprg.dll”这两个文件复制并粘贴到LR11安装目录下的bin文件夹下,一般是C:\Program Files\Mercury\LoadRunner\bin。复制时注意要先将loadrunner关闭,否则会出现复制出错的提示。

    3、  复制后启动loadrunner,如下图选择“CONFUGURATION—>loadrunner license”。


    4、选择“NewLicense”,输入“ AEAMAUIK-YAFEKEKJJKEEA-BCJGI”

    这里可能会弹出


    这是因为这里已经有试用的“license”了,下面我们将试用的“license”删除。

    5、 现在我们使用loadrunner注册表删除工具来删除此程序注册表中的license。(运行“lr删除注册表”)。注意要先将LR关闭。运行程序,最后弹出如下图所示:


    6、 OK,我们可以安照刚才的步骤重新启动Loadrunner了。再次选择“CONFUGURATION—>loadrunnerlicense”


    这时会发现,License中已经空了。

    7、 还是点击“New License”,首先输入globa-100的注册码:AEAMAUIK-YAFEKEKJJKEEA-BCJGI


    Succeed

    8、继续点击“New License”,输入web-10000的注册码:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

  • 负载均衡器技术Nginx和F5

    2013-05-24 12:45:21

     对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。

      目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。

      我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里就简单介绍下这两种技术:

      a、软件负载均衡解决方案

      在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。

      一、什么是Nginx

      Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 可以说Nginx 是目前使用最为广泛的HTTP软负载均衡器,其将源代码以类BSD许可证的形式发布(商业友好),同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。

      二、Nginx的功能特点

      1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;

      2、Nginx对网络的依赖比较小;

      3、Nginx安装和配置比较简单,测试起来比较方便;

      4、也可以承担高的负载压力且稳定,一般能支撑超过1万次的并发;

      5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,www.linuxidc.com 并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测;

      6、Nginx对请求的异步处理可以帮助节点服务器减轻负载;

      7、Nginx能支持http和Email,这样就在适用范围上面小很多;

      8、不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。

      三、Nginx的原理

      Nginx采用的是反向代理技术,代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

    b、硬件负载均衡解决方案

      直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器。由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。 一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵,比如最常见的就是F5负载均衡器。

      什么是F5 BIG-IP

      F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。

      以下是F5 BIG-IP用作HTTP负载均衡器的主要功能:

      ①、F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。

      ②、F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。

      ③、F5 BIG-IP具有动态Session的会话保持功能。

      ④、F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。

      方案优缺点对比:

      基于硬件的方式(F5)

      优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用

      缺点:成本高,除设备价格高昂,而且配置冗余.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态.

      硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来 得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)

      基于软件的方式(Nginx)

      优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

      缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。

      综述:对我们管理系统应用环境来说,由于负载均衡器本身不需要对数据进行处理,性能瓶颈更多的是在于后台服务器,通常采用软负载均衡器已非常够用且其商业友好的软件源码授权使得我们可以非常灵活的设计,无逢的和我们管理系统平台相结合。

  • 测试总体方案规划

    2013-05-21 17:12:45

    1、测试总体规划方案的出炉

      所有工作正式启动前都会有一份指导类文件,总体测试规划方案必不可少,方案大致包含如下几个部分:

      第一部分:文档简介。包括背景介绍,编写目的,文档主旨,术语说明等内容;

      【编写原则:概述基本情况,表明文档编写目的和文档的重要性】

      第二部分:团队组建方案。包括组织结构,团队成员定位,工作职责,团队的工作模式和工作流程等内容。

      【编写原则:明确组织结构,突出团队特征,让框架变得有血有肉,有成员定位,有工作职责划分,有工作模式和流程等等】

      第三部分:团队管理方案。包括团队建设规模,团队组织关系,团队人才培养等内容。

      【编写原则:总体规划组建只是第一步,该部分呈上启下,强调建设规模和组织关系,进一步明确组织结构的特征,同事关注人文,强调人才培养的可持续性】

      第四部分:测试质量管理体系建设。包括A公司质量管理体系未来的构造,整体平台搭建的宏观框架,以及可实施的顺序和步骤。

      【编写原则:升华文章主题,由进及远,概述团队未来发展软性指标】

      第五部分:近期计划目标。包含近期工作计划,季度目标,年度目标等内容,

      【编写原则:回到当前,拟定含时间点的可行性计划方案,为实施做好充分准备】

      心得体会:任何实践都要有指导依据,在组建初期显得尤为重要,该方案的主要阅读人员为公司中高层,以及平级主管,得到他们的认同,下一步的工作才能顺利实施。

  • 国外QA的博客

    2013-05-17 16:50:56

    专业QA的博客。比如

    James Bach

    , James Whittaker,Elisabeth Hendrickson,Cem Kane
  • 敏捷测试工具

    2013-04-24 12:12:06


    自动化测试依赖于测试工具,所幸的是,目前已有很多敏捷测试工具。由于篇幅所限,这里只是简单地列出一些常用的敏捷测试工具,不再深入讨论了。

    • 单元测试工具:TestNG、xUnit家族(如JUnit、NUnit)、JMock、BizMock等。
    • 功能测试自动化:ThoughtWorks Twist。
    • Web功能测试(frontend):Selenium IDE/RC、WatiR、WatiN。
    • Web service测试工具(backend):soapUI。
    • 性能测试:JMeter+BadBoy。
    • 验收测试框架:Fitnesse、Tellurium。
    • 敏捷测试过程管理工具:微软的Visual Studio 2010,包括TFS 2010、Scrum模板(MS VS Scrum 1.0)、Test Manager 2010、Coded UI Test等。
    • 业务智能(BI)应用的测试框架:Oraylis BI.Quality (+ NUnit)。
    • 其他一些协作工具等,如TestLink、BugZilla、BugFree、Wiki等。


    http://www.programmer.com.cn/8065/
  • 服务器测试工具的比较

    2013-04-11 17:51:53

    最近自己玩了一下 XSCAN  NESSUS NMAP  和fluxay  

    觉得还是  XCAN nmap  fluxay 好用 流光很强大  可惜出得报告太简陋了  不过有个意外的发现   大牛在身边啊   膜拜 
  • nginx代理配置代码

    2013-04-10 17:52:40

    #user  nobody;
    worker_processes  1;
    error_log  logs/error.log;
    pid        logs/nginx.pid;
    events {
        worker_connections  4096;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
        sendfile        on;
    resolver 202.106.0.20;
        keepalive_timeout  65;
        server {
            listen       x;
            access_log  logs/host.access.log  main;
    location / {
    sub_filter 'X.x.x.x' 'demo.testfire.net';
    sub_filter_once off;
    proxy_set_header Accept-Encoding "";
    proxy_pass http://x.x.x.x:x$request_url;
    }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    }
    }
  • NESSUS5 史上最详细的帮助手册

    2013-04-09 20:05:12

    http://wenku.baidu.com/view/aa93641fa76e58fafab00369.html
  • IBM APPSCAN8.6 官方下载地址

    2013-03-14 16:54:26

    https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=ESD-SECSYSPROD-EVAL&S_PKG=CRJ8WML&S_TACT=102PW05W&S_CMP=web_dw_rt_swd&lang=en_US&cp=UTF-8&dlmethod=http
  • 【QTP】读取Excel表的用法

    2013-01-13 18:47:55

    这个是个非常非常常用且实用的函数,使用QTP读取Excel中的数据。
    先贴上函数:

    '========================================
    '名     称:QTP_ReadExcel
    '作     用:从Excel读数据
    '参     数:sFileName:EXCEL文件名     sSheetName:Sheet表名
    '返回值:把EXCEL变为2维数组返回
    '========================================
    Function QTP_ReadExcel(sFileName,sSheetName)
           Dim oExcel
           Dim oSheet
           Dim oRange
           Dim arrRange

           On Error Resume Next
          ' 创建Excel应用程序对象
           Set  oExcel = CreateObject("Excel.Application")
                  If err.Number <> 0 Then
                         MsgBox "未能初始化Excel" & vbCrLf & "请确保Excel已安装", vbCritical
                         Exit Function
                  End If
           On Error GoTo 0

           On Error Resume Next
          ' 打开Excel文件
           oExcel.Workbooks.Open(sFileName)
            If err.Number <> 0 Then
                   MsgBox "未能加载Excel文件" & vbCrLf & "请确保Excel文件路径正确或格式正确", vbCritical
                   Exit Function
            End If
           On Error GoTo 0

           ' 获取表格的使用范围
           Set  oSheet = oExcel.Worksheets(sSheetName).UsedRange
          ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
           Set  oRange = oSheet.Range("A1:Z1000")
          '把Excel数据转换到数组
           arrRange = oRange.Value
          ' 关闭工作簿
           oExcel.WorkBooks.Item(1).Close

           ' 退出Excel
           oExcel.Quit
           Set  oExcel = Nothing
           ' 返回包含Excel数据的数组
           QTP_ReadExcel = arrRange
    End Function


    再贴上调用方法: 

    Dim arrExcel

    arrExcel  = QTP_ReadExcel("D:\test.xls","sheet1")

    print arrExcel(1,2)



    假设表格如下,
    要使用D2,则为arrExcel(2,4)
    要使用A10,则为arrExcel(10,1),应该找出规律了吧。
    我一般用此函数进行参数化和配置的操作,将需要测试的数据写在Excel中,在运行QTP时,会进行读取Excel中数据来进行测试。也会将一些配置写入Excel中,如用1和0表示是否,来进行是否重启IE、是否写Log等动作的控制,也可以写入数字,来控制脚本的运行次数,个人感觉挺方便的。
    还是不太喜欢使用QTP自带的DataTable,一来是觉得多台测试机的情况下,每台都要配置比较麻烦,二来是担心一些配置会影响脚本。
    本文摘自陈永达个人博客
  • QTP学习系列--推荐--原UC高级自动化测试小席老师录制的

    2012-12-25 09:20:47

    有很多的朋友们经常会问到一些重复的问题,关于QTP的各种使用,最近发现小席老师讲的QTP系列的**挺不错,分享给大家,下面是收集的地址:
      第1讲-安装目录分析
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第二讲-第2讲-认识QTP操作窗体
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第3讲-QTP自带示例程序业务讲解
    http://automationqa.com/forum.ph... &extra=page%3D1
      第4讲-QTP高手进阶指南
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第5讲-初试QTP脚本录制回放
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第6讲-QTP脚本增强与调试
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第7讲-QTP的三种录制模式
    http://automationqa.com/forum.ph ... &extra=page%3D1
      第8讲-QTP参数化技术
    http://automationqa.com/forum.ph ... &extra=page%3D1
        第9讲-QTP检查点技术
    http://automationqa.com/forum.ph ... &extra=page%3D1

  • 最新QC11中文版(ALM11)、LR11、QTP11—中文资料和中文汉化包下载(更新2012.08.09)

    2012-11-28 18:58:05

    最新QC11中文版(ALM11)、LR11、QTP11—中文资料和中文汉化包下载(更新2012.08.09)


  • WebService基于SoapHeader实现安全认证

    2012-09-04 18:54:00

    转载

          本文仅提供通过设置SoapHeader来控制非法用户对WebService的调用,如果是WebService建议使用WSE3.0来保护Web服务,如果使用的是Viaual Studio 2008可以使用WCFWCF里面提供了更多的服务认证方法。以下提供一种基于SoapHeader的自定义验证方式。

    1.首先要自定义SoapHeader,须继承System.Web.Services.Protocols.SoapHeader 

    using System;

    using System.Collections.Generic;

    using System.Web;

     

    /// <summary>

    ///自定义的SoapHeader

    /// </summary>

    public class MySoapHeader : System.Web.Services.Protocols.SoapHeader

    {

     

        private string userName=string.Empty;

        private string passWord=string.Empty;

     

        /// <summary>

        /// 构造函数

        /// </summary>

        public MySoapHeader()

        {

     

        }

     

        /// <summary>

        /// 构造函数

        /// </summary>

        /// <param name="userName">用户名</param>

        /// <param name="passWord">密码</param>

        public MySoapHeader(string userName, string passWord)

        {

            this.userName = userName;

            this.passWord = passWord;

        }

     

        /// <summary>

        /// 获取或设置用户用户名

        /// </summary>

        public string UserName

        {

            get { return userName; }

            set { userName = value; }

     

        }

     

        /// <summary>

        /// 获取或设置用户密码

        /// </summary>

        public string PassWord

        {

            get { return passWord; }

            set { passWord = value; }

        }

    }

    2.添加WebService,并编写相应代码。

    using System;

    using System.Collections.Generic;

    using System.Web;

    using System.Web.Services;

     

    /// <summary>

    ///WebService 的摘要说明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    public class WebService : System.Web.Services.WebService

    {

     

        //声明Soap头实例

        public MySoapHeader myHeader=new MySoapHeader();

     

        [System.Web.Services.Protocols.SoapHeader("myHeader")]

        [WebMethod]

        public string HelloWord()

        {

            //可以通过存储在数据库中的用户与密码来验证

            if (myHeader.UserName.Equals("houlei")&myHeader.PassWord.Equals("houlei"))

            {

                return "调用服务成功!";

            }

            else

            {

                return "对不起,您没有权限调用此服务!";

            }

        }  

    }

    3.客户端调用,分别使用不设置SoapHeader与设置SoapHeader

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

     

    namespace App

    {

        class Program

        {

            static void Main(string[] args)

            {

     

                localhost.WebService service = new localhost.WebService();

     

                //没有设置SoapHeader的服务调用

                  Console.WriteLine("没有设置SoapHeader:" + service.HelloWord());

                Console.WriteLine();

     

  • 用APPCAN 测试web services之3

    2012-09-04 18:52:39

    利用 SoapUI AppScan 检测 Web 服务安全漏洞

    下面我们使用 SoapUI 重新探索上述案例,并使用 AppScan 扫描 SoapUI 探索的结果。如果没有安装 GSC,用户可以使用这种方案来检测 Web 服务的安全漏洞。

    1. 新建常规扫描,设置扫描类型为“Web 应用程序扫描


    12. 新建 Web 应用扫描
    图 12. 新建 Web 应用扫描
     

    1. 输入起始 URLhttp://www.altoromutual.com/transfer/transfer.asmx?wsdl


    13. 设置起始 URL
    图 13. 设置起始 URL
     

    1. 登录方法选择


    14. 设置登录方法
    图 14. 设置登录方法
     

    1. 依旧选择“Web Service”测试策略。


    15. 设置测试策略
    图 15. 设置测试策略
     

    1. 因为我们将使用 SoapUI 进行探索,所以这里选择稍后启动扫描,然后点击完成按钮。


    16. 完成向导并稍后启动扫描
    图 16. 完成向导并稍后启动扫描
     

    1. 接下来,我们需要设置 SoapUI AppScan 的代理关系。点击工具”-“选项,查看当前 AppScan 的动态代理端口。这里,我们将 AppScan 作为 Web 代理服务器,因此需要将此代理端口提供给 SoapUI


    17. 查看 AppScan 代理端口
    图 17. 查看 AppScan 代理端口
     

    1. 打开 SoapUI,新建一个 SoapUI 工程,命名为“AltoroMutual”WSDL 地址设为“http://www.altoromutual.com/transfer/transfer.asmx?wsdl”


    18. 新建 soapUI 工程
    图 18. 新建 soapUI 工程
     

    1. SoapUI 新建工程过程中,会自动导入 WSDL 定义。从下图可以看出,跟 GSC 类似,SoapUI 在左侧展示了 Web 服务的所有操作及其 SOAP 格式。


    19. soapUI 工程创建完成
    图 19. soapUI 工程创建完成
     

    1. 点击“File”-“Preferences”,进入 Proxy Settings,设置 AppScan 作为代理服务器,如下图所示。端口 2979 为步骤 6 中所查看到的端口号。点击“OK”保存设置。


    20. 设置 soapUI 的代理
    图 20. 设置 soapUI 的代理
     

    1. 双击“TransferBalance”下的 SOAP 请求,右侧会展示 SOAP 消息体,我们同样输入 transferDatedebitAccountcreditAccount transferAmount 等参数,然后点击绿色三角按钮执行该 SOAP 请求。


    21. 修改参数并提交 SOAP 请求
    图 21. 修改参数并提交 SOAP 请求
     

    1. 稍等片刻,SoapUI 即展示出以上请求的响应信息。


    22. 查看 Web Service 响应
    图 22. 查看 Web Service 响应
     

    1. 关闭 SoapUIAppScan 会自动弹出手工探测结果,提醒用户进行确认。直接点击确定


    23. 查看手工探索结果
    图 23. 查看手工探索结果
     

    1. 同样进入 AppScan 数据视图,我们可以看到 AppScan 探索到了 SoapUI 所发出的 SOAP 请求及收到的响应。


    24. AppScan 探索结果中的 SOAP 请求
    图 24. AppScan 探索结果中的 SOAP 请求
     

    1. 点击扫描”-“仅测试AppScan 即自动对当前探索结果进行自动化渗透测试。

    以上两个案例的扫描脚本分别保存为“Demo_GSC.scan”“Demo_SoapUI.scan”,供读者下载比较其配置方式的异同。

     

1533/8<12345678>
Open Toolbar