拥有多年互联网和银行系统性能测试开发经验,对性能瓶颈诊断定位和优化领域有较多研究。 重回互联网行业,性能测试开发、自动化测试开发、Java开发

发布新日志

  • 最近一直忙于系统前期分析和系统调优

    2009-01-06 19:46:28

    最近完成了几个B/S, C/S系统前期分析,使得整个项目开发轻松按时完成,欣喜中...

    但是一个大型的b/s系统调优,还在痛苦的进行着....

  • 透明化--走向中高层管理的信任之道

    2008-12-27 09:55:09

    在个人的职业生涯中,不可否认技术能力和管理能力一直为众人所重视,很多人忽略了个人工作的透明化、学习的透明化,甚至个人生活的透明化, 只是获得更高层的信任和了解的唯一途径。 正所谓成也萧何, 败也萧何,只有简单的背景和面向高层透明化的工作才能为现代普遍的中小企业老板和高层认可。

    待续...

    在这个敏感的年代,属于公众主导的社会,信任是非常宝贵的东西,个人若要事业成就,就必须学会做一个公共人物。

    我们可以举很多例子,如你身边的高管,简单的个人背景,透明的行为,他们的行为往往容易被身边的人,大众所有接受。没有任何污点。

    大家一直有一种共识:不开放的东西,完全暗箱的行为,是有风险的。这也是老板用人的原则。

    记得一句名言:污点,只有用血才能洗干净。借鉴之处在于:当我们因为污点辜负了别人的信任,再重建信任,需要付出极大代价。

    你是一个团队的核心吗?你是一个关键的合伙人吗? 你是一名创业者吗?

    你值得以“身家性命”相托吗,你能理解什么“以饭碗相托”吗?

    这就是信任的最核心的价值。

    也许有人会说“获取老板的信任, 是靠拍马屁”,我在这里想说这只是获取信任的一部分,这信任是很浅,不牢固,不能赢得尊重。

    信任是动态的,也是有限的,需要互动,透明化自身的行为,实际是一种自我接受监督的状态。

    如果说记录是信任的历史,那么透明化行为则是信任的现在。

    希望与有志之士分享一些思考。

     

  • 由系统分析想到的一些关于测试导向性项目

    2008-11-24 20:58:12

    今天下午,让一位平时做的很出色的测试工程师,独立主持一个子项目系统功能设计分析会议。 会议结束以后,我收到软件组的会议总结邮件,上面写了大概10条修改意见, 软件项目经理提的就占了3条,而来自测试部的只有2条,其他都是运营与产品组提到的。

    我发现软件项目部经理题的两条建议有明显功能缺陷, 于是我问这位工程师为什么当场让这样糟糕的方案通过。像这样的错误设计根本就不用测试就可直接驳回。他给的回答是当场有想到这些问题,只是迟疑一下,计划会后讨论。

    我最后给了他一句“一定要挑战一下开发的设计”, 有点像2两年前我的项目经理我冲着说“一定要挑战一下开发的设计”。

    两年前,我很羡慕经理在系统分析会议上的智慧,和领导能力, 在短短的会议中让各方理解很透彻, 把错误的设计方向重新扭转到正确的航线上。公司就是以这样的方法, 以经理一人之力使项目一次次按时按质完成。

    今天遇到同样的事,就像看到了过去的我。觉得自己很幸运。

  • 最近一直忙于公司大型的分布式系统网络架构分析

    2008-11-18 19:18:43

    最近一直忙于公司大型的分布式系统网络架构分析。

    面对重大挑战,运营系统在未来的1个月内将要保证处理3T的关键的业务数据。

  • 技术挑战与进步

    2008-10-11 11:37:45

    为了公司急需上一项新的Linux服务的关键应用,最近一直在给部门同事做培训。非常感谢我的一位资深的同事林,培训中他的一些非常深入和尖锐的问题把整个培训质量引入了相当的高度。

    我深切的感触到在技术上的挑战和质疑,对一个复杂项目的实施成功有着关键作用,同时促使我们快速的进步。

    记得深圳office的总监在一次平台设计分析和算法论证会议强调的“我们的系统设计需要考虑来自庞大用户群和复杂的用户行为的技术挑战”,那一次会议公司最终决定引入成熟的第三方技术。

    往往,我们在学习的过程就缺少应用带给我们的挑战,导致我们学习效果不理想。

  • 夜深之时,偶然发现在51上记下了自己的人生

    2008-10-05 22:48:01

    夜深之时,偶然发现自己记下的廖廖几笔, 跨越了几个月...

    觉得很有意义!

    几年之后, 又会怎样?

  • 网络视频流服务器监控

    2008-10-05 22:30:32

    网络视频流服务器监控
  • QTP实例-一个批处理Test的脚本

    2008-09-22 21:09:24


    还是用txt来做配置文件的,呵呵,不推荐使用这种方法

    参考下思路就好了


    Runlist.txt中写需要运行的Test列表


    On Error Resume Next
    error.clear
    Dim qtApp
    Dim qtTest
    Dim qtResultsOpt
    Dim fso, MyFile,TestName
    Const ForReading = 1, ForWriting = 2

    Set WshShell = CreateObject("Wscrīpt.Shell")
    WshShell.Popup "开始批量执行自动化测试脚本!", 3, "AutoTest", 0 + 64

    Set qtApp = CreateObject("QuickTest.Application")
    qtApp.Launch

    qtApp.Visible = False
    qtApp.Options.Run.RunMode = "Fast"
    qtApp.Options.Run.ViewResults = False

    Set fso = CreateObject("scrīpting.FileSystemObject")
    Set MyFile = fso.OpenTextFile(".\RunList.txt", ForReading, True)
    Do While MyFile.AtEndOfStream <> True
           TestName = MyFile.ReadLine

            qtApp.Open TestName, True
             Set qtTest = qtApp.Test
             qtTest.Settings.Run.OnError = "Dialog"

            Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions")
            qtResultsOpt.ResultsLocation = TestName &"\AutoRes"

            qtTest.Run qtResultsOpt, True
            'qtTest.close
     Loop

    MyFile.Close
     qtApp.Quit

    MsgBox "自动化测试脚本执行完毕!脚本测试结果存放在各自的AutoRes目录下,请用QTP result工具查看"

    Set fso = Nothing
    Set qtResultsOpt = Nothing        
     Set qtTest = Nothing       
     Set qtApp = Nothing
     Set WshShell = Nothing

    RunList.txt保存Test路径,和这个vbs放在同一目录下

    格式就是

    C:\autotest\Test1
    C:\autotest\Test2
    C:\autotest\Test3

  • Open API测试一

    2008-09-15 14:06:06

    1. 安全测试要求更高。由于涉及关键数据众多,在用户输入验证、输出展现、安全交互、权限系统设计方面的要求更高。防止SQL注入、命令注入、XSS、缓冲区溢出、整数溢出等主要安全问题围绕整个软件生命周期。

    2. 流量、资源消耗、计费等监控粒度更加细致。

    3. demo应用程序以及API函数说明书。

    4.部署模式测试。

       API部署范围不应局限于在PC/PC Serer上, Open API也应该部署在流行的google application engine平台以及Amazon AWS上进行测试,以满足不同层次的开发商需求。

    5.类与方法(函数)测试.

    6.界面UI TEST.

    7.发掘待测系统的信息:

    阅读说明文档

    研究待测系统的源码

    编写试验性的stub 程序

    研究中间语言的代码

    使用反射技术做界面测试

  • 项目上线控制与更新

    2008-08-26 19:05:26

    故障处理:

    1、重启动Jboss

     

    Cd/opt/javaWebserver/jboss-4.2.0 CA

     

    /bin/shutdown.sh –S 等待30

     

    Nohup . /bin/run.sh –b 0.0.0.0 & 等候1分钟。

     

     

    2、清除版本的缓存:

     

    Cd/opt/javaWebserver/jboss-4.2.0 CA

    Rm –ff server/default/work/jboss.web/localhost/

  • Linux测试环境搭建笔记

    2008-08-26 19:00:15

    3.1,安装JDK 1.6

    3.2查看是否安装

     

    3.3/etc/profile  文件中加入以下环境变量

    JRE_HOME=/usr/java/jdk1.6.0_01

    JAVA_HOME=/usr/java/jdk1.6.0_01

    CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:

    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

    export PATH JAVA_HOME CLASSPATH

    3.4使用配置生效:

    (source命令( C Shell 而来)bash shell的内置命令。点命令,就是一个点符号,(Bourne Shell而来)source的另一名称。这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文件,如 .bash_profile .profile 等等。例如,如果在登录后对 .bash_profile 中的 EDITER TERM 变量做了修改,则可以用source命令重新执行)

    #source /etc/profile

     

    四,安装MYSQL 5.1

    查看是否安装

    1、 rpm qa |grep MySQL

    2、 rpm q MySQL-client

    3、 mysql

    4、 rpm q mysql

     

    五,安装tomcat /opt/

    Tar zxvf tomcat-6.0.16.tar.gz C /opt/

    查看

    #ls /opt/

     

     

     

    六,解压:ROOT.zip:  

    6.1 Rm –rf*

    [root@...apache-tomcat-/webapps]unzip /opt/data/ROOT.zip

    ROOT.zip 文件copy /opt/tomcat-6.0.16/webapps/

    #cd /opt/tomcat-6.0.16/webapps/

    #cp /opt/data/ROOT.war /opt/tomcat-6.0.16/webapps/

       

    6.2.将weblogic.jar   mysql-connect-5.0.4.jar  拷进tomcat-6.0.16/lib 下面。

       

     

    : 目前因为程序问题, 需要删掉weblogic.jar

        rm -rf lib/weblogic.jar

    七,新建数据库:

    7.1,登录数据库:输入mysql –u root 回车

     

    7.2,新建数据库

    #create database nuev default character set utf8;

    7.3,为数据库新建用户:

    (#grant all on nuev.* to spider01@% Identified by spider;)

    #grant all on *.* to nuve@% Identified by password

     

    (#grant all on nuev.* to spider01@localhost Identified by spider;)

    Grant all on nuve.* to nuve@localhost Identified by 123456

     

    7.4,将数据导入数据库:

    #use nuev;

    #source /opt/data/nuev.sql

    “注意:查看是否已经建立存储过程,如果没有,重新执行一次sql脚本”

    (查看是否存在存储过程)--双击打开prc_page_regsult内容.

     

     

    7.5,输入exit 退出

    八,启动tomcat

    #cd /opt/tomcat-6.0.16

    #./bin/startup.sh

  • 项目管理的三个重要概念检查点、里程碑、基线

    2008-08-21 12:01:35

    项目生命周期中有三个与时间相关的重要概念,我发现很多人对这三个概念理解不准确,更不知道如何进行控制。因此把这三个概念论述得比较准确的一段文字贴出来,帮助大家理解。

      这三个概念分别是 检查点( CheckPoint )、里程碑( Mile Stone )和基线( Base Line ),他们一起描述了在什么时候( When )对项目进行什么样控制。

      检查点

      指在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。可将检查点看作是一个 固定 “ 采样 ” 时点,而时间间隔根据项目周期长短不同而不同,频度过小会失去意义,频度过大会增加管理成本。常见的间隔是每周一次,项目经理需要召开例会并上交周报。

      里程碑

      完成阶段性工作的标志,不同类型的项目里程碑不同。里程碑在项目管理中具有重要意义,我们用一个例子说明

      情况一你让一个程序员一周内编写一个模块,前 3 天你们可能都挺悠闲,可后 2 天就得拼命加班编程序了,而到周末时 又发现系统有错误和遗漏,必须修改和返工,于是周末又得加班了。

      情况二实际上你有另一种选择,即周一与程序员一起列出所有需求,并请业务人员评审,这时就可能发现遗漏并即 时修改;周二要求程序员完成模块设计并由你确认,如果没有大问题,周三、周四就可让程序员编程。同时自己准备测试案例,周五完成测试;一般经过需求、设计确认,如果程序员合格则不会有太大问题,周末可以休息了。 第二种方式增加了 “ 需求 ” 和 “ 设计 ” 两个里程碑,这看似增加了额外工作,但其实有很大意义首先,对一些复杂的项 目,需要逐步逼近目标,里程碑产出的中间 “ 交付物 ” 是每一步逼近的结果,也是控制的对象。如果没有里程碑,中间 想知道 “ 他们做的怎么样了 ” 是很困难的。其次,可以降低项目风险。通过早期评审可以提前发现需求和设计中的问 题,降低后期修改和返工的可能性。另外,还可根据每个阶段产出结果分期确认收入,避免血本无归。第三,一般人 在工作时都有 “ 前松后紧 ” 的习惯,而里程碑强制规定在某段时间做什么,从而合理分配工作,细化管理 “ 粒度 ” 。

      基线

      指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。基线其实是一些 重要的里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立后变化需要受控制。

      重要的检查点是里程碑,重要的需要客户确认的里程碑,就是基线。在我们实际的项目中,周例会是检查点的表现形式,高层的阶段汇报会是基线的表现形式。

  • 一段时间里,我发现自己很喜欢铁匠这个名字, 喜欢别人叫我铁匠。

    2008-08-14 14:04:21

    体会着生活!我的人生就像铁匠一样:每一铁锤都实实的击打,承受着冲击,和猛烈的冲击着。
  • 工作要做对,更要做到位

    2008-07-06 00:28:10

    亲历感悟:高效能的员工重视自己的贡献,他们往往为结果工作并对结果负责。唯有那些重视结果并对结果负责的人,才能忙而有序,忙出成效。
      与小黄相比,小张究竟缺什么呢?为了让小张心服口服,总经理想出了一个不错的办法。就在小张工作的最后一天,总经理找小张谈话。刚好中秋节快到了,公司正在考虑该买什么礼物送给公司员工。总经理说:“小张,麻烦你到西门水产市场跑一趟,看看有没有大闸蟹卖?”小张心里很疑惑,不知道主管这葫芦里卖的是什么药,因为这并不是他负责的工作啊!但他还是依照总经理的吩咐,匆忙赶往西门水产市场。
      20分钟后,小张回到办公室,向总经理报告:“总经理,西门水产市场有大闸蟹卖。”总经理接着问他,“西门水产市场的大闸蟹怎么卖?论斤卖?还是按只卖?”小张一脸茫然,无以应对,这么一问他才回过神来,怎么自己就忘记了问这个呢。于是,只好再跑一趟西门水产市场,30分钟后又回来报告:“西门水产市场大闸蟹按只卖,每只50元。”
      总经理听了之后,当着小张的面,把小黄叫了进来,并吩咐小黄:“小黄,麻烦你到西门水产市场去一趟,看看还有没有大闸蟹卖?”小黄马上问总经理:“总经理,请问今天买大闸蟹是什么用途呢?”总经理回答:“中秋节快到了,以往年年都送公司员工
    月饼,今年我们打算换个新花样,送公司全体员工大闸蟹作为中秋贺礼。”
      听总经理把话讲完,小黄立即出门直奔西门水产市场而去。过了30多分钟,小黄拎着两只阳澄湖大闸蟹回来并向总经理报告:“总经理,我觉得送员工就送阳澄湖大闸蟹。西门水产市场有两家摊位卖。第一家的阳澄湖大闸蟹,每只平均4两重,每只卖50元。第二家的阳澄湖大闸蟹,每只平均6两重,每只80元。我与这两个摊主谈好,公司一次性团购600只则可以打9折,每4只送一个附带烹饪大闸蟹调料的礼品盒。考虑到咱们公司员工多数都是单身的年轻人和三口之家,我建议买4两重的,每个人可以送四只。4两重的大闸蟹肚白、背绿、黄毛、金爪、体壮,看起来很新鲜,大家一定很喜欢。如果总经理个人要送亲戚朋友,我建议买6两重的,看起来比较有分量,拿得出手。我各买了一只带回来给总经理参考,买哪个就由您定吧。”
      不难看出,尽管小张忙前忙后,一次次地去市场,但是很显然结果并不理想。反观小黄,虽然只去了一次市场,但是却将所有的问题处理妥当。如果你是这位总经理,你会欣赏什么类型的员工?你认为谁的忙碌更有成效呢?
      如果一个人仅仅是不计效果地努力工作,那么这个人的发展潜力肯定是有限的。这也是在同样的时间内,付出的努力也差不多的情况下,不同的人会取得不同业绩的原因所在。任何人在努力工作的同时,也需要不断审视自己的效率和效果。埋头苦干只能说明自己是一个好用的员工,而不是优秀的员工,得不到重用也是正常的。
      忙必须忙出效果,如果没有效果,那忙碌只是一种盲目的作秀。
      听完小黄的报告之后,总经理转头问小张:“你看出来你们俩有什么不同了吗?”小张一副恍然大悟的神情,赶忙点头表示明白了!
      接着,总经理向小张进一步说道:“一样是去西门水产市场看看有没有大闸蟹卖,你们搜集回来的市场信息和态度却截然不同。小张,你的确很认真,这没有错,但是你并没有思考这项任务的具体要求和目标是什么,只是一个口令一个动作,简单地完成任务,由于你不清楚完成任务的目的和要求,因此就免不了做一些无用功。以这次任务为例,你竟然连买大闸蟹干什么都没有问,搜集信息自然就没有针对性,来来回回跑两趟也就难免了。而小黄呢?一次就把事情搞定,他不仅搜集到了我需要的市场信息,甚至还提出分析和建议,为我做出正确的决策提供了很好的参考。”
      总经理的一番话,使小张恍然醒悟。在职场上,苦劳不会成功,企业最欣赏的员工应该是努力工作、聪明工作并快乐工作的人。这样的员工能准确领会主管的要求和期待,自然就能迅速在公司上下打开局面,成为主管和领导的左膀右臂。
      如果我们工作非常努力却没有得到上司或老板的认可,那就不妨自我剖析一下,自己是不是像小张一样忙而无效,没有忙到点子上。
      曾经有一位朋友向我抱怨,为了工作能按照进度完成,他有一段时间特别忙碌,不停地工作,总算赶在期限内完成。但是由于当时只追求时间节点,而忽视了工作质量,为了弥补因此产生的漏洞又花费了不少时间。这样显然是得不偿失的。忙是为了结果,一旦没有结果作为指引,那忙碌就变得毫无价值。
      现实工作中,不少人“把事做完”的愿望总是胜过“把事做对”的愿望。我的这位朋友和小张就是属于这种人,他们总是急着要把事情做完,而很少考虑如何将事情做对、做到位,如何让主管放心,结果轻则做无用功,重则把正确的事做错。其实,完成任务往往是假象,企业需要的是实实在在的结果;任务往往是对付老板和上司的,完成任务就是做了老板或上司交代的事,但就像小张一样只是简单地完成任务往往达不到预期的效果。
      高效能的员工重视自己的贡献,他们并非为了工作而工作,而是为结果工作并对结果负责。唯有那些重视结果并对结果负责的人,才能忙而有序,忙出成效。
  • 最近一些日子, 发现51有很多志同道合的牛人的文章,忍不住写上几句。

    2008-07-05 23:59:57

    最近一些日子, 发现51有很多志同道合的牛人,忍不住写上几句
955/5<12345
Open Toolbar