未来已来

发布新日志

  • 2012年有记录的读过的书

    2012-08-18 17:21:47

    郁闷的中国人
    冬吴相对论(1)
    冬吴相对论(2)
    冬吴相对论-欢喜
    罗马人的故事(1)-条条大路通罗马
    罗马人的故事(2)-汉尼拔战记
    罗马人的故事(3)-胜者的迷思
    罗马人的故事(4)-凯撒时代(上)
    罗马人的故事(5)-凯撒时代(下)
    罗马人的故事(6)-罗马人统治下的和平
    罗马人的故事(7)-臭名昭著的皇帝
    数学之美
    浪潮之巅
    乔布斯魔力演讲
    演说之禅
    虚实之间
    每天懂得点管理学
    请给我结果
    洗钱内幕
    汇丰内幕
    活着
    搜索
    暗时间
    一路向前--星巴克创始人自传
    窥见上帝秘密的人
    世界为你打工-花旗集团前ceo传
    冯伦全传
    强人治国-普京
    资本之王
    中的精神
    乔布斯传
    六世达赖喇嘛仓央嘉措
    我们怎样过上好日子
    为什么中国人勤劳而不富有
    陈志武说中国经济
    欧债真相警示中国
    经济大棋局
    当次贷危机改变世界
    人人都是产品经理
    维基解密内幕
    凡客不凡
    廉政反腐风云
    一个广告人的自白
    广告人手记
    历史大脉络
    大国霸业的兴衰
    菊与刀
    大数据
    段子
    机密档案(一)
    我们台湾这些年
    美式校园
    天赋教育在美国
    生存教育在美国
    高考在美国
    做个好梦睡个好觉
    向联想学战略
    龙象之争
    窗外的小豆豆
    我不是教你诈(2)
    24节财富课
    欲情课
    丈夫这东西
    当索尼遇到三星
    探索性测试
    思考的技术
    石油战争
    我们为什么投资你
    定位
    24小时品牌素养
    什么是战略
  • 邻居买了一辆车(转)

    2012-01-23 21:30:10

        
          当同胞邻居突然有钱买了一辆好车
          美国人说:“我要赚钱买更好的车”;
          日本人说:“我要研究他赚钱的方法”;
          法国人说:“我想借他车去兜风泡妞”;
          中国人说:“我杀他的心都有,我今晚先砸了他的车”。
  • LoadRunner中的开源软件以及第三方软件

    2011-10-07 18:34:56

    开源和第三方的软件许可协议:

    开源:

    1.putty:PuTTY是跨平台 Telnet/SSH 客户端,同时在 Win32 Unix 系统下模拟xterm 终端

    官方下载地址(PuTTY Download Page:

    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

     

    2.lcc Retargetable C Compiler

    LCC,全称为"Local C Compiler""Little C Compiler",是一个小型自由的ANSI C编译器,源代码开放,由Chris FraserDavid Hanson设计开发。

    lcc编译器的源代码可在 ftp.cs.princeton.edu (128.112.152.13) 服务器的pub/lcc目录下免费获得。关于lcc设计和实现最权威的书籍当属两位开发者合著的的经典<<A Retargetable C Compiler: Design and Implementation>> ,中文译本叫《可变目标C编译器——设计与实现》.

    lcc ANSI C编译器,是标准C编译器,仅仅支持标准规定的语法,所以规模很小。而gcc则是标准C的超集,它不仅能编译标准C而且做了很多扩展,因此gcc的代码量是非常惊人的,GCC早在1999年就由原来的GNU C COMPILERGNU C编译器) 进化为GNU COMPILER COLLECTIONGNU 编译器家族),能编译C,C++,Pascal,Fortran,Ada,Object C等等,而且是目前支持平台最多的编译器,可以说只要稍微有点用途的平台都有相应的gcc版本,gcc产生的代码也是非常高效的,因为它的优化器相当出色。目前gcc最新版本是4.3.2,仅仅是C部分的代码量就有将近150万行!

     

    3.GNU C Pre Processor

     

    4.UtilityLibrary

     

    This product includes software from UtilityLibrary by Alex Kucherenko

    (http://www.codeproject.com/cs/miscctrl/ak_wizard.asp)

     

    5.DockPanel Suite

    一个非常棒的仿VS2005UI库——DockPanel Suite,它是一款开源的.Net Windows Forms开发环境下的停靠控件( docking)类库。它模仿Visual Studio .Net的效果开发的。

    This product includes software from DockPanel Suite by Weifen Luo

    (http://sourceforge.net/projects/dockpanelsuite/)

     

    6.SNMP++ shared library

    7.PCRE

    PCRE,全称是Perl Compatible Regular ExpressionsPCRE是一个Perl库,包含了perl兼容的正规表达式库。PCRE是免费开源的库,它是由C语言实现的.

    这里是它的官方主页:http://www.pcre.org/,感兴趣的朋友可以在这里了解更多的内容。

    要得到PCRE库,可以从这里下载:http://sourceforge.net/projects/pcre/files/

     

    8.Microsoft SQL Server Redistributable

    9.Berkeley DB

    Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API接。

    Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API

    Berkeley DB为多种编程语言提供了API接口,其中包括CC++JavaPerlTclPythonPHP,所有的数据库操作都在程序库内部发生。多个进程,或者同一进程的多个线程可同时使用数据库,有如各自单独使用,底层的服务如加锁、事务日志、共享缓冲区管理、内存管理等等都由程序库透明地执行。

    10.Host Resolution Functions

    11.SMSC Relay SDK

    smsc(Short Message Service Center)短消息服务中心

    SMSC Relay SDK Copyright . 2003-2006 TOPS (www.tops.com.pl)

     

    12.Xerces-C

    Xerces是一个开放源代码的XML语法分析器。

    Xerces-C++的前身是 IBM XML4C项目。XML4C XML4J 是两个并列的项目,而 XML4J Xerces-J——Java 实现——的前身。IBM将这两个项目的源代码让与 Apache 软件基金会(Apache Software Foundation),他们将其分别改名为 Xerces-C++ Xerces-J。注:“Xerces-C”和“Xerces-C++”是同一个东西。

     

    第三方:

    HP acknowledges the use of the following third-party components.

    ActivePerl by ActiveState

    BCGControlBar by BCGSoft

    BugTrapper Agent by MuTek

    Crystal reports by Business Objects

    Dundas Chart for ASP.NET Professional by Dundas

    Dundas Chart for Windows Forms Professional by Dundas

    DynaZIP by innerMedia

    Infragistics for Win Client by Infragistics

    Infragistics NetAdvantage for Win Client by Infragistics

    IPP by Intel

    MQTester by MetaStorm

    SDL Suite Epina

    SlickEdit by SlickEdit

    TeeChart by Steema

    Xtra Tree List by DevExpress

    XtraGrid by DevExpress

    XUpload by Persist Software

    yFIles.NET library by YWORK

    Microsoft ..NET Framework 2.0

    Microsoft .NET Framework 3.5

    Microsoft ASP.NET 2.0 AJAXExtensions

    Microsoft Core XML Services (MSXML) 6.0

    Microsoft Data Access Components (MDAC)

    Microsoft Enterprise Library Caching Application Block

    Microsoft Report Viewer Redistributable 2005

    Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

    Microsoft SQL Server 2005 Express

    Microsoft Visual Basic Virtual Machine

    Microsoft Visual C++ 2005 Redistributable Package

    Microsoft Visual C++ 2008 Redistributable Package

    Microsoft Web Services Enhancements (WSE) 2.0 SP 3

    Microsoft Web Services Enhancements (WSE) 3.0

    Microsoft Windows Installer 3.1 Redistributable

     

  • 风水乱谈

    2011-09-08 10:20:24

     
         前几天公司组织去承德旅游,据导游说避暑山庄曾经来过四位皇帝,咸丰和嘉庆两个皇帝在这里去世.
         在避暑山庄中,皇帝的寝室后面种了四棵松树,两棵桑树.按照风水的说法,庭院种树有三戒:前不栽桑,后不插柳,门前不种“鬼拍手”。因为桑树的“桑”与出丧的丧同音,屋前便不种桑;柳树不结籽,房后植柳就会没有男孩后代。说“后溜(柳)”会跑光了财气;杨树遇风,叶子哗哗啦啦地响,象是“鬼”拍手。
         这里不是是巧合还是其他原因,昨天晚上和老婆吃完饭,散步聊天.我说上午去一家公司拜访,这家公司招聘了很多迈捷的人(前几年迈捷被东南融通收购了),现在业务急剧膨胀,很缺人,同时对于东南融通的情况唏嘘不已.老婆说他们公司看东南融通的人走了很多,楼层都空出来了,本来想要租东南融通的办公地点,但是老婆的公司老板说,东南融通的办公地点不好,他们败落的原因是"办公地点正对着大庙",因为庙寺之中的阴气和污染(平时烧香拜佛的人多,烟雾袅袅)太重,对事业是不利的。
         
        
        
         
         
  • 物价上涨与工资

    2011-09-06 15:42:56

     
         昨天开四地会议的时候,同事跟我说上海的学员本科应届毕业生已经要薪水到5.5k了,听了之后第一反应就是物价上涨的太厉害,最近走访一些公司,公司的人力或者测试经理也问,听到应届毕业生要求薪水4k以上也都悄然一笑。
         据报道国家应对金融危机开印钞票40多w亿,也就是每个中国人可以分到3w元,这些钱进入了流通领域,进入了房地产,进入了金融领域等等,导致现在流动性非常大,物价上涨非常快,这两天丈母娘说鸡蛋都5块钱一斤了,薪水如果在不涨真是让大家生活困难了。
          现在企业招聘也很难,一方面符合要求的测试人员的简历比往年好了很多,但是招聘的需求也呈几何增长,所以大家都在抢夺测试人员,导致测试人员的薪水在增长,再加上物价上涨测试人员的薪水上涨的就更加厉害。去年是一年工作经验的测试人员要7k,今年看来要突破了。
     
  • 七夕

    2011-08-08 13:50:27

     
        
        每年农历的七月七日,即七夕,又称乞巧节,和牛郎织女的神话传说有十分密切的关系。七夕节始终和牛郎织女的传说相连,这是一个很美丽的,千古流传的爱情故事.国人把牛郎织女一年一会的日子认为是中国的情人节,个人觉得不大合适,第一西方的情人节是每年2月14日,男女在这一天互送巧克力和贺卡,用以表达爱意或友好 ,但是七夕中牛郎织女本来就是夫妻,不需要表达美好;第二情人节应该是欢快的,但是中国古代流传四大爱情悲剧:《孟姜女》《白蛇传》《牛郎织女》《梁祝》,牛郎织女的故事本身不祥,所以这一天作为情人节真的有点不合适.
        七夕的日子,晚上和同事去看电影,这一天过节的人还真的不少,进入电影院的人络绎不绝,虽然是晚上10点多了,还是爆满,一对对的络绎不绝进来,我们在电影院里坐下,旁边是一对男女,由于比较近,传来他们说话的声音,男人问:你老公经常不回来么?女人说:是的. 后面属于儿童不宜成份....不再此多说. 当电影厅中的灯光关闭之后,我的眼神飞过,他们拉起了双手,电影过半,女人已经在男人的怀里.........
     
        看来这一夜有N多"有情人"在约会.情人节成了"情人"相会的日子.
     
         想起了那句话,深圳是个寂寞的城市.
        
  • 优秀的测试工程师=测试技术+行业知识

    2011-05-10 13:33:40

       如果想要成为一名顶尖的测试工程师,一定要对某一个行业的业务很了解,在长期做培训工作的过程中,很多学员的发展由于自己的行业选择不同而相差很大。1年工作经验拿薪水7k的就是行业选择的特例(当然最近的测试人员行情有些变化,一位资深的测试经理跟我交流从去年下半年开始,有测试人员1年工作经验开口就7k,感觉变化特别快,测试行业发展与日俱进)。有一名本科数学专业的学员经过培训后(2009年下半年参加培训),到一家做金融外包的公司,当时入职薪水3000,第二年跳槽,仍然是同样行业薪水是6500。2011年3月的时候,我们商妈妈(商莉)告诉公司同事一位女学员跳槽去一家银行做测试薪水12k,当时同事唏嘘不已(2年工作经验而已)。

        要想发展的比别人快除了技术水平要提高之外,还要选择一个有发展潜力的行业,做为测试人员应该去找有发展潜力的行业。前一段时间去hp交流,负责北方测试的负责人当时提到了一点,最近拿到很多简历但都看不到亮点,也就是虽然做测试但是行业跨度太大,今天做erp,明天做Oa,后天本地化等等,很多测试人员为了薪水不断跳,但是根本没有思考过跳对自己带来的增值是什么,而是简单凭借薪水来判断,越看重薪水,到最后大部分反倒发展的不好。这里其实就是做测试应该有行业积累,有某一方面技能的长期积累。

          行业的选择其实很重要,可以让人走得更快。

    另外:
       在2008年下半年开始就发现很多公司在招搜索引擎测试工程师年薪都在几十万,但是很少有符合要求的,最近跟一家公司的技术经理交流,他们公司做企业搜索引擎这一块,在前几年企业搜索引擎这一块在国内还很难开展工作,因为数据量还没有那么大,当时百度的企业搜索部门当时解散,可能就是因为国内业务无法开展有关系。 随着经济发展,数据量信息量都呈爆炸式增加。记得前一阶段邓亚萍出任人民搜索总裁,具了解他们其实购买产品的就是国际上做企业搜索(google,baidu都是做的互联网搜索)的No1.,是英国的一家公司Autonomy。2008年另外一家公司fast esp被微软以12亿美金收购。我想企业搜索测试工程师很快应该也是一个高薪工作

  • 测试人员薪水

    2011-05-02 12:09:08

    原邮件发件人名字:pcl
    原邮件发件人地址:
    pcl@51testing.com
    原邮件收件人名字:makai; yuejie
    原邮件收件人地址:
    makai@51testing.com; yuejie@51testing.com
    原邮件抄送人名字:'zoumingtao'; liairan; malitao; jiafenglan; liziyan; maxiye; zhengyanfen
    原邮件抄送人地址:
    zoumingtao@51testing.com; liairan@51testing.com; malitao@51testing.com; jiafenglan@51testing.com; liziyan@51testing.com; maxiye@51testing.com; zhengyanfen@51testing.com

    makai,您好!
            
                这次到深圳上海感觉测试行业的整体薪水向上涨的明显。
                深圳:
                测试人员薪水这几年在外包公司的带动下增长明显,文思,软通,中软资源(金华业)等公司基本上每年薪水增加2次,但是人员跳动频繁,跳动一次基本上上涨50%,所以很多人不断在外包公司间跳动。深圳人员起薪一般在3500,4000。
                华为拖欠外包公司费用数额很大,软通动力被华为拖欠了?亿,现在深圳文思已经在减少华为外包的投入,最近接了不少海外的单子。博彦在深圳去年7,8月份从几十人上升到500多人,发展很快,主要是做华为外包,核心人物是从软通跳过去的,原先深圳软通的嵌入式事业部的总监。
               腾讯在大量招聘,比以前容易进了很多,员工关系放在托管在别的公司。
               
               另外:腾讯一般test leader职位大约在年薪12w左右,如果是进入到游戏部门做测试主管大约在20-30w,年底5个月的工资,如果全年达标额外发5个月的工资,基本上全年的总收入在50-60w之间。
               
               上海:
               测试要求英文,很多测试人员大多数停留在8.9k的薪水,突破了之后会到18K是个峰值,如果到了20k,到3,4w就很容易。但是现在测试的工作年限也会局限很多人发展,30岁以上薪水在25-30w,到了这个门槛,现在来看不是个人能力问题,而是越来越多的公司考虑工作年限,35岁之后突破30w的可能性会大,一般测试总监在30-40w,华为的测试总监级别的月薪大约3.5w-4w, 测试人员想要到顶尖,年薪70-100w,走的路线应该往cto方面发展(广州的jackei(省略名字)原先就是测试人员出身,现在在一家公司做cto)。
              上海外企比较多,国外的一些做法慢慢带到国内来,工作年限的增长和薪水的增长慢慢会结合在一起。这个可能是未来的趋势,同时一个人的工作背景会给他发展提供很好的机会,未来测试对于行业,大企业的工作经验会越来越看重。
     
            
     
             另外:1.现在国外越来越多用selenium(自动化测试工具),感觉国内将来也会慢慢成为主流。
                     2.微软的测试人员受到重视的原因,测试人员当接到测试任务可以利用各种工具做code review,会定位到代码中的错误,提供给开发人员修改的建议,而国内的很多测试人员只能是浅层次的发现错误,而不能提供开发深层次的错误。
     
             
           八卦:上海微软内部斗争很严重,各部门自成体系,跨部门斗争严重
                                         
                                         
             额外:朋友去英国工作了半个月,交流了下,我的感觉:
                   英国整个社会很稳定, 一个月薪5000镑的员工,可以住别墅,养2个孩子,老婆可以不上班,有车。一个高管的收入也不过1w多磅,在工地上打工的建筑工人也有3000多-4000镑,只有行业差别但是各人收入相差不大。社会福利保障体系非常完善,税收30%。
              
                 
                    
    -- 
    Best Regards!
    ***************************************************
                        51Testing软件测试网
    博为峰(北京)信息技术有限公司 
    朴春龙
    电话:010-82600892
    地址:北京市中关村东路18号财智国际大厦C座1109室(邮编:100083)
    -------------------------------------------------------------------------
    测试门户:www.51testing.com
    测试培训:www.51testing.net
    测试服务:www.51testing.cn
    中国软件测试黄埔军校
    ***************************************************
    重要提示:本邮件载有秘密信息,请您恪守保密义务,勿向第三人透露。谢谢合作。( (c)Shanghai BWF Software Tech Co.,Ltd)
    CAUTION:This email communication is confidential. Recipient(s) named above
    is(are) obligated to maintain secrecy and is(are)not permitted to disclose
    the contents of this communication to others. Thank you.( (c)Shanghai BWF
    Software Tech Co.,Ltd)
  • 51testing现场招聘会第二届北京分场

    2011-03-08 16:58:42

     

           2011年北京软件测试现场招聘会第二届在3月6日胜利闭幕了,一早我我就从家里出来赶到现场,北京这几天有点冷,早晨刮着小风,还是当年的那个场地,到了门就遇到马凯了,这次北京的招聘会企业都是他和另外一个同事王晶完成的(王晶由于老公工作安排,去南方发展了,希望他们在南方能有一片自己的天地)。

           进入到会场,会场已经整理完毕,各个展位上都贴好了海报,我在会场走了一圈,展位都已经满了,今年比2008年来的企业要多,统计了下岗位需求有1000多个,支付宝,Hp,sohu等知名企业都来了。企业陆陆续续入场开始整理。

           9点开始应聘者开始准备入场了,今年没有08年的那种人山人海的感觉,人都是三五成群的入场,没有喧哗,但不失热闹。门口有个计数器,进出的人进行统计,到了晚上统计的数据超过了3000,入场的人数在1500人以上。在中间邹老师询问了几家企业,人人网的来招聘的测试经理是我们的学员,几家企业反馈都还不错。

           今年感觉企业的招聘量比较大,行业发展很迅速,对培训机构来说是个机会。如何把握住机遇是我们要面对的挑战。

          备注:中间发生了些小事件,某培训机构以招聘为名擅自进入招聘会现场搭摊,说是和招聘场馆的市场部联系,但是当天场地是我们包场,根本不可能再卖给别人的。同时他们去招聘会是在上午10点多,最热闹的时候,入场,人多混杂的时候搭摊,自己找个桌子就树摊,一般付费的用户会要求服务,给一个标准展位,这些都不找相关人,直接就做,居心可疑。

         同事空间(招聘会现场照片):http://user.qzone.qq.com/564202718?ADUIN=920914321&ADSESSION=1299547871&ADTAG=CLIENT.QQ.2881_FriendInfo_PersonalInfo.0&ptlang=2052

           

  • LoadRunner的学习资源

    2010-10-05 19:54:41

    从网络上转贴,觉得对初学者学习很方便

    Read First

    What is Load Testing (10 Pages)
    C:\Program Files\HP\LoadRunner\help\Learn_More_Testing.pdf

    HP LoadRunner Quick Start (30 Pages)
    C:\Program Files\HP\LoadRunner\tutorial\LR_QuickStart.pdf

    Tutorial (150 Pages)
    C:\Program Files\HP\LoadRunner\tutorial\Tutorial.pdf

    User Guides

    Virtual User Generator (1420 Pages)
    C:\Program Files\HP\LoadRunner\help\vugen.pdf

    Controller (552 Pages)
    C:\Program Files\HP\LoadRunner\help\Cntrl_pc.pdf

    Analysis (676 Pages)
    C:\Program Files\HP\LoadRunner\help\analysis.pdf

    Online Monitoring Reference (402 Pages)
    C:\Program Files\HP\LoadRunner\help\online.pdf

    Additional Reading

    Installation Guide (80 Pages)
    C:\Program Files\HP\LoadRunner\help\install.pdf

    Monitoring Best Practices (248 Pages)
    C:\Program Files\HP\LoadRunner\help\Monitoring_BP.pdf

    Flex Protocol Enhancements (12 Pages)
    C:\Program Files\HP\LoadRunner\dat\Flex.pdf

    Thats 3580 Pages of information on LR – How many pages have you gone through? (I probably did less than 1500)

    The above can also be found in Compiled Help Files. A couple like the Automation and Function reference are not found in the PDFs above, so it makes sense to list out the locations of these.

    CHM Files

    Everything from the above PDF listing
    C:\Program Files\HP\LoadRunner\bin\online.chm

    Function Reference
    C:\Program Files\HP\LoadRunner\bin\FuncRef.chm

    C Language function ref
    C:\Program Files\HP\LoadRunner\bin\c_language_FuncRef.chm

    Automation Reference (dont even go there)
    C:\Program Files\HP\LoadRunner\bin\automation.chm

    Well thats with the Documentation on your PC.

    ————————————————————-

    Now for the online stuff. Remember, many of your queries can be solved by using the search functionality at any of the following sites. Make it a habit to devote time every week to go through the latest posts, and it will make quite a good difference in your learning path.

    Email Lists:
    http://tech.groups.yahoo.com/group/loadrunner/
    http://groups.google.com/group/LR-LoadRunner
    http://tech.groups.yahoo.com/group/Advanced-LoadRunner/ (very little activity there – only for experienced users)

    Discussion Boards:
    http://www.sqaforums.com/postlist.php?Cat=0&Board=UBB6 (ofcourse!)
    http://forums13.itrc.hp.com/service/forums/categoryhome.do?categoryId=915 (HP Perf Center Forum)
    http://www.bish.co.uk/forum/index.php?board=2.0 (Richard Bishop)

    White Papers / Presentations:
    HP LoadRunner tips and tricks
    https://h10078.www1.hp.com/bto/download/loadrunner-configuration.pdf
    Performance Center New Features:
    http://hpbroadband.com/(S(vlbj3h3h2ej4qane0gsonc55))/program.aspx?key=5831MtEPC7May2009
    LR Compiler
    http://www.loadtester.com/under-hood-loadrunner-compiler

    Blogs:
    Official HP Blog: http://www.communities.hp.com/online/blogs/loadrunner/default.aspx
    Scott Moore, Tim Chase et al http://www.loadtester.com/blog
    Alexander Podelko http://www.testingreflections.com/blog/67
    Stuart Moncrieff http://www.myloadtest.com/ & http://www.jds.net.au/tag/loadrunner/
    Dmitry Motevich http://motevich.blogspot.com/ (includes video tutorials)
    papayamilkshake/Hwee Seong Tan http://www.loadrunnertnt.com/tag/loadrunner/
    Kim Sandell http://ptfrontline.wordpress.com/category/loadrunner/
    Richard Bishop http://www.bish.co.uk/index.php?option=com_content&view=category&id=34:recent&Itemid=1

    Wilson Mar: (deserves a seperate heading of his own – not a blog – but additional reading)
    LoadRunner Architecture http://www.wilsonmar.com/1loadrun.htm
    VUScripting http://www.wilsonmar.com/1lrscript.htm
    VTS http://www.wilsonmar.com/1mercvts.htm
    AJAX RIA web app load testing using LoadRunner http://www.wilsonmar.com/ajax_rec.htm
    Results Explorer http://www.wilsonmar.com/lrexplore.htm

    Twitter Feeds
    Coming Soon

    Protocol & Application Specific Resources

    AJAX c & s
    http://www.wilsonmar.com/ajax_rec.htm

    Flex, AMF
    http://hpbroadband.com/(S(3uelw04503pkjo55saxzlofd))/program.aspx?key=5831LoadRunner24March10

    CITRIX
    CITRIX document (for LR7.51)
    http://www.ccaheaven.com/wps/Mercury%20Interactive’s%20LoadRunner%20for%20Citrix.pdf
    Tim Chase CITRIX Scripting Best Practices
    http://www.loadtester.com/whitepapers/Citrix_LoadRunner.pdf
    Scott Moore’s CITRIX Scripting Tips
    http://www.loadtester.com/citrix-tips-2007-part-1

    Remedy ARS
    From JDS http://www.jds.net.au/tech-tips/vugen-scripting-for-remedy/

    Misc stuff
    LoadRunner VuGen to JMeter conversion
    http://www.performanceengineer.com/blog/lr2jm-convert-loadrunner-scripts-to-jmeter/
    Various Links : http://loadtester.tumblr.com/

    Certification Information:
    http://h20546.www2.hp.com/main/americas/certification/?sitepick=PT (General Info)
    http://www.hp.com/partnerlearning/learner_id.html (HP Learner ID)
    https://ibt1.prometric.com/index.asp?ibt=9710657000& (Prometric Id)

  • LoadRunner Analysis 中response time为负

    2010-09-18 12:51:30

           精确的时间计时,有时候是非常必要的。在测试代码的性能时,也需要使用到非常精确的时间计时。还有测试硬件的性能时,也需要精确的时间计时。这时就需要使用QueryPerformanceCounter来查询定时器的计数值,如果硬件里有定时器,它就会启动这个定时器,并且不断获取定时器的值,这样的定时器精度,就跟硬件时钟的晶振一样精确

     

    Option Explicit

          Declare Function QueryPerformanceCounter Lib "Kernel32" _
                                     (X As Currency) As Boolean
          Declare Function QueryPerformanceFrequency Lib "Kernel32" _
                                     (X As Currency) As Boolean
          Declare Function GetTickCount Lib "Kernel32" () As Long
          Declare Function timeGetTime Lib "winmm.dll" () As Long

          Sub Test_Timers()
          Dim Ctr1 As Currency, Ctr2 As Currency, Freq As Currency
          Dim Count1 As Long, Count2 As Long, Loops As Long
          '
          ' Time QueryPerformanceCounter
          '
            If QueryPerformanceCounter(Ctr1) Then
              QueryPerformanceCounter Ctr2
              Debug.Print "Start Value: "; Format$(Ctr1, "0.0000")
              Debug.Print "End Value: "; Format$(Ctr2, "0.0000")
              QueryPerformanceFrequency Freq
              Debug.Print "QueryPerformanceCounter minimum resolution: 1/" & _
                          Freq * 10000; " sec"
              Debug.Print "API Overhead: "; (Ctr2 - Ctr1) / Freq; "seconds"
            Else
              Debug.Print "High-resolution counter not supported."
            End If
          '
          ' Time GetTickCount
          '
            Debug.Print
            Loops = 0
            Count1 = GetTickCount()
            Do
              Count2 = GetTickCount()
              Loops = Loops + 1
            Loop Until Count1 <> Count2
            Debug.Print "GetTickCount minimum resolution: "; _
                        (Count2 - Count1); "ms"
            Debug.Print "Took"; Loops; "loops"
          '
          ' Time timeGetTime
          '
            Debug.Print
            Loops = 0
            Count1 = timeGetTime()
            Do
              Count2 = timeGetTime()
              Loops = Loops + 1
            Loop Until Count1 <> Count2
            Debug.Print "timeGetTime minimum resolution: "; _
                        (Count2 - Count1); "ms"
            Debug.Print "Took"; Loops; "loops"
          End Sub
      

  • LoadRunner和HTTP协议

    2010-08-20 10:44:01

     

    最近在做性能测试,在开发web脚本的过程中遇到错误: Action.c(15): Error -26631: HTTP Status-Code=400 (Bad Request) for  http://xxxxxx/onlinefront/s.do?tl=51&bk=null&optionId=244&p=110

    问了很多人没有人知道问题的原因,最后只能自己潜心研究,首先从http status-code400的错误开始分析, 这个错误是说请求无法被处理因为它含有缺失或无效的信息, 根据错误信息的描述应该是发送HTTP请求中语法格式不正确导致不被服务器接受,这很可能就是通过LoadRunner  发送HTTP请求是一个不完整。那么首先要确认的就是比较发出的请求和录制的时候请求看是否丢失了http信息来判断错误的原因。

         首先选上runtimesettingsextended log的三个选项后运行此脚本,用录制发送相类似请求的日志和选择exection loghttp send请求日志进行对比 。拷贝这些请求数据包到一个记事本中然后进行比较。在Recording Log(单协议)或Generation Log(多协议)中查找是否存在头数据包,我们发现在执行日志中头域失踪了。

         这样解决问题的方法就是web_add_header("xxxxx","yyyy")添加一个http头,在错误的请求前添加此函数然后回放。

      如果你发现所有的HTTP send请求都缺少头数据包,在脚本中的开头添加web_add_auto_header”XXXXX“”yyyy“;随着web_add_auto_header的添加,你不需要为每个HTTP send请求都添加web_add_header了。

    还有一个解决问题的方法是在Tools -> Recording Options -> Advanced tab中设置,点“headers”按钮,在列表中选择Record Headers in the List,然后选择“XXXXX”,因此它可确保在录制过程中录制自己。

  • 真正带来价值的服务

    2010-08-18 13:46:59

     

        记得在上海的时候,在地铁上经常看到在听mp3,mp3的精巧,让人觉得带着她的人都很精致,后来知道那小小的mp3叫做ipod,从此我被iPod精巧的设计和直观的界面所吸引,简约中处处透露着精致,简约是为了烘托精巧,精致中处处体现着简约,精巧是为了突出简洁。后来在2007年的时候我拥有了第一款产品apple的产品ipod classic,后来又买了itouch,真正到手了东西都扔在哪里,其实本人不怎么喜欢拿着耳机听歌,觉得听完了之后大脑昏昏沉沉的,直到2009年1月6日家里被盗,都被洗劫一空的时候,才发现自己还有这点财产。呵呵,购买的时候只是觉得好玩,追求大众。所以购买产品的时候应该仔细分析下自己是否真的需要。

        在深圳很多人都炒股,公司同事中最老实的孩子小某(不提名字了)也进入到了股市,据说当初还小赚一笔,从这点上来我觉得上海深圳人的理财意识要比北方人好很多,通过投资提高自己的收益,改变自己的生活(这里我不是讨论炒股风险问题,那是另外一个话题),我有位朋友在一家证券公司开户,主要是看佣金比例比较低,其中证券公司承诺有理财服务,也就是定期发放短信,那个股好,那个股不好,这个公司把内部的一些分析信息告诉给自己的客户,经过了一段时间,这个朋友发现很多时候亏得多赚得少,而且这些信息还是这个客户经理自己研究给的。

       我和老婆回到北京之后,老婆比较活跃还没回来就在目标(我们住)小区加入了群,和很多人认识了,算是个小区名人,小区做什么的都有,小区群里最近谈的最多的是股票,有个小女孩是某证券公司的员工,每天跟小区里的人交流给大家一些信息,给的可以标注到几块几毛钱进入,今天会到什么点(是具体的钱数),前一段时间说某汽车股最低到15.8还真到了,小区有人就买进3天赚了1块5。原来他们证券公司有提供实战传真服务,也就是每天会告诉你信息.

    程xx@ 说 (14:27):
    我给你发个文件你就知道什么是实战传真了,呵呵
    程xx@ 说 (14:28):
    就是我们这样做的,早上开盘前告诉你买哪个股票,多少钱买,到卖的时侯也提醒你.每天都跟踪发送操作计划,呵呵呵

    同样两家公司做的服务完全不一样,真正有价值的服务不是看那个佣金低,看是否真正花的钱值得,他真的能带来给你价值。

         最近北京一些培训机构都在开始改变课程体系和产品介绍描述,跟51趋同,从外部很难看清那个好那个坏,特别是对于对这个行业不熟悉的人,培训是教育产品,教育产品很难通过表面去区分产品的好坏。多以导致很多人选择教育产品的时候更多的拿价格去区分,拿进入行业的第一份工作去评价,51的培训的价值在于培训的内容课程的体系,他的威力体现在1,2年左右,我们有很多学员一两年间成为测试主管测试经理,成为公司的测试人员的中坚。很多人经常回来看我们,看到自己的学生的成长真的是很高兴。

         我相信只要是好的产品,那些真正有价值的产品终归会大浪淘沙,希望更多的企业提供给大家提供真正有价值的服务。

      

     

  • 机会是什么

    2010-08-14 09:47:37

     

       机会是什么?机会是一个人迅速走向成功的杠杆。芸芸众生中谁与谁相比能有多大的差距,单从人的本质而言,人与人的差别微乎其微,而最终有的人成功了,而有人却一生平平。我们不否认前者是努力的结果,但机会又是何等的重要,没有机遇也就失去努力的平台。
       最近有个学员来学习进入我们39期班学习,这个学员本来可以读34期的班,但是由于家人反对蹉跎了2个月的时间。当时其实她选择的那个时间点学习很好,有很好机会,34期班的学员再培训结束的时候就有4个人没有拿到offer,其中班里一个学员去了上海自己找了人生第一份测试工作起薪是9k。机会时机的把握对每个人来说很重要。
      在管理学上有一种叫做公车理论,公交车可以比喻为「机会」,它是不等人的. 人必须要培养实力,然后等待机会. 当人有足够实力,才能在车站等上车. 公交车到站时,如果客已经在那儿等,也就是实力足够,它就会把人载走. 如果客还没走到车站,也就是实力不足,那自然是搭不上公交车了. 所以要亊业成功,足够的实力是必要的因素. 但机会不来,任凭多雄厚的实力也是枉然的. 不少怀才不遇的人,便是有如在车站久待公交车的焦急客,如果对这条路线的公交车有足够的信心,便要加点耐性再等待,否则亦可能要考虑上另一条路线的公车了.
       所以最好的情况是你到站的时候正好车就来了。
       上周有一家做金融测试的公司,我们有24人去面试,通过了21人,离毕业还有一段距离,这期班36名学员就有12人没有找到工作。说实话我挺佩服这个公司的创始人,2005年其人定好金融方向的测试后,开始研究如何做好测试,花了3年的时间终于研究成功金融测试的模型,2008年开始尝试推广,每个月招聘人员的速度是15-20人,当然51也在和他们的合作中为他们推荐了很多人,前两天有个深圳学员过来看我说进这家公司后基本上都是51的,谈的都是你是第几期。在这家公司的学员成长的也挺快,很多人一年工作经验的人薪水都成了6k多,前天28期曹磊数学专业从这家公司跳槽新工作薪水是6k。

        这家公司在高速发展,人员增长的规模,决定了管理的梯队,本期进去的人可能在一个月之后会有很多人成长为测试主管,我们抓的是什么机会,抓平台,有很多公司很难有这种成长机会的,如果越早加入可能越早就会成为主管经理,可能要比你在别的地方积累要快很多。

       真正想成功的人,会把运气撇在一边,抓住机会,不放过任何让他成功的可能。他不会等待运气护送他走向成功,最近很多来学习的人我觉得紧张感都不够,到底要怎么发展发展成什么样都不清楚,让时间流逝,让机会白白从手中溜走,真的很可惜。

      

  • QTP回放解决方案(学员翻译)

    2010-06-16 20:50:42

    2008103

    大家好,

      已经有一段时间没给大家回信了,对此我非常抱歉。由于公司的业务繁忙所以我一直没有给大家回信,当然我知道不应该拿这个当作借口。

      这次,我将给大家讲解一下有关QuickTest Professional的使用。

    多数时间,QTP可以自动录制你与应用系统交互的每一步,然而,尽管QTP功能强大,但是当应用界面对象不是标准的时候QTP也是无能为力的。

    这是因为对于应用界面不标准的类型,QTP没有关于它的先前的资料,所以当遇到这种问题的时候就不知道如何去解决。正如一个孩子当在一些新的事情上犯错误的时候就不知道怎么去解决。

     

    对于这类型的问题,我们有两种解决办法:

    告诉QTP这个新事物的所有相关信息并且解释处理的方法。意思就是说当QTP下次遇到这个新事物的时候,就会自动识别并恰当地使用这个新事物(知道该记录什么和如何去回放这些记录)。让QTP执行这个,你需求使用一个叫做可延长性的功能。然而,我们都知道创建可延长性是有一定难度的而且它会限制QTP添加项的使用。

    你创建一个回放的解决方案。意思是当你录制的时候QTP任然不知道你对这个应用的操作,所以不会恰当的生成脚本但是在录制的过程中QTP能够和应用交互。为了实现这个功能,你必须写自定义的函数并且详细的描述每一步的操作。这类型的解决方案往往使你的脚本更容易理解。下面我们会对这种解决方案进行详细的介绍。

    因此,首先,我们使用QTP录制一段脚本:

    Window(“Paint”).WinObject(“Colors”).Click 72,33

    Window(“Paint”).WinObject(“Tools”).Click 21,148

    Window(“Paint”).WinObject(“Afx:1000000:8″).Click 48,99

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 100,48

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 137,100

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 52,98

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 135,98

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 47,100

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 47,189

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 47,189

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 134,188

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 137,102

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 135,188

    Window(“Paint”).WinObject(“Colors”).Click 134,30

    Window(“Paint”).WinObject(“Tools”).Click 15,174

    Window(“Paint”).WinObject(“Tools”).Click 31,261

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drag 82,144

    Window(“Paint”).WinObject(“Afx:1000000:8″).Drop 102,187

    如果你录制了这段脚本,你将看到QTP画了一个院长的图画,但是我们看这段脚本根本没有一点标示是画这个图画。同时你也注意到这个图画中丢失了一个元素,我没有忘记这个元素但是QTP却没有录制它。

    现在,让我们看一下我们如何提高我们的脚本并且使我们的录制方案比QTP目前所能及的做的更好。

    首先行为第一,你想让你的脚本看起来像什么呢?我个人的意见是,像下面的这段脚本就是好的:

    SelectColor “red”

    SelectTool “line”

    DrawLine 100, 48, 137, 100

    DrawLine 52, 98, 135, 98

    SelectColor “blue”

    SelectTool “rectangle”

    DrawRectangle 82, 144, 102, 187

     

    如果你像我,仅仅读了上面的一段脚本,你理解QTP做了什么,画了一根红色的线,一个蓝色的矩形等等[但是,你任然不会知道最后这个图画是什么样子]。你相信吗,这就是向前的方式?是的,的却如此,让我们出发。

    首先,我们需要去了解QTP从应用中获悉什么。为了知道这个,我们使用间谍工具去监视QTP怎样识别你的对象。你将注意到所有的工具栏(工具和颜色)都作为一种对象被识别,同时QTP不能识别个别的按钮但是你能看到QTP识别了这种对象并作为WinObjects

    当你在应用中看到WinObjects的时候,你应该立刻意识到,这些是QTP不能识被的对象。事实如此,WinObjects是当QTP不了解这个对象时用来使用的一种类型。如果QTP了解对象的一些属性,QTP将把这些对象分类为一些其他的对象(WinEdit, WinButton, WinToolbar, 等等.)因此,对选项里的任一项,QTP有一种类型用来标示它不识别这个对象。WinObjectwindows的对象WebElementWeb的对象,JavaObjectJava对象,SwfObject.Net对象等等。

    因此,现在我们知道QTP只识别3个对象,这3个对象全是WinObjects:工具栏,颜色栏和画布(画图区域)。对于我们的回放,这些信息就已经足够了,因为我们总是通过使用点击工具栏里的按钮并使用相应的提示进行操作,只要这个按钮在工具栏里不移动就可以。

    现在我们做一个简单的例子:

    当我们选择了这个线条工具,QTP识别下面的状态:

    Window(“Paint”).WinObject(“Tools”).Click 21,148

    如果你试图努力,你可能得到一些和这些提示不同的值但是他们基本上一致,实际上,你可以点击任何地方只要他在工具栏的范围之内并且你可以选择即可。

     

    现在,我们写一些和以下相似的事情:

    SelectTool “Line”

    如果你现在就这样执行脚本,QTP将提示它不理解关于选择工具栏的任何信息。而且QTP将通过“配错类型”错误提示显示出来。如果你同意的话,告诉QTP怎样去做。

    我们需要创建一个和选择工具栏相同名字的程序,并且规定当执行程序时相应的做什么。

    Sub SelectTool(ToolName)

    If ToolName = “Line” Then

          Window(“Paint”).WinObject(“Tools”).Click21,148

        Else

          MsgBox “Invalid tool name.”

        End If

    End Sub

    SelectTool “Line”

    如果你再次执行这段脚本,你将注意到QTPP不会验证关键字是否正确,反而直接调用Line 工具。

    因此,现在你可以在你的函数里添加许多新的灵活的工具:

    Sub SelectTool(ToolName)

    Select Case ToolName

      Case “Line”

          Window(“Paint”).WinObject(”Tools”).Click16,142

      Case “Curve”

           Window(“Paint”).WinObject(”Tools”).Click 41,143

      Case “Rectangle”

           Window(“Paint”).WinObject(”Tools”).Click 16,165

      Case “Polygon”

           Window(“Paint”).WinObject(”Tools”).Click 41,166

       Case Else

        Reporter.ReportEvent micFail, “SelectTool”, “The tool ‘” & ToolName & “‘ does not exist.”

    End Select

    End Sub

    SelectTool “Line”

    SelectTool “Rectangle”

    SelectTool “Line”

    好了,现在你得到了图片并且你也知道如果新建SelectColor程序了。

    但是,让我们看的远一点,因为我们写的程序并不完美。当我们写函数或程序时,我们可以使用变量让它更灵活而且我们可以参数化工具名称实现。然而,一个函数或是程序可以完全独立于外部数据除了通过参数传递数据。并且在当前情况下,SelectTool是依靠Window(”Paint”).WinObject(”Tools”)。所以,为了完善我们的函数,我们从这种方式重写:

    Sub SelectTool(ToolObject, ToolName)

    Select Case ToolName

            Case “Line”

                ToolObject.Click 16,142

            Case “Curve”

                ToolObject.Click 41,143

            Case “Rectangle”

                ToolObject.Click 16,165

            Case “Polygon”

                ToolObject.Click 41,166

            Case Else

           Reporter.ReportEvent micFail, “SelectTool”, “The tool ‘” & ToolName & “‘ does not exist.”

        End Select

    End Sub

    SelectTool Window(“Paint”).WinObject(“Tools”), “Line”

    SelectTool Window(“Paint”).WinObject(“Tools”), “Rectangle”

    SelectTool Window(“Paint”).WinObject(“Tools”), “Line”

    现在,我们通过添加一个新的参数从工具对象中移除附属,增加句法的结构复杂性。但是QTP有一个特性就是容许我们给QTP对象注册一个函数或者程序。通过做这些,我们告诉QTP对象现在是一个新的函数:

    Sub SelectTool(ToolObject, ToolName)

    Select Case ToolName

            Case “Line”

                ToolObject.Click 16,142

            Case “Curve”

                       ToolObject.Click 41,143

             Case “Rectangle”

                ToolObject.Click 16,165

            Case “Polygon”

                ToolObject.Click 41,166

            Case Else

          Reporter.ReportEvent micFail, “SelectTool”, “The tool ‘” & ToolName & “‘ does not exist.”

    End Select

    End Sub

    RegisterUserFunc “WinObject”, “SelectTool”, “SelectTool”

    Window(“Paint”).WinObject(“Tools”).SelectTool “Line”

    Window(“Paint”).WinObject(“Tools”).SelectTool “Rectangle”

    Window(“Paint”).WinObject(“Tools”).SelectTool “Line”

    现在,我们知道在我们的工具栏里如何去选择一个项目,让我们看一下在画布里画图。之前,我们规定和下面的代码相似是理想的:

    SelectColor “red”

    SelectTool “line

    DrawLine 100, 48, 137, 100

    So, now we need to draw a line:

    Sub DrawLine(CanvasObject, StartX, StartY, EndX, EndY)

    CanvasObject.Drag StartX, StartY

    CanvasObject.Drop EndX, EndY

    End Sub

    RegisterUserFunc “WinObject”, “DrawLine”, “DrawLine”

    Window(“Paint”).WinObject(“Afx:1000000:8″).DrawLine 44, 34, 128, 34

    完整脚本如下:

    Dim dicTools

    Set dicTools = CreateObject(“Scripting.Dictionary”)

    dicTools.Add “line”, Array(16, 142)

    dicTools.Add “curve”, Array(41, 142)

    dicTools.Add “rectangle”, Array(16, 165)

    dicTools.Add “polygon”, Array(31, 165)

    Dim dicColors
    Set dicColors = CreateObject(“Scripting.Dictionary”)

    dicColors.Add “black”, Array(42, 14)

    dicColors.Add “white”, Array(42, 30)

    dicColors.Add “red”, Array(72, 33)

    dicColors.Add “yellow”, Array(89, 33)

    dicColors.Add “green”, Array(103, 33)

    dicColors.Add “blue”, Array(135, 33)

    Sub SelectTool(ByRef objTool, ByVal ToolName)

    ToolName = LCase(ToolName)

       If dicTools.Exists(ToolName) Then

      objTool.Click dicTools(ToolName)(0), dicTools(ToolName)(1)

          Reporter.ReportEvent micPass, “SelectTool”, “The tool ‘” & ToolName & “‘ has been selected.”

       Else

            Reporter.ReportEvent micFail, “SelectTool”, “The tool ‘” & ToolName & “‘ does not exist.”

       End If

    End Sub

    Sub SelectColor(ByRef objColor, ByVal ColorName)

    ColorName = LCase(ColorName)

        If dicColors.Exists(ColorName) Then

            objColor.Click dicColors(ColorName)(0), dicColors(ColorName)(1)

            Reporter.ReportEvent micPass, “SelectTool”, “The color ‘” & ColorName & “‘ has been selected.”

        Else

            Reporter.ReportEvent micFail, “SelectTool”, “The color ‘” & ColorName & “‘ does not exist.”

        End If

    End Sub

    Sub DrawLine(CanvasObject, StartX, StartY, EndX, EndY)

        CanvasObject.Drag StartX, StartY

    CanvasObject.Drop EndX, EndY

    End Sub

    Sub DrawRectangle(CanvasObject, StartX, StartY, EndX, EndY)

    CanvasObject.Drag StartX, Start

  • 生活的意义

    2010-03-26 14:32:58

     

         好久没有来写blog了,从去年9月份到现在有半年多了,这半年想分享的东西特别多,不过时间有限,10年农历年的前两天我领了结婚证,呵呵,也算是真正成为了一个有家的人,虽然生活形式没有太大的改变,但是心态上也面临着一种转变,古人说结婚了就是一个独立的人了,现在我也算成为了一个独立的人。

         人生也悄然过半,到底自己要成为什么样的人,要做成什么样,也不断的在脑海里出现迷茫和惶恐。刚参加工作是为了温饱而努力,2年多换了6家公司,本质上是为了满足生存需要;后来不再为温饱而愁,就开始在网上发表文章,帮别人解决问题,还有过多次写书的机会(但是事与愿违,反倒参与了很多书的编审,而没有自己独立写完一本书,当时写书其实最直接的目的就是让更多人知道自己,后来真的想写书的时候发现自己很空,看到市面上很多书真的是缺少原创,技术水平很挖,但是还敢于写书,真不知道诱骗了多少人,个人感触而已),当时我想求名让自己事业上更上层楼,找工作能更加顺利些,想想从本质其实内心是想更多人能肯定自己,尊重自己,我的专业是政治教育,专科学历,在公司也是学历最低,专业又是极度不靠普的,所以希望通过这种帮别人解决问题,发表文章的方式来让别人承认认可自己。

       07年开始在北京负责一家公司的运营,好像朦朦胧胧知道自己的价值所在,看到每一期班学生进来,每一期学生出去,几个月之后就有巨大的转变的时候,那个时候感觉自己好像无比兴奋。不自然地宣传一个口号是,让我们培养的人在每一个公司里,让整个行业到处有我们的旗帜。

        这几年四处奔波,始终没有思考过生活的意义。难道我们就是单纯地为了生存而活着吗? 我想生存的意义是为了生活!生活的意义是为了永生!永生意义是为了留下给后人思考和纪念的东西! ...追求存在本身的继续,所以我想以后要不断的学习不断地努力去创造,希望在今后通过自己的努力帮助更多的人增加他们的价值,通过培训去让更多的人改变自己的命运,真正帮助到需要帮助的人,为这个社会贡献自己的一份力量。也算是追求自我实现的目标。

       2010,让每一天过得更加有意义。



      

  • 幸福是什么

    2009-09-22 11:14:38

     

            幸福是什么,估计是一个很难回答的问题。

            上周末老婆下班的时候在路上看到一对男女在城铁上拿着N95在把玩,爱不释手,两个人不断的大声谈论,一部手机就让他们如此兴奋,感觉拥有了它就拥有了世界;公司的一位同事前一段时间出去玩,买了一双鞋,买后就直接穿上了回来的路上不断地看着这双鞋,感觉拥有了这双鞋就是世界上最开心的事情;前一段时间在路上夫妻俩在路上谈论,妻子用崇拜的目光看着丈夫,在谈论老公的公司福利待遇是多么多么的好,老公所有的福利待遇拿下来有6k,过节了还有20块钱的豆油,妻子觉得丈夫已经是世界上最优秀的人,感觉跟丈夫在一起就是世界上最幸福的人;。。。。。

            原来幸福如此简单,其实满足就是幸福,也许是一双鞋,也许是一部手机,也许就是你拥有的身边的人,很多人一直都生活在不满足中,因为不满足所以很累,降低一点点要求,提高满足感,也许幸福就来了。

  • 学员的邮件(转)

    2009-09-21 12:20:41

       这是北京一名学员给我们北京商老师的一封邮件,觉得很感动,觉得当老师真的很幸福。
     
    发件人: lhf198484
    发送时间: 2009-09-19 09:58:05
    收件人: shangli
    抄送:
    主题: 感谢您商老师
     
     
    商老师您好:

    我刘海丰真的很感谢您,您不但教给了我知识,最重要的是您教给了我如何更好的做人,做一个成功的人,是我进入社会的启蒙恩师!

    我出生于一个普通的农村家庭,从小读书识字,和其他孩子一起玩皮到懂事,自从我懂事之后突然感觉自己的前途很迷茫,虽然我也有父母,也享受着父母的关爱,但他们给予我的只是普通农村家庭的教育,也由于父母比较忙,没有更多的时间打理我,所以我从小就养成了凡事只有靠自己才能得到自己想要的东西。到了初中的时候,我从小的玩伴们都一个个辍学了,只有我还在上学,但也不知道上学为什么,就这样步入了高中学堂,自己开始懂得多一点了,知道农村出来的只有上大学谋得一份好工作才是出头之日,那时坚定了自己上学的想法,途中也有亲戚朋友,包括父母劝我放弃学业,回家结婚生子,了此今生。也许我这个人比较自私,不管父母的感受,选择了自己想走的路,自从大学毕业之后,感觉前途没有自己想的那么美好,后悔没有听父母的话,但既然选择了,就必须坚持走下去,就这样我象走独木桥一样走到了今天,其中我也想找个师长与我探讨下我当时的局面,也希望师长能为我指点迷津,然而我身边真心想帮我的却没有哪个能力,但我从没有责怪过父母,因为他们已经尽力了,反而我很感谢我的父母。

    就以上的人生经历让我养成了如此的性格,内向:少说多听多学;坚信:万事靠自己、亲历亲为;悲观:很少谈笑。

    我一直都认为自己很了解自己,但总有些事情放不开,不善于言笑,直到遇到您,您不厌其烦的一次又一次的对我进行开导,使我对自己有了更正确的认识,我一切的内向、悲观都是因为自己缺少安全感而造成的。现在,我已经学着让自己乐观点,待人处事积极主动点,感觉效果好多了。

    那天我在学校开完离职证明之后,在大厅的沙发上等了您很久,想当面对您说声谢谢再离开,可是好像您在给一位学生做模拟面试,一直没有等到您出来就离开了。这封信是一直以来都想写的,由于工作方面的事情,一直没有时间或者没有心情给耽搁了。

    真的很感谢您,很期望还能倾听您的教诲,很感谢51testing,也很感谢其他(她)教师们,帮我找到了一份不错的工作。

    祝福您和51testing的教师们,国庆节快乐!事业顺利!

     




                                                                                   刘海丰
                                                                                         9.18
  • 读清华制造的百名IT精英有感

    2009-08-08 22:12:10

      

        今天读了一篇清华培养百名it精英,被清华对中国it行业的发展做出的贡献而深深震撼,2005年亲民党主席宋楚瑜在清华大学发表演讲时说,清华大学执中国科技之牛耳,是两岸中国人共同的骄傲。充分肯定了清华在国人心目中的地位。提到清华大学,无人不知,无人不晓,很多企业和公司都恨不得和清华有关系,沾上名校的光,比如清华周围的的企业“清华园宾馆”、“华清家园”,甚至51testing北京校区都叫做51testing清华校区……其实这些企业都与清华大学无关。
        清华大学是中华民族的骄傲,可它的前身清华学堂却是背负着民族耻辱的学校。1900年“八国联军”侵略中国,清政府战败。第二年《辛丑条约》签订,中国赔款白银4.5亿两,分39年还清,本息共计9.8亿两,这就是“庚子赔款”。其中美利坚合众国,分得的3200万两赔款“觉得得到过多”,经谈判同意“退还”部分赔款,但表示退款须用于中国学生留学美国之用。1909年6月,清政府在北京设立游美学务处,开始培养留美预备生。1911年2月,游美学务处迁入清华园,“清华学堂”建立。1911年4月29日,清华学堂开学,这是清华历史的开端。后来清华把每年4月的最后一个星期日定为校庆日,就是为了纪念这件事。1911年辛亥革命推翻清王朝,建立中华民国。辛亥革命后,游美学务处撤销。1912年10月,清华学堂改名为清华学校。
        正是有这样的历史导致清华大学具有更沉重的历史使命,清华大学的校训是“天行健,君子以自强不息;地势坤,君子以厚德载物”,分别出自《易经》的《乾》《坤》两卦。清华建校至今,培养了十几万毕业生,包括一批又一批让国人引以为豪的学术大师、兴业之才和治国之才。还有就是“清华制造的百名IT精英”提到的“制造出一批批打着清华烙印的IT企业CEO”,那么多清华背景的it人士,已经是it行业的中流砥柱。文中提到“由于在IT界雄厚的校友力量,清华IT毕业生的日后择业也会具有巨大的优势。”,加入51testing也有5年的时间,从51testing第一期软件测试就业班开始一步步走到现在,从上海北京深圳再到回归原点北京,不知不觉在51testing已经培养了1000余名软件测试工程师(听过我课的学员),一些就业的学员已经成为公司的中流砥柱,清华和我的工作两者联想起来发觉压力很大,可能因为学校的氛围,因为任课的老师而影响一个人。希望通过51testing的平台培养更多的测试工程师,让更多的人为测试行业做出贡献。
       

  • 如何获得一个ie已经存在的实例

    2009-08-02 17:12:23

     

       最近一个朋友在做自动化测试过程中想实现一个时时监控的功能,如只要前台有人打开网页,后台qtp就开始对页面上进行校验,这个功能很新颖第一次听同行有这样的思路。该工具的实现难点在于后台什么时候触发qtp执行自动化测试,这一点通过hook的技术可以实现,进入系统消息链,监控特定消息,然后触发qtp。hook的开发还需要一段时间,他暂时先不是同步进行校验,测试人员打开ie之后先手工出发校验。这里涉及到如何获得已经存在的ie的实例,也就是测试人员打开ie后,打开网页执行测试,同时点击执行qtp脚本,qtp开始在测试人员打开的那个页面上进行校验。这里主要用internet controls,ie application对象实现。

    Dim objSW 'As SHDocVw.ShellWindows
    Dim objIE 'As SHDocVw.InternetExplorer
    Dim objDoc 'As Object

    Set objSW = New SHDocVw.ShellWindows
        For Each objIE In objSW
           If InStr(1, UCase(objIE.FullName), "IEXPLORE.EXE") <> 0 Then
              If objIE.LocationURL = "目标链接地址" Then
                Set objIE = objSW.Item
                Exit For
              End If
           End If
        Next 'objIE
    '下面一行为控制代码,替换需要的操作代码
     objIE.Navigate "www.sohu.com"

    Set objSW = Nothing
    Set objIE = Nothing

    以上代码在vb中调试通过

1661/9123456789>
Open Toolbar