﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-扬起测试的风帆，满载着激情和希望，起航！</title><link>http://www.cnblogs.com/pent/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 08:41:53 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 08:41:53 GMT</pubDate><ttl>60</ttl><item><title>记一次有内存泄漏的性能测试</title><link>http://www.cnblogs.com/pent/archive/2008/12/17/1356722.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Wed, 17 Dec 2008 05:13:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/12/17/1356722.html</guid><description><![CDATA[<p>阅读: 400 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-12-17 13:13 <a href="http://www.cnblogs.com/pent/archive/2008/12/17/1356722.html" target="_blank">原文链接</a></p><p><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">问题：</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">性能测试过程中，</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">10</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">个用户并发持续运行几分钟后，服务器停止响应。</span><img height="441" alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/gc1.JPG" width="779" border="0" /></p>
<p>&nbsp; </p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从</span><span lang="EN-US">LR</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的错误来看，有下面几种：</span></p>
<p class="MsoNormal" style="margin-left: 25.5pt; text-indent: -25.5pt; mso-list: l2 level1 lfo1; tab-stops: list 25.5pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)</span></p>
<p class="MsoNormal" style="margin-left: 25.5pt; text-indent: -25.5pt; mso-list: l2 level1 lfo1; tab-stops: list 25.5pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Error -27791: Server "appsvr01" has shut down the connection prematurely<span style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>[MsgId: MERR-27791]</span></p>
<p class="MsoNormal" style="margin-left: 25.5pt; text-indent: -25.5pt; mso-list: l2 level1 lfo1; tab-stops: list 25.5pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">3）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Error -27796: Failed to connect to server "appsvr01:38080": [10061] Connection refused</span></p>
<p class="MsoNormal" style="margin-left: 25.5pt; text-indent: -25.5pt; mso-list: l2 level1 lfo1; tab-stops: list 25.5pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">4）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Error -26372: ContentCheck Rule "stackTrace" in Application "BIOffice" triggered. Text "","stackTrace":"" matched (count=1)<span style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>[MsgId: MERR-26372]</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但后两种应该是由前面两种错误引起的间接错误。从出错顺序上看，是先出现前面的超时错误，最后整个服务器都停止响应了。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定位：</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 18.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用客户端连接该服务器，没有响应；</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 18.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2）<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span lang="EN-US">Netstat</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看到服务器端口还在侦听，但</span><span lang="EN-US">telnet</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该端口被强制断开了，说明</span><span lang="EN-US">WebServer</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">已经不正常了；</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 18.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">3）<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从服务器的</span><span lang="EN-US">log</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看到有</span><span lang="EN-US">OutOfMemory</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的错误，判断是和内存泄漏有关。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">重现及分析：</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l1 level1 lfo3; tab-stops: list 18.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置</span><span lang="EN-US">-verbose:gc -Xloggc:./gc.log </span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印</span><span lang="EN-US">gc</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日志，重新运行脚本，重现该问题。</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">从</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">gc</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">日志中看到开始运行时，每隔一段时间会进行垃圾回收，不过内存堆栈的使用还是越来越大，最后内存不够用，频繁做</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Full GC</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">引起服务器停止响应</span></p>
<p><img height="373" alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/gc2.JPG" width="690" border="0" /></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">再分析响应时间的几个波动，和</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">GC</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">有密切的关系。当服务器进行</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">GC</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">时，响应时间就迅速变慢。</span></p>
<p><img height="441" alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/gc3.JPG" width="779" border="0" /></p>
<p><img height="389" alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/gc4.JPG" width="689" border="0" />&nbsp;</p>
<p>&nbsp; </p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决：</span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修改代码，确保资源释放，不出现内存泄漏，问题解决。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">总结：</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1）<span style="font: 7pt 'Times New Roman'">&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内存不足，频繁的</span><span lang="EN-US">Full GC</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会导致</span><span lang="EN-US">Tomcat</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器没有响应（先是</span><span lang="EN-US">Timeout</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，后来根本没有响应，</span><span lang="EN-US">telnet</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该端口也被自动断开，但</span><span lang="EN-US">netstat</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看到端口还在侦听）</span></p>
<p><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">Full GC</span><span style="font-size: 10.5pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">过程中，对响应时间有很大的影响</span></p>
<p>&nbsp;</p>
<img src="http://www.cnblogs.com/pent/aggbug/1356722.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/12/17/1356722.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/12/17/1356722.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>持续关注质量——产品属于每一个人</title><link>http://www.cnblogs.com/pent/archive/2008/07/03/1234984.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Thu, 03 Jul 2008 10:14:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/07/03/1234984.html</guid><description><![CDATA[<p>阅读: 174 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-07-03 18:14 <a href="http://www.cnblogs.com/pent/archive/2008/07/03/1234984.html" target="_blank">原文链接</a></p><p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">很多软件项目中的质量问题都是由一些小任务之间的中断而引起的。由于团队成员把他们的工作定义的过于狭隘或者在把工作从一个人手中移交给另一个人时出现困难，所以会经常发生中断的情况。</span></font></p>
<p style="text-indent: 21pt"><font face="Times New Roman" size="2">&nbsp;</font></p>
<p style="text-indent: 21pt"><strong><font face="宋体" size="2"><span style="font-weight: bold; font-size: 10.5pt; font-family: 宋体">背景故事</span></font></strong></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">几周前，我在一家机场的饭店等一次午夜航班。有一个服务员拿了一大堆脏盘子往厨房走，她竟然能一下子拿那么多的盘子，对此我印象特别深刻。在朝厨房走了一半时，有一个餐叉从盘子里掉了下来。由于那个服务员两手都拿满了盘子没法去捡那个餐叉，所以她就把餐叉留在地板上继续往厨房做了。</span></font></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">这时走来另外一个两手空空的服务员，在她身后约</span></font>15<font face="宋体"><span style="font-family: 宋体">英尺</span></font><font face="宋体"><span style="font-family: 宋体">。我想这个服务员肯定知道刚才发生了什么，为了不踩到那个掉在地板上的餐叉她往前跨了一大步。但是她只是继续往前走并没有把餐叉捡起来。尽管那时饭店客人并不多而且她看上去也没有什么着急的事。因为捡餐叉不是她的工作，所以那把餐叉只好躺在那里等别人踩了。</span></font></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">普通小吃店与高级饭店的区别之一就是：在高级饭店里，通过培训要让员工把提供额外帮助作为他们自己的工作对待从而确保让顾客满意。如果顾客桌上的水杯是空的，他们就要为顾客加满水，即便这不是他们所负责的桌子甚至不是他们的工作。如果顾客看上去需要服务员的话，他们要么就通知相应的服务人员，要么就上前为顾客提供帮助。因为他们知道，为了使饭店保持先进，所有员工都必须尽全力让顾客感到满意。</span></font></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">几个月前我评审了一个杂乱无章的项目。就在我与每一个团队成员讨论各种项目问题及其解决方法的时候，我不断听到他们说：&#8220;这不是我的工作。&#8221;每个团队成员对什么是他们的工作似乎都定义的很狭隘，很明显，许多责任都不在任何人的工作定义范围内。所以没有任何人觉得他们要对处理需求问题、确保需求与测试用例同步或者改进开发人员的测试，以便确保交付给测试团队的是有质量的代码等问题负责。</span></font></p>
<p style="text-indent: 21pt"><font face="宋体" color="blue" size="2"><span style="font-size: 10.5pt; color: blue; font-family: 宋体">简而言之，任何项目的成功都是每一个团队成员的责任，也就是说每一个人都要尽全力去做一切能够使项目成功的事。</span></font><font face="宋体"><span style="font-family: 宋体">但并不是说你要替其他团队成员做他们份内的工作，而是当你看到有些而任务需要有人去完成的时候，要么通知负责人去做，要么就自己去做。</span></font></p>
<p style="text-indent: 21pt"><font face="Times New Roman" size="2">&nbsp;</font></p>
<p style="text-indent: 21pt"><strong><font face="宋体" size="2"><span style="font-weight: bold; font-size: 10.5pt; font-family: 宋体">新理念</span></font></strong></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">为了交付高质量的最终产品，团队成员需要具备怎样的理念？</span></font></p>
<p style="text-indent: 21pt"><font face="宋体" size="2"><span style="font-size: 10.5pt; font-family: 宋体">交付高质量的最终产品需要分析人员、开发人员、设计师、测试人员、管理人员以及客户之间的紧密协作。这种不断加强的协作对责任、沟通方式、组织以及人们如何看待他们在团队中的角色都有影响。简而言之，它需对每一个团队成员的理念提出新的要求。</span></font></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">1.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">经理关注的焦点应从日常管理工作、中间制品及固定计划转向领导能力、基于结果的管理方法及团队协作。</span></font></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">a)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">做一个领导者：作为领导者，<font color="blue"><span style="color: blue">你要保证让整个团队都知道要实现怎样的目标，并且要极力团队成员团结一致并实现最终目标</span></font>；建立共同的价值标准——哪些行为是可以接受的，哪些行为是不可以接受的——并且要通过实际行动不断加强这些价值标准。</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">b)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">为团队授权</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">c)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">公开项目所面临的各种风险，不断重新评估风险并按照风险区分项目工作优先级：迭代开发方法最重要的特征是在生命周期的早期驱除主要风险</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">d)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">通过可证明的结果而不是完成的各种活动进行状态评估：<font color="blue"><span style="color: blue">作为经理，你所关注的焦点必须从活动转向可证明的结果。</span></font>已经完成的活动不足以度量成功，因为仅仅完成一项活动并不能说明最终结果的质量。由于最终目标是软件本身，所以成功的首要度量应该是被交付的工作软件</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">e)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">在项目初期为整个项目制定高级计划，职位当前迭代和下一次迭代制定详细计划：项目初期的详细计划花费大量时间并存在不确定性因素，相反，这个高级计划要简单地描述出每一次迭代所期待的成果，并且只为当前和随后的迭代制定详细计划</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">f)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">随时平衡对需求、架构、设计、实现以及测试的投资，以确保解决风险：&#8220;哪些类型的活动能最好的环节当前的风险&#8221;</span></font></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">2.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">分析人员的理念应该从&#8220;负责将需求文档化&#8221;转变为负责将正确的需求文档化、使需求被理解，而且可以被开发人员和测试人员所反映。</span></font></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">a)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">与最终用户交换意见并征求最终用户的参与，以确保开发的系统是正确的</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">b)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">鼓励早期实施关键能力以便了解哪些需求将会解决业务要求</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">c)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">与开发人员、测试人员一起对需求按照优先级排序</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">d)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">根据你所处的阶段及项目要求正确地对需求进行细化</span></font></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">3.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">开发人员的理念需要从&#8220;仅仅负责实现需求&#8221;转变为负责开发能够解决最终用户需求的高质量应用软件。</span></font></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">a)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">将你的责任范围扩大到详细设计、实现以及开发测试：你希望将移交给不同的人员的信息数量将到最少，从而把可能的潜在错误减至最少并且使效率最大化。为了使移交数量最小化，一定要让你的团队成员承担的责任范围尽可能地广；一定确保编写的所有代码都是高质量的</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">b)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">承担部分需求工作，协助为需求寻找解决方案</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">c)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">承担部分测试工作：测试先行设计能够帮助你从一个开发人员的角度关注测试。这种方法十分注重生产高质量的代码，并促使团队集中精力构建高质量的应用软件</span></font></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">4.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">测试人员的理念应该从负责在项目的最后期&#8220;为质量注射疫苗&#8221;转变为负责整个项目过程中的测试工作，并以测试专家的身份知道其他团队成员进行与测试相关的问题。</span></font></strong></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">a)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">定义测试策略：测试策略包括利益相关者对质量的定义以及项目团队的优先级。<font color="blue"><span style="color: blue">只有所有团队成员对质量定义及项目成功的标准都意见一致后，他们才能正确地关注自己的工作，项目才会成功</span></font></span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">b)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">成为团队的导师，指导测试的步骤和方法：测试人员应该与整个开发团队分享他们的专业知识，例如指导管理人员制定与测试相关的决策、向分析人员建议可测试的需求计划以及帮助开发人员执行开发测试等</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">c)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">在项目初期进行测试：在迭代开发中，每一次迭代都涉及测试，这就意味着你需要将集中在项目后期的测试工作均匀地分布到整个项目过程中，并使所有人都知道每一次迭代的测试内容</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">d)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">集中处理定义过的测试目标：<font color="blue"><span style="color: blue">了解你的测试目标是什么，而不是去试图解决所有的缺陷——这是不可能的。</span></font>确定正确的质量级别并且要明确是否应用软件的所有细节都对质量要求较高，然后相应地关注你的测试工作</span></font></p>
<p style="margin-left: 63pt; text-indent: -21pt"><font face="Times New Roman" size="2"><span style="font-size: 10.5pt">e)<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font><font face="宋体"><span style="font-family: 宋体">不断对稳定的能力进行自动测试</span></font></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">5.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">架构师的新理念：略</span></font></strong></p>
<p style="margin-left: 42pt; text-indent: -21pt"><strong><font face="Times New Roman" size="2"><span style="font-weight: bold; font-size: 10.5pt">6.<font face="Times New Roman" size="1"><span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></font></strong><strong><font face="宋体"><span style="font-weight: bold; font-family: 宋体">对大型团队的指导：略</span></font></strong></p>
<img src="http://www.cnblogs.com/pent/aggbug/1234984.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/07/03/1234984.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/07/03/1234984.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Bug bash、ZBB与软件质量</title><link>http://www.cnblogs.com/pent/archive/2008/06/17/1223811.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Tue, 17 Jun 2008 05:38:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/06/17/1223811.html</guid><description><![CDATA[<p>阅读: 294 评论: 3 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-06-17 13:38 <a href="http://www.cnblogs.com/pent/archive/2008/06/17/1223811.html" target="_blank">原文链接</a></p><strong><span style="font-size: 14pt">Bug bash</span></strong><strong><span style="font-size: 14pt; font-family: 宋体">的来源与意义</span></strong>
<p><span style="font-family: 宋体">要做好这样的活动，首先我们必须明白这项活动的意义。</span></p>
<p>Bug bash<span style="font-family: 宋体">（</span>Bug<span style="font-family: 宋体">大扫除）来源于微软，通常发生在项目开发各阶段（微软叫里程碑）的末期，比如</span>Beta<span style="font-family: 宋体">版发布前，划出一个专门的时间段（通常</span>1-3<span style="font-family: 宋体">天），在这期间所有参与项目的人员，集中全部精力，运用各方面的知识，尽全部智慧来搜寻项目的</span>Bug<span style="font-family: 宋体">。</span></p>
<p><span style="font-family: 宋体">这是一个非常有意思的活动，但要组织好这样的活动并非易事。一般有以下要点：</span></p>
<p><span style="font-family: 宋体">（</span>1<span style="font-family: 宋体">）尽管这是一个测试活动，但参与者并不仅限于测试人员。项目经理，开发人员甚至于高层管理人员都应参加，如同全民动员。目的是要集思广益；</span></p>
<p><span style="font-family: 宋体">（</span>2<span style="font-family: 宋体">）要鼓励各部门，领域交叉搜索，因为新的思路和视角通常有助于发现更多的</span>Bug<span style="font-family: 宋体">；</span></p>
<p><span style="font-family: 宋体">（</span>3<span style="font-family: 宋体">）为调动积极性，增强趣味性，可以适当引入竞争机制，比如当活动结束时，评出发现</span>Bug<span style="font-family: 宋体">最多，发现最严重</span>Bug<span style="font-family: 宋体">的个人，给以物质和精神奖励。</span></p>
<p><span style="font-family: 宋体">（</span>4<span style="font-family: 宋体">）可以分专题展开，比如安全性、用户界面可用性、国际化和本地化等等。</span></p>
<p><span style="font-family: 宋体">（</span>5<span style="font-family: 宋体">）</span>as usual we'll have pizza and other fun food. Sometimes there's prizes for most bugs kept, most heinous bug, etc.</p>
<p><strong><span style="font-size: 14pt">ZBB</span></strong><strong><span style="font-size: 14pt; font-family: 宋体">（零错误反弹）</span></strong><strong><span style="font-size: 14pt">--</span></strong><strong><span style="font-size: 14pt; font-family: 宋体">软件稳定的指示器</span></strong></p>
<p><span style="font-family: 宋体">为什么要做</span>Bug bash<span style="font-family: 宋体">，其实与另一个测试方法有密切联系。在此之前，先说说错误收敛。</span></p>
<p><strong><span style="font-family: 宋体">错误收敛</span></strong></p>
<p><span style="font-family: 宋体">错误收敛是指项目组在减少活跃错误数量上取得了重大进步的一个转折点。在错误收敛这一转折点上，解决错误的速度超过了发现错误的速度；因此实际的活跃错误数量开始减少。下图给出了错误收敛的图示。<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/o_错误收敛.JPG" border="0" /></span></p>
<p><span style="font-family: 宋体">即使错误数量从整体上开始减少，但具体数量还会出现升降变化，因此错误收敛通常来讲只代表一种趋势，而不是一个固定的时间点。在错误收敛之后，错误的数量将持续减少直到零错误反弹。</span></p>
<p><strong><span style="font-family: 宋体">零错误反弹</span></strong></p>
<p>Zero Bug Build<span style="font-family: 宋体">：这一版本的构建把所有已知的</span>bug<span style="font-family: 宋体">都解决掉了。</span></p>
<p>Zero Bug Bounce<span style="font-family: 宋体">：通常在一个</span>Zero Bug Build<span style="font-family: 宋体">之后，</span>bug<span style="font-family: 宋体">数目会以惊人的速度反弹，故称</span>Bounce<span style="font-family: 宋体">。系统要经历几次</span>bounce<span style="font-family: 宋体">，像阻尼震荡一样，</span>bug<span style="font-family: 宋体">的数目在弹了几次之后，最后固定在（或者无限逼近于）</span> 0<span style="font-family: 宋体">。要注意必须保证</span>bug<span style="font-family: 宋体">的数量要到</span>0<span style="font-family: 宋体">，以防止一些问题拖而未决。</span></p>
<p><span style="font-family: 宋体"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/r_零错误反弹-1.JPG" border="0" /><br />
上图是一个</span><span style="font-family: Tahoma">60</span><span style="font-family: 宋体">人的团队的</span><span style="font-family: Tahoma">&#8220;</span><span style="font-family: 宋体">预想</span><span style="font-family: Tahoma">ZBB </span><span style="font-family: 宋体">进军图</span><span style="font-family: Tahoma">&#8221;</span><span style="font-family: 宋体">。每个小组的</span><span style="font-family: Tahoma">bug</span><span style="font-family: 宋体">数量累加起来，就是团队的</span><span style="font-family: Tahoma">bug</span><span style="font-family: 宋体">总量。图中的黑线表明修复的</span><span style="font-family: Tahoma">bug</span><span style="font-family: 宋体">总量。</span></p>
<p><strong><span style="font-family: 宋体">零错误反弹</span></strong><span style="font-family: 宋体">是指在项目中的某一点上，开发活动最终赶上了测试的步伐，当前已经不存在活跃错误。在零错误反弹之后，错误数量的峰值将显著减小，并且错误数量会持续减少直到产品足够稳定，进而构建出第一个候选发布版。取得零错误反弹是项目组逐渐接近稳定的候选发布版的明确标志。</span></p>
<p><span style="font-family: 宋体"><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/pent/89601/o_零错误反弹-2.JPG" border="0" /><br />
注意，在到达这一里程碑之后，必定还会发现新的错误。但是，它却标志着项目组能够第一次诚实地报告已经不存在活跃错误了，虽然这只是针对当前情况。而且它可以让项目组集中力量保持在这一点上。</span></p>
<p><span style="color: blue; font-family: 宋体">事实上，正是通过</span><span style="color: blue">bug bash</span><span style="color: blue; font-family: 宋体">的方式，来达到</span><span style="color: blue">ZBB</span><span style="color: blue; font-family: 宋体">的效果。</span></p>
<p><strong><span style="font-size: 14pt; font-family: 宋体">本次</span></strong><strong><span style="font-size: 14pt">bug bash</span></strong><strong><span style="font-size: 14pt; font-family: 宋体">活动总结</span></strong></p>
<p><span style="font-family: 宋体">本次</span>bug bash<span style="font-family: 宋体">总体效果不佳，真正参与人数不多，发现有效的</span>bug<span style="font-family: 宋体">数量不算多，达不到</span>bug bash<span style="font-family: 宋体">的效果。总结原因如下：</span></p>
<p>1<span style="font-family: 宋体">、大家并不真正理解以上所谈的</span>bug bash<span style="font-family: 宋体">对于产品的意义，而仅仅将其当作一项临时活动，积极性不高，这是首要原因。因此，大部分同事没有全力投入进来，甚至是没有参与，这就没有达到</span>bug bash<span style="font-family: 宋体">活动的初衷；</span></p>
<p>2<span style="font-family: 宋体">、活动组织者及部门经理在活动方式的理解不一致。在组织者发布了测试要求之后，部门经理并没有及时向参加人员强调活动的必要性及强制性，而对于部门人员到底参加了</span>bug bash<span style="font-family: 宋体">没有也不清楚，而组织者则认为部门经理会有良好的配合，事先做好这些事务安排工作；</span></p>
<p>3<span style="font-family: 宋体">、活动缺乏良好的奖励及竞争机制，无法调动大家参与的积极性；如果能有一些物质或精神奖励，同时引入竞争机制，可以增加趣味性，调动积极性，真正做到真正寓工作于娱乐；</span></p>
<p>4<span style="font-family: 宋体">、活动过程缺乏有效的监督，对于没有参加的同事，没有进行有效的监督；</span></p>
<p>5<span style="font-family: 宋体">、产品稳定程度不高，影响测试的效率</span></p>
<p><span style="font-family: 宋体">希望在下次我们能有较大的改善！</span></p>
 <img src="http://www.cnblogs.com/pent/aggbug/1223811.html?type=1" width="1" height="1" alt=""/><p>评论: 3　<a href="http://www.cnblogs.com/pent/archive/2008/06/17/1223811.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/06/17/1223811.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>Jira升级小插曲</title><link>http://www.cnblogs.com/pent/archive/2008/06/12/1218566.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Thu, 12 Jun 2008 10:24:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/06/12/1218566.html</guid><description><![CDATA[<p>阅读: 178 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-06-12 18:24 <a href="http://www.cnblogs.com/pent/archive/2008/06/12/1218566.html" target="_blank">原文链接</a></p><p><font face="Verdana">Old Version: Professional Edition, Version: 3.0.3-#75<br />
New Version: Professional Edition, Version: 3.12.3-#302</font></p>
<p><font face="Verdana">backup data to xml文件后，在新版本上Restore Data from xml，Error：<br />
Failed to import data: Error in action: com.atlassian.jira.action.admin.DataImport@1ddcd5f, result: error Error </font></p>
<p><font face="Verdana">parsing export file. Your export file is invalid. This may be due to a CDATA bug in older versions of JIRA </font></p>
<p><font face="Verdana">(http://jira.atlassian.com/browse/JRA-4980). Exception is org.xml.sax.SAXParseException: The element type "body" </font></p>
<p><font face="Verdana">must be terminated by the matching end-tag "&lt;/body&gt;". </font></p>
<p><font face="Verdana">发现这是jira旧版本的一个bug，找到fix pack，更新到服务器上，重新备份导出，恢复成功。</font></p>
<p><font face="Verdana">fixpack:<br />
http://repository.atlassian.com/ofbcore/jars/ofbcore-entity-2.1.1-atlassian-06122004.jar</font></p>
<p><font face="Verdana">and copy to your WEB-INF/lib/ directory (atlassian-jira/WEB-INF/lib/ in JIRA Standalone; webapp/WEB-INF/lib/ in JIRA </font></p>
<p><font face="Verdana">WAR/Webapp). You must also delete the old WEB-INF/lib/ofbcore-entity-2.1.1.jar file, which this replaces.</font></p>
  <img src="http://www.cnblogs.com/pent/aggbug/1218566.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/06/12/1218566.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/06/12/1218566.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>遭遇QTP描述性编程的对象识别错误</title><link>http://www.cnblogs.com/pent/archive/2008/05/09/1190317.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Fri, 09 May 2008 09:35:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/05/09/1190317.html</guid><description><![CDATA[<p>阅读: 684 评论: 2 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-05-09 17:35 <a href="http://www.cnblogs.com/pent/archive/2008/05/09/1190317.html" target="_blank">原文链接</a></p><h2>昨天遇到一个QTP描述性编程的比较奇怪的现象，以前跑的好好的脚本突然验证失败了，经过多次尝试终于发现了其中的规律，那就是QTP在描述性编程上存在对象识别错误的情况。如果各位曾经遇到过这个问题，或者有好的解决方法的话，请指教。<br />
<br />
案发现场如下：<br />
在脚本中用描述性编程定义了对象<br />
验证对象是否存在，然后点击这个对象并进行删除，到这里所有操作都是正常的<br />
验证删除结果，判断对象是否存在，居然对象还是存在的！（这里就出现了错误）<br />
但是，如果删除之后，验证对象是否存在之前如果再设置一下对象，则判断为对象不存在（正确）<br />
<br />
脚本如下：<br />
Set obj = Browser("XX").Page("XX").WebElement("innertext:=XX","html tag:=SPAN")<br />
msgbox obj.exist(2)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- True<br />
obj.Click<br />
obj.FireEvent "oncontextmenu"&nbsp;&nbsp;--弹出右键菜单<br />
Browser("XX").Page("XX").WebElement("删除(D)").Click&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --删除<br />
msgbox obj.exist(2)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- True（有错）<br />
<font color="red">Set obj = Browser("XX").Page("XX").WebElement("innertext:=XX","html tag:=SPAN")&nbsp; &nbsp; &nbsp; &nbsp; --如果这里再次设置一下，就能判断正确了</font><br />
msgbox obj.exist(2)&nbsp;&nbsp;-- False<br />
<br />
如果上面没有重新再设置一次，则以下方式也能得到正确结果，说明对象识别出现错误<br />
msgbox Browser("FreeQuery").Page("FreeQuery").WebElement("innertext:=qqq","html tag:=SPAN","index:=0").exist(2)&nbsp;&nbsp;-- False<br />
<br />
另外，在某页面设置了对象，如果退出这个页面再进来，即使对象没有任何变化，也要重新定义一次，否则也会发生对象找不到的情况。<br />
<br />
关于这个问题，为什么会这样，有什么方法避免，暂时还不清楚 ，希望各位大侠指点。</h2>
<img src="http://www.cnblogs.com/pent/aggbug/1190317.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/pent/archive/2008/05/09/1190317.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/05/09/1190317.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>如何使用ping和tracert命令检测丢包</title><link>http://www.cnblogs.com/pent/archive/2008/04/22/1165986.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Tue, 22 Apr 2008 09:53:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/04/22/1165986.html</guid><description><![CDATA[<p>阅读: 1307 评论: 1 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-04-22 17:53 <a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165986.html" target="_blank">原文链接</a></p><p><font face="Verdana">注：前段时间与朋友聊到广域网的性能测试中，如何监测性能测试中丢包率的问题，但并没有比较成熟的想法。<br />
或许，使用文中描述的ping方法，虽然不太成熟，但也可以考虑一下。<br />
&nbsp;</font></p>
<p><font face="Verdana">从家里测试宽带网连接的丢包是一项非常困难的工作。丢包可以发生在从你的计算机到你在互联网上正在连接的目的地之间的线路上的任</font></p>
<p><font face="Verdana">何一个地方。引起丢包的原因包括:网络阻塞、路由器或者交换机超过工作负荷、信号往返时间缓慢以及服务提供商或者托管你访问的网站</font></p>
<p><font face="Verdana">的公司使用的通信优先等级。<br />
　　<br />
　　没有主动测量实际重复传输的TCP流量(对于家庭宽带网连接来说，这类产品太昂贵了)，很难确定是否真的发生了重复传输。你指出的</font></p>
<p><font face="Verdana">机制ping和跟踪路由对于帮助家庭用户确定互联网上哪里的速度慢是最有用的工具。Ping测量你的计算机和你要连接的IP地址之间的信号</font></p>
<p><font face="Verdana">往返时间。跟踪路由是测量路由器在你的计算机和你正在跟踪的路由的IP地址之间的通道的反应时间。<br />
　　<br />
　　使用Ping<br />
　　<br />
　　使用Ping测量丢包的最佳方法是向一个IP地址发送大量的Ping命令，然后检查没有应答的那些Ping命令。如果你快速地发出了50次Pin</font></p>
<p><font face="Verdana">g命令，<br />
　　<br />
　　你可以检查没有没有应答的次数，并把没有应答的次数作为丢包。没有应答的次数超过5%可能就值得担心了。<br />
　　<br />
　　在一台Windows计算机上，在命令提示符后面输入如下命令就可以完成这个任务:<br />
　　<br />
　　Ping -n 50(IP地址或者域名，如www.website.com)这个命令中的&#8220;-n&#8221;开关告诉发送ping命令的次数，&#8220;50&#8221;是发送的次数。<br />
　　<br />
　　然后，你将得到一个测试总结。这个总结将包括丢失的数量和百分比:<br />
　　<br />
　　199.181.132.250地址Ping的统计结果:<br />
　　<br />
　　包: 发送 = 6, 接收 = 6, 丢失 = 0 (0%)<br />
　　<br />
　　大约往返时间以毫秒(ms)显示:<br />
　　<br />
　　最小 = 26ms, 最大 = 29ms, 平均 = 27ms<br />
　　<br />
　　如果你看到平均往返时间较高(超过100ms)，这也会降低你的网络下载速度。<br />
　　<br />
　　设法消除某些引起丢包的网络某些部分的故障的一种方法是在通道的各个部分进行ping测试。我首先开始进行测试的地方是本地的&#8220;</font></p>
<p><font face="Verdana">缺省网关&#8221;。这是你所有的数据传输到网络上经过的第一个路由器。如果在这一部分的丢包率很高，那么问题就在你的服务提供商的网络</font></p>
<p><font face="Verdana">上。<br />
　　<br />
　　在Windows命令提示符后面输入&#8220;ipconfig&#8221;命令你就可以发现你的缺省路由器的IP地址。这个结果显示如下:<br />
　　<br />
　　以太网接口本地区域连接:<br />
　　<br />
　　具体连接的DNS后缀:domainname.com<br />
　　<br />
　　IP地址. . . . . . : 192.168.2.189<br />
　　<br />
　　子网掩码 . . . . . : 255.255.252.0<br />
　　<br />
　　缺省网关 . . . : 10.10.0.1<br />
　　<br />
　　你在这里要查看的是缺省网关的IP地址。在上述例子中就10.10.0.1。<br />
　　<br />
　　使用跟踪路由<br />
　　<br />
　　在Windows命令提示符后面使用跟踪路由命令就可以实施跟踪路由。在Windows XPZH中这个命令是:tracert (IP地址或者主机名)<br />
　　<br />
　　虽然结果不能向你显示丢包，但是，可以向你显示在路径中路由器反应速度减慢的情况。<br />
　　<br />
　　这个输出结果将显示所有的路由器的反应时间。下面是一个例子:<br />
　　<br />
　　5 ms 2 ms 3 ms malibu.domain.com [10.10.0.1]<br />
　　<br />
　　10 ms 6 ms 7 ms 10.60.0.6<br />
　　<br />
　　9 ms 7 ms 7 ms 10.20.0.1<br />
　　<br />
　　6 ms 7 ms 7 ms x130.cd9e68.sj.concentric.net [205.158.104.130]<br />
　　<br />
　　7 ms 7 ms 8 ms ge9-0.dcr2.dc-fremont-ca.us.xo.net [205.158.60.169]<br />
　　<br />
　　7 ms 7 ms 7 ms ge2-0.dcr1.dc-fremont-ca.us.xo.net [65.106.2.205]<br />
　　<br />
　　10 ms 7 ms 8 ms p5-1-0-2.rar2.sanjose-ca.us.xo.net [65.106.2.153]<br />
　　<br />
　　10 ms 9 ms 11 ms p1-0.ir1.paloalto-ca.us.xo.net [65.106.5.178]<br />
　　<br />
　　9 ms 10 ms 15 ms 206.111.12.114.ptr.us.xo.net [206.111.12.114]<br />
　　<br />
　　9 ms 10 ms 10 ms svl-core-03.inet.qwest.net [205.171.205.29]<br />
　　<br />
　　29 ms 28 ms 29 ms stl-core-02.inet.qwest.net [205.171.5.85]<br />
　　<br />
　　30 ms 29 ms 29 ms sea-edge-03.inet.qwest.net [205.171.26.42]<br />
　　<br />
　　* * * Request timed out.<br />
　　<br />
　　* * * Request timed out.<br />
　　<br />
　　28 ms 28 ms 29 ms sam.abcnews.go.com [199.181.132.250]<br />
　　<br />
　　如果你看到在路径中跟踪路由往返时间有超过100ms(十分之一秒)的，这就可能引起网络上传输的时间减慢。<br />
　　<br />
　　从上述例子中，你可以看到数据在很多不同的网络(XO, Qwest, ABC)上传输。这是互联网美妙的一部分。不利的方面是一个用户无法</font></p>
<p><font face="Verdana">解决反应时间减慢的问题。最佳的出发点就是确认你和你的服务提供商之间没有出现丢包。</font></p>
<img src="http://www.cnblogs.com/pent/aggbug/1165986.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165986.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165986.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>软件测试招聘之难【转】 </title><link>http://www.cnblogs.com/pent/archive/2008/04/22/1165970.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Tue, 22 Apr 2008 09:43:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/04/22/1165970.html</guid><description><![CDATA[<p>阅读: 432 评论: 1 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-04-22 17:43 <a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165970.html" target="_blank">原文链接</a></p><p><font face="Verdana">　　从一月份到现在，面试了二十个左右的研究生，满意的很少，我开始去思考，到底是自己的要求过高，还是自己的面试方法有问题，抑或真的是现在的研究生的素质越来越低了?</font></p>
<p><font face="Verdana">　　我理想的人选，首先，我希望他对测试感兴趣，有测试的感觉，测试并不是一件很有创造性的工作，但其中的乐趣，是很多coding高手所无法体会的，但需要发现其乐趣，必须要喜欢上测试，才会更有效地发现软件存在的隐藏问题。其次，我希望他有一定的技术基础，对于在校的研究生的技术水平，我的要求不高，只需要掌握最基本的SQL语句，会简单得Linux命令，懂得用Java或C写一个简单的程序，这些知识，是需要在项目中使用到的技术，同时也是学校的基础课程上的东西。最后，是他的态度和性格，我希望他是一个责任心很强、具有良好沟通能力和团队精神的人，测试根软件开发最大的不同是，开发工程师可以只关心自己所负责的模块或功能，而测试则要把握全局，需要跟不同的人去沟通，发现问题需要协助不同的人去定位和解决，测试是一个团队的工作，我希望招聘进来的人，能够很快地融进我们的团队中，谦虚地学习，踏实地工作。</font></p>
<p><font face="Verdana">　　我的这三个要求，似乎真的很高，因为当我以这三个标准去衡量我的candidate的时候，我总是满怀希望地开始跟他们交谈，而又失望地与他们告别。首先是笔试的题目，至少有一半人，最基本的SQL和Linux命令都是没有把握地写进卷子的。&#8220;这份题目你觉得怎样啊?&#8221;我笑着问他们。&#8220;都是在学校学过的，不过忘记了，只要给我时间，我很快就会学会的。&#8221;果然都是名牌大学的研究生，那样的自信。&#8220;我们的工作要求有一定的JAVA/Oracle/Linux技术基础，如果给你时间，你要多长时间可以掌握呢?&#8221;&#8220;一两周就可以了。&#8221;&#8220;我们的招聘要求里面有些清楚这些要求吗?&#8221;&#8220;有。&#8221;&#8220;你从发简历到面试，大约多长时间了呢?&#8221;&#8220;两周左右。&#8221;&#8220;那你为什么不利用这两周把招聘要求中的技术都好好温习一下呢?&#8221;我仍然笑着问，只是接下来大多都是沉默。我发觉这个问题，真的能问倒所有人。其实，我不是想为难他们，只是，他们都是名牌大学研一或研二的学生啊，这些基础我当年大学三年级就已经可以灵活运用了，这些命令我也经常会忘记，但是，每次自己去面试之前，都会花些时间认真地复习一下招聘要求中的技术，有备而战。其实，我想看的是这个来面试的人，是否在来之前有认真地准备，我只是想看他对这个机会的态度。插一条记录到数据库中，居然有人用add，真叫我心疼!同事批评我说，别总拿态度来作要求，只要你给他培训两个月，什么技术不会?用add还是用insert into有什么关系?只要他足够聪明就可以了。态度真的不重要吗?我真的不需要他们有技术基础吗?他们真的可以没有任何基础就进来，这些技术，我两周的培训就可以让他们掌握，只是，他们的态度，我没信心让他们在两周之内扭转。当他们可以很高效地干活的时候，恐怕他们又要马上回学校去了。如果我培训的成本，已经远远高于我自己做的成本，那么，我宁愿自己辛苦一些。不要怪我以态度作为评判的准则。</font></p>
<p><font face="Verdana">　　简历，是用人单位初步刷选的一份资料，有些简历看上去就像一份草稿，或者是所展示的资料并不符合我们的要求，通常我们都会放弃进一步去了解。有些人的简历做得很漂亮，好像什么都会，而且还有很多的项目经验，看上去似乎很有吸引力，但简历给人的印象未必就是真实的。每个公司都希望招聘进来的人可以有一定的项目经验，因为这意味着他们一进来就可以给公司干活了，可以节省很多的培训成本。我也喜欢有项目经验的人，我还很喜欢跟他们聊他们曾做过的一两个项目，因为在在这个互动的过程中，你可以看出他的思维、表达和技术。简历中的项目经验可以是假的，但在面试的时候就不能假了，在面试过程中的交流足以让我们判断出这个人的技术水平和思维能力。很多人，在简历中写着正在做的项目或一两个月之前做的项目，当我们问他有关系统的框架或某个功能的流程时，表达起来却是不够清晰，再深入一些去追问，回答就差强人意了。我在想，是因为他们不善于表达，还是他们本身没有深入理解过自己所做的项目，甚至是自己根本上就没有这些项目经验?企业或者也应该思考一下，是否应该给没有项目经验的人一些平等的机会，以免他们投其所好，将简历粉饰得很漂亮，但事实上又没有那样的真实。我可以理解他们，因为简历写上如果连项目经验都没有，可能他们就连面试的机会也没有了，只是，有了面试机会，但如果没有把握这个机会的实力或者没有做好把握机会的准备，有了也是白有。</font></p>
<p><font face="Verdana">　　我最看重的，是这个人是否具有测试的感觉以及兴趣，我希望他对自己的发展和选择是清晰的，我希望他能清楚自己为什么来应聘，如果他来只是纯粹的找一个工作机会，或是冲着公司的名气而来，而对于测试是什么，自己所选择的这个测试机会是否有利于自己的长远发展都不清楚，只是为了工作而工作，是否能够将他的潜力挖掘出来呢?我没把握。而这样的candidate，偏偏又不少。</font></p>
<img src="http://www.cnblogs.com/pent/aggbug/1165970.html?type=1" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165970.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/04/22/1165970.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>何经华：我在职场30年</title><link>http://www.cnblogs.com/pent/archive/2008/02/22/1077992.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Fri, 22 Feb 2008 09:35:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/02/22/1077992.html</guid><description><![CDATA[<p>阅读: 299 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-02-22 17:35 <a href="http://www.cnblogs.com/pent/archive/2008/02/22/1077992.html" target="_blank">原文链接</a></p><p><font face="Verdana">转自新浪乔尹博客<br />
<br />
乔尹言：又一个大牛，虽然这几年何经华似乎不顺，但常人要想如他那样不顺也不能够呢，下面是他在《财富人生》的访谈，讲得非常实在。学习。</font></p>
<p><font face="Verdana">(1)&nbsp;&nbsp;&nbsp; 设计人生三十年</font></p>
<p><font face="Verdana">空降用友</font></p>
<p><font face="Verdana">叶蓉：人们往往把靠打工获得千万身家的人称为&#8220;打工皇帝&#8221;，我手上有一份中国上市公司高层收入排行榜，根据这个榜单称您为打工皇帝一点都不为过。您对这个称呼不反感吧？</font></p>
<p><font face="Verdana">何经华：香港人喜欢用&#8220;打工&#8221;，其实我把它叫做专业经理人，既然是专业经理人就必须非常专业。如果你能专业到行业里面的最顶级，我认为争取一个顶级的工资也是很自然的。</font></p>
<p><font face="Verdana">叶蓉： 2002王文经先生给您开了多少？</font></p>
<p><font face="Verdana">何经华：我认为这是隐私。我做职业经理人这么多年，还没有一次我要的价码对方不同意的，我谈工资是一件很容易的事。我来用友的时候王总请我开一个要求，然后董事会很快就同意了，中间没有任何一来一往。</font></p>
<p><font face="Verdana">叶蓉：是不是和王文京一见面你就准备加入这家公司？</font></p>
<p><font face="Verdana">何经华：没有，我的印象里一直觉得中国的企业会付不起我的工资。有一次我在用友演讲完王总送我到机场。他就说，何总加入我们吧，让我们一起写一部中国的软件史。我当时蛮震撼的，因为从来没有人用这样的方式邀请我，写一部中国软件史，这是一个好伟大的梦。我在车上也没有答应他，说那我回去考虑考虑。每次见王总，他对我都非常地礼遇，非常非常地礼遇。</font></p>
<p><font face="Verdana">&nbsp;</font></p>
<p><font face="Verdana">设计人生三十年</font></p>
<p><font face="Verdana">叶蓉：人们在职场当中难免会碰到一些困惑，我这儿有几个小问题，想听听您这位专业人士会用什么样的方法来处理。比如说一个刚刚进入职场的社会新鲜人，他刚刚进入一家公司，他应该用什么样的方法迅速引起老板关注，超越同僚？</font></p>
<p><font face="Verdana">何经华：我换一个方式来回答。我常说人生有三个阶段，第一个阶段是你&#8220;无知无力&#8221;，就是你知识不是很丰富身体也没长好的时候，你是小孩在念书。</font></p>
<p><font face="Verdana">叶蓉：求学阶段。</font></p>
<p><font face="Verdana">何经华：第三个阶段是&#8220;有知无力&#8221;，你积累了很多知识经验，可是你年纪大了，老了做不动了。中间这个阶段是你&#8220;有知有力&#8221;的时候。这个阶段我又把它分为三个十年，第一个十年就是你学校刚毕业的十年，那个十年你要追求什么。</font></p>
<p><font face="Verdana">叶蓉：二十多岁到三十多岁之间。</font></p>
<p><font face="Verdana">何经华：我觉得追求的不应是老板对你的认同，第一个十年你应该要投资自己。什么叫投资自己？你有没有花很长一段时间，就像我们练功夫一样，先把马步练好。第一个十年你不要追求工资。我常常告诉我们公司一些年轻的员工，我说你今天的工资可能是五千块六千块，我说我现场加你两千块钱一个月的工资，你告诉我你的生活会改变吗？不会的，奔驰宝马你还是买不起，大房子你也买不起。在第一个十年大家工资的差异是没有差异的，你的同学也许早你一年升个什么组长、什么经理，那也不重要。最重要的是你在第一个十年你要扎扎实实地投资自己。</font></p>
<p><font face="Verdana">我们在今天跟往后的社会里凭借着两个东西在竞争，一个叫知识，一个叫技巧。我再举个例子，我每次出差，经常给分公司员工演讲。我一站到台上，我说今天如果说每一个人都给我自我介绍一下，何总我是谁谁谁。我说待会你们介绍完了我就全部都忘记了，我一个都不记得。用友今天有四千多个员工，我说你要怎么让何总认识你。如果你是销售，如果你能够做到全国的销售状元，到北京来我给你颁个奖，我一定认识你了。如果你是一个实施顾问，很困难的项目交到你手里面能迎刃而解，我会认识你。如果你是售前顾问，你设计一个PPT，这个PPT是全国售前顾问都在用的，因为是你弄的，我也会认识你。</font></p>
<p><font face="Verdana">叶蓉：也就是说在你的工作岗位上做到最优秀。</font></p>
<p><font face="Verdana">何经华：能够做到这个岗位因你而不同，而不是你因为这个岗位而不同。我常常说，如果我是上海开出租车的司机，我如果用全部心血来开这部车，我相信我可以把这部车开得全上海最特别。</font></p>
<p><font face="Verdana">叶蓉：但是现在年轻人他会更多地看到自己以前的同班同学如何优秀，薪水有多高。</font></p>
<p><font face="Verdana">何经华：我常常说，人生要算总账。从你学校毕业的第一天的第一毛钱到你退休后领的最后一毛钱总共加起来你能挣多少钱。第一个十年走完了，如果你扎扎实实地把自己的基本功练好，到第二个十年你可能有机会成为一个部门主管。我说第一个十年是你这一辈子工资最微薄的时候。这个时候你可能是单身，你的这个收入也就能支撑你的生活所需。到第二个十年，你可能也结婚了，可能有个孩子，如果干得还不错，你能干到一个部门经理，你的收入勉勉强强还能支撑一个家庭要的。所以你还是不够，你上餐厅点菜的时候，你还做不到把价钱盖起来，你爱点什么点什么。你上超市买东西可以不要看价钱。第二个十年你要学第二个东西，叫技巧，做事的技巧，待人处事的技巧，处理复杂事物的技巧。前面两个十年如果你走得很扎实，你才有可能走到第三个十年。</font></p>
<p><font face="Verdana">第三个十年是什么，做到一个公司真正的大老总。第三个十年才是你财富积累的开始，那个时候你的收入会远大于你的生活所需，人生的财富从第三个十年开始计较。可是很不幸，绝大部分人走不到第三个十年。虽然咱们都是同一所学校毕业的同一个科系毕业的，上课的时候坐在你旁边的同学，十年十五年之后这两个同学的发展可能有很大的差异。我说过，这个世界从来没有任何一件工作叫&#8220;钱多、事少、离家近&#8221;。</font></p>
<p><font face="Verdana">叶蓉：您是走过了这么多人生道路之后的经验呢，还是一早就胸中有规划。</font></p>
<p><font face="Verdana">何经华：我也不是学校毕业第一天就干老总的。我干sales，就是马路上的基层销售人员。我当时在美国干销售我是怎么干的，只要太阳还没有下山，外面是白天我一定在外面跑。跑客户，找商机，做事情。等太阳下山了，客户下班了，我回办公室做几件事。第一把我今天一天跑下来的东西做一个总结，第二件事就是把我明天要去拜访的客户再做个总结，做准备。常常等我一抬头的时候已经凌晨两点了，我忽然想起我好像没吃晚饭，我忽然想起我好久没上厕所了。</font></p>
<p><font face="Verdana">叶蓉：这些其实都是身体本能的反应呀。</font></p>
<p><font face="Verdana">何经华：可是如果你真正投入一件事情的时候，你有可能会忘记这件事情，你要把它一口气做完，质量做得很高。当时我也不是老板，我就是一个销售员。</font></p>
<p><font face="Verdana">叶蓉：那你为什么要那样做呢？</font></p>
<p><font face="Verdana">何经华：我害怕下岗。比如说我明天要给客户做一个演讲，我经常的想法是，这是我最后一次机会。明天如果我讲砸了，我就再也没有机会了。</font></p>
<p><font face="Verdana">叶蓉：现在的年轻人流行一个口头禅，&#8220;我换工作了&#8221;，然后顺带告诉你，&#8220;我把老板给炒了&#8221;。</font></p>
<p><font face="Verdana">何经华：我在招聘新员工的时候看简历，你知道我最先看什么？第一我不看名字，第二我不看学历，我先看他在每一份工作呆了多久。现在的年轻人工作更换太频繁了，是一件非常危险的事。频繁更换工作的简历会给我几个很重要的信息，第一这个年轻人还不知道他要干些什么，所以他老换。另外，新到一个岗位大概有两三个月的蜜月期，反正你是新人，大家对你要求都不高。等干到半年九个月，你碰到第一批困难的时候选择离开。发生困难了，最容易的决定是我不干了，然后美其名曰：&#8220;我把老板开了&#8221;。</font></p>
<p><font face="Verdana">我看看这样的年轻人能开几个老板，他最后会把自己开了。因为到最后他的简历会没有地方去。我相信这样子看简历的领导不止我一个人。如果前面的功夫不扎实，有些人可能运气不错，也做上老总的位置。可是你会坐不住，那个椅子上有油，你坐上去会滑下来。一个企业运作到最后，都是实实在在的东西，不是光说大话就可以过得了关的。像我这一辈子我没有发过什么财，我常说我的运气是很差的。我抽奖常常抽到纪念奖，一半人中奖我都抽不到，只能扎扎实实靠自己挣工资。</font></p>
<p><font face="Verdana">叶蓉：您刚才说您运气一般，但您的天资应该很好。</font></p>
<p><font face="Verdana">何经华：我认为人口中前5％聪明的叫天才，后5％聪明的人叫白痴，大部分人都在90％。今天现场做一个IQ测试，我可能不会考第一名，因为大部分的人IQ是一样的。差别在哪里呢？有些人能够比较早知道自己要些什么，然后可以系统地去积累自己要的东西，奔着你的那个梦，奔着你的目标去奋斗。有些人基本上没有梦没有目标，一天过一天，一月过一月，一年过一年。</font></p>
<p><font face="Verdana">&nbsp;</font></p>
<p><font face="Verdana">(2) 外企总经理的梦</font></p>
<p><font face="Verdana">叶蓉：那童年时候你的梦想是什么？</font></p>
<p><font face="Verdana">何经华：我真正的梦是在我大学一年级的时候，暑假在惠普公司打工。有一天财务经理告诉我，小何今天你别乱跑，我们大老板要来。早上十点钟，我远远看见大门口走进一个西服笔挺的男人，后面跟着很多人。他们指指说，那就是我们的大老板。当时我年轻的脑海里面就深深地刻下五个字，&#8220;外企总经理&#8221;。我心里问自己，到底需要具备什么样的能力才干到那个位置，他工资肯定挣很多的，他一定很威风，后面跟那么多人，他一定能做很大的决定。</font></p>
<p><font face="Verdana">到了美国我只要脑筋一闲下来，那五个字就会蹦出来，&#8220;外企总经理&#8221;。我就开始去丰富我的业务领域，我就观察每一家公司的业务领域都是很类似的。每一家公司都有销售部门，不同方式的销售。每一家公司都有服务部门、市场部门、研发部门、生产部门、物流部门。所以我开始让自己去涉猎不同的业务领域，英文叫put myself in you shoes，让我来穿你的鞋，穿你的鞋看我会不会走路。我看到领导在做一项工作，我先在纸上作业一下，然后我再观察这个老总是怎么做决定的，评估一下。我一直在做模拟测验，所以到最后这么多年走下来我对公司所有的业务我都蛮熟悉的，把自己培养得很均衡。</font></p>
<p><font face="Verdana">幸福的盒饭</font></p>
<p><font face="Verdana">叶蓉：那你的童年是怎样度过的？</font></p>
<p><font face="Verdana">何经华：我小时候在台湾长大，是很乡下的地方，叫宜兰，在台北的东北角，是一个县城。我记得有一次母亲带我们到台北旅游，走到台湾大学附近，她就跟我爸说，我儿子以后要进这所大学。我爸说你在说什么呀，现在吃饭都有问题，你知道这是什么大学？台湾大学!后来我念初中的时候，因为宜兰比较偏远，教育环境比较差。母亲当时做了一个重大的决定，说小孩在宜兰再念下去以后考大学会有问题，母亲就带了我们三兄弟搬到了台北。</font></p>
<p><font face="Verdana">叶蓉：就为了孩子？</font></p>
<p><font face="Verdana">何经华：就为了我们念书。当时父亲还在宜兰工作，我们在台北还要租房子，父亲一个月到台北看我们一次，很辛苦。母亲一个人在台北照顾我们。每天中午我们都能吃到最幸福的盒饭。因为是搬来台北念书，所以我们就住在学校后面。每天中午母亲从后面的铁门送进三个饭盒，是刚做好的，其他同学的饭盒是早上带去中午蒸的，是前一天晚上做的。</font></p>
<p><font face="Verdana">叶蓉：看来你们是最幸福的。</font></p>
<p><font face="Verdana">何经华：每天中午12点我们就到后门那儿等，学生出不去，有铁栏隔着。母亲就通过那个栏杆送进三个饭盒。</font></p>
<p><font face="Verdana">叶蓉：你这样一说让我想起了&#8220;孟母三迁&#8221;的故事。</font></p>
<p><font face="Verdana">何经华：父亲给我的教育是非常地特殊、独立，对我的学习要求非常高。</font></p>
<p><font face="Verdana">叶蓉：怎么个特殊法？</font></p>
<p><font face="Verdana">何经华：我记得我刚开始学英文的时候，我父亲每天都会问，今天教到第几课了？我说第二课。行，九点钟了，把课文背给我听，背完了再睡觉。</font></p>
<p><font face="Verdana">叶蓉：父亲的英文是不是也很好？</font></p>
<p><font face="Verdana">何经华：他英文不好。从我眼睛睁开有点记忆开始就记得，我爸爸天天练英文，用毛笔在报纸上写英文。他毛笔字非常好，可是他的英文程度只有大概初中的三年级的水平。刚开始学英文的时候他要求我全部用背。所以我整本书都会背，从第一个字背到最后一个字。最后就体现在中考成绩上，中考的时候我的英文是满分，而且我是20分钟不到卷就答完了。因为我所有的题目都是凭直觉，我书都会背，所以我咕噜咕噜很快全部都填完了。填完不能交卷，因为太早，我就坐那儿发呆，就满分。这得谢谢我爸爸。后来到了高中，一本书就很厚了。</font></p>
<p><font face="Verdana">叶蓉：还得背吗？</font></p>
<p><font face="Verdana">何经华：他已经没办法应付我了，因为我的程度已经比他好了，但是我已经养成习惯，书拿来就得背，而且越背就越容易。所以我在考大学的时候英文考了99分，就错了一题。</font></p>
<p><font face="Verdana">叶蓉：这是不是给你去美国留学做了一个很好的准备？</font></p>
<p><font face="Verdana">何经华：是啊。当时去美国我是跟太太一块去的，两个人带了四大箱行李。箱子比这个茶几还大。有一箱就叫锅碗瓢盆，连筷子都带了，准备去美国艰苦奋斗。我在美国前面三四年没有上过一次餐馆，所有的饭都是自己做。</font></p>
<p><font face="Verdana">叶蓉：舍不得？</font></p>
<p><font face="Verdana">何经华：太贵了，我记得那个时候在美国吃一碗打囟面要五块半美金，再加上15％的小费，怎么你都吃不下去。</font></p>
<p><font face="Verdana">叶蓉：父母对你进行了成功教育，那你对子女的要求是不是也特别高？</font></p>
<p><font face="Verdana">何经华：我常常说给孩子几个东西很重要，第一给她一颗清楚的脑袋，再给她能说的一张口，能写的一只手，最后给她一个正确的价值观。这个价值观代表家庭价值、金钱价值、亲情价值、友情价值。我觉得给孩子这些东西就够了，往后她大学念什么科系，读出来做什么都无所谓。</font></p>
<p><font face="Verdana">叶蓉：但是我很怀疑您说的这种朋友式的教育方式。你现在一周都可能在五个不同的城市，你还有多少时间留给太太、女儿？</font></p>
<p><font face="Verdana">何经华：家人的相处如果在量上没法追求就必须追求质。我以前工作也很忙，经常把工作带回家。我在女儿很小的时候经常把她抱在腿上，我要做PPT，我说帮爸爸按一下这个键，按一下这个就会出来，让她参与。我有时候在外面剪草，我女儿就夹在我的腿中间，我们一起剪草。我经常告诉孩子爸爸的工作到底是什么，爸爸在干什么。所以我女儿很小的时候就懂得什么叫股票，什么叫期权。那时她也许听得懂也许听不懂，但是她建立起很多我所谓的知识概念，还有一些价值观。</font></p>
<p><font face="Verdana">&nbsp;</font></p>
<p><font face="Verdana">（3） 第一次面试</font></p>
<p><font face="Verdana">叶蓉：在美国拿到学位以后，进入的第一家比较满意的公司是在什么时候？</font></p>
<p><font face="Verdana">何经华：暑假有一个礼拜天，我突然想说这个电脑硕士值多少钱？我就买了一份《华盛顿邮报》，打开求职栏。我一看我就傻了，前前后后有十几页的工作机会，翻了半天还翻不完。我花了三个小时把每一个框都读完，然后抄了两家公司的电话。我礼拜一打了个电话过去，对方在电话上就和我面谈了四个小时，有七八个人和我谈。最后一个跟我说，何先生你明天有没有空？我明天想见见你。我说有空有空，那我明天就去了。结果礼拜二我就上班了，一上班就到今天。我在美国这么年的工作环境当中就两种人最多，白男人跟白女人，黑人都很少，东方人更少。因为那是一个销售的领域，我开会时回头一看，全是白人。</font></p>
<p><font face="Verdana">叶蓉：为什么会东方人的机会这么少？</font></p>
<p><font face="Verdana">何经华：如果今天让一个金头发、白皮肤、蓝眼睛的人做我们公司的一个基层销售，你认为是什么概念？他的语言能力肯定不如中国员工。</font></p>
<p><font face="Verdana">何经华：当时我把每一个客户都当成一本书。我常说今天我可能接触一个客户。我常常告诉自己，我说这个单子我可以丢掉，但是有一个东西不能输掉，就是客户的知识，至少要学得这家公司他到底是干什么的。在这个行业这么多年，他们的优势是什么，他们面临的挑战是什么？我会问客户许多问题，可能跟我要卖的东西没有直接的关系。过几个月我又可能碰到另外一个新的机会，我可能又丢了，因为我的知识不足，我的经验不足。等到第三次、第四次，我再碰到类似的这种客户的时候，从此以后我一单都不会丢。因为到最后我会比客户的知识还丰富。所以如果说你在同一个行业里面你接触三家客户以后，你说话能够像专家。所以我慢慢地就把自己变成一个顾问式的销售，绝对不是销售式的销售。什么顾问呢？行业顾问式的销售，管理顾问式的销售。</font></p>
<p><font face="Verdana">叶蓉：当你的客户觉得你是一个能给他出主意的销售的话，他就很容易信任你。</font></p>
<p><font face="Verdana">何经华：当客户信任你的时候，要买你的产品跟服务就变成一个很容易的决定。他就变成一个容易的决定。而不是你在客户面前一直在介绍你的产品怎么棒，怎么好。你的产品很棒他觉得跟他没关系。我常常说销售到了最高境界叫销售于无形。我从来都不提公司的名字，也不提公司的产品，可是大家都知道我在说什么，也知道我在卖什么。我认为这是最高级的销售。</font></p>
<p><font face="Verdana">&nbsp;</font></p>
<p><font face="Verdana">（4）三百把小火</font></p>
<p><font face="Verdana">叶蓉：很多空降兵进入一个企业之后往往充当一个大刀阔斧改革的角色，而这个的结果往往是自己被改革掉。您到用友的时候是不是也扮演这样一个大刀阔斧的角色？</font></p>
<p><font face="Verdana">何经华：组织已经先于你存在的，你进来干领导都叫空降兵。我一路做空降兵的感觉是，如果一进来就大刀阔斧的改革，我认为风险会很大。你为什么认为你的想法会优于你团队的想法？我记得当时到用友时媒体问我，何总，你的&#8220;三把火&#8221;是什么？我说我没有&#8220;三把火&#8221;，我可能三百把小火。我说一把小火解决一件小事，很多的小事解决一系列类似的事，序列解多了它就变成一个面。我一向不赞成一个大的机器运转那么久，你突然要反向操作它，金属可能会断裂。我很认同古时候的大禹治水，是疏导。你的堤防可以尽量加高，加得越高哪一天崩下来灾难就越大。所以与其去对抗这个潮流，不如去输导这个潮流，肯定不是大手术，而是小手术，慢慢动。有人讲过煮青蛙的故事，你把青蛙放在冷水里下面开始点温火，它就可以很温和的死去，你把青蛙丢进一个滚水里面它马上跳出来。</font></p>
<p><font face="Verdana">叶蓉：那你认为你会给用友带来什么？</font></p>
<p><font face="Verdana">何经华：我在用友的第一个演讲说，我有一个梦就是希望在用友期间也能够培养出很多像我这样的人。我认为中国企业的干部职业的训练是比较弱的。职业训练就是我对这个职业基本的看法，所谓训练就是说我工作的勤奋跟我工作的有序。很多时候中国企业员工干部的勤奋是用他的方式勤奋，他不是照一个组织的方式在去勤奋。他可能不同意我这个做法，他还是用力在做。他朝他的方向做。很多公司叫做&#8220;莫名其妙地长大&#8221;，因为市场不错，怎么做大家都能挣点钱。莫名其妙长大，每个地方长的样子都不一样，最后无法管理。为什么一个企业长到一个程度之后就撞上一个严重的瓶颈，然后有一些比较偏远的机构就逐渐地所谓的失控。我不太想在媒体上评论&#8220;德隆事件&#8221;，&#8220;德隆事件&#8221;发生的时候我看到一些文章。当初他们现有的资金应该还足够覆盖它的负债，可是第一他不知道资金在哪里，第二资金知道在哪里他调不动。</font></p>
<p><font face="Verdana">叶蓉：失控。</font></p>
<p><font face="Verdana">何经华：英国的巴林银行是一个百年老店，居然被一个新加坡的交易员把这家百年老店给玩完了。</font></p>
<p><font face="Verdana">叶蓉：开始我说您是打工皇帝，能不能给年轻人教教两招，面试的时候有没有什么技巧？</font></p>
<p><font face="Verdana">何经华：面试是一个非常重要的技巧。假定我是主考官，我听这个年轻做演讲，我不会去太讲究他的内容对不对，因为他毕竟年轻，但是我会看你到底用了多少心在准备这次演讲。如果我发现你完全没有用心，我可能两分钟站起来我就走了。另外在面试的过程当中，要更深思一个问题，比如说你懂不懂这个呀？这是一个很直观的问题。通常的回答是要么是懂要么就大概懂一点，或者干脆说不懂。如果是这样子来回答问题的话就表面化了。你要更深层次的去看每一个问题的后面的原因是什么。</font></p>
<p><font face="Verdana">叶蓉：我知道您有一个小故事，面试您的人问过你会不会打高尔夫，当时你不会，但是你告诉他你会。为什么要撒谎？</font></p>
<p><font face="Verdana">何经华：回去就练。我当时想他为什么要问我会不会打高尔夫球？是不是打高尔夫球是这份工作必备的技能之一？我如果说不会我可能就没机会了。</font></p>
<p><font face="Verdana">叶蓉：很多人都说何经华是一个天生的演说家。我觉得跟您聊天让我感到，成为一个优秀的职业经理人，口才至少是必备的条件之一。谢谢你接受我们节目采访。</font></p>
 <img src="http://www.cnblogs.com/pent/aggbug/1077992.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/02/22/1077992.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/02/22/1077992.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>买房炒股是中国百姓最理性的选择</title><link>http://www.cnblogs.com/pent/archive/2008/01/13/1036961.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Sun, 13 Jan 2008 05:57:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/01/13/1036961.html</guid><description><![CDATA[<p>阅读: 118 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-01-13 13:57 <a href="http://www.cnblogs.com/pent/archive/2008/01/13/1036961.html" target="_blank">原文链接</a></p>官方和主流媒体均一致认定，一个人买几套房是不合理的，是导致需求过旺而导致房价上升过快的主要原因。也有人想当然的认定中国已处于&#8220;全民炒股&#8221;局面，需要&#8220;教育&#8221;、&#8220;引导&#8221;，更需要&#8220;调控&#8221;。那么，越来越多的中国百姓正纷纷做出买房炒股的选择，这到底是理性还是非理性呢？让我们试着从宏观经济的角度做些基本分析。<br />
&nbsp; &nbsp; 首先，我们知道当前中国宏观经济的最大特点就是整体陷于&#8220;流动性过剩&#8221;的状态，简单来说就是钱太多了。这与两件事有关。一是国际资本认定人民币被低估了，因此通过合法或不合法的形式大量流入，而居高不下的贸易顺差中也有许多是热钱的流入。二是国际资本通过美国政府等种种渠道频频向中国施压，人民币升值、频繁加息以及人民币汇率浮动空间的扩大，让国际资本从中闻到了血腥味。由此导致的结果就是，过去几年间我国的外汇储备猛增，甚至比中国任何一个宏观数据都上升的快。<br />
&nbsp; &nbsp; 对于如此众多国际资本的流入，人们一直以来主要关注的却只是人民币升值，但这仅仅是一个表面现象，很少会有人真正获得人民币升值的直接好处。资金和物资在中国完全不同比例的增长速度，使消费性物价的上涨远远不及投资性物价的急剧上升。好比说，过去一户普通人家50万就能够买一套90平方的房子，而现在由于外币流入只够买半套了。这种情况下，可以说房子涨了一倍，也完全可以说人民币变得越来越不值钱了，它的购买力仅相当于原来的50%。股票也如此，表面上人们买的是股票，其实质是企业，而好的企业是有限的，成长速度同样有限，因此外汇的急剧增长导致了股票价格飙升，或者说，人民币相对于股票来说其价格急剧贬值。<br />
&nbsp; &nbsp; 说到这里，大家也许明白，人民币对外升值只是一个表象，对国内资产的急剧贬值才是问题的要害。在这种情况下，中国人民只有两种选择。一是不买房、不炒股，不随波逐流，这样一种&#8220;理性选择&#8221;将使中国老百姓辛辛苦苦一辈子积累下来的储蓄存款像冰棍一样迅速化掉。昨天你本来还可以买一套房的，今天却只可以买一个客厅了，而明天将注定只能是一个阳台了。当然，&#8220;专家&#8221;们说了，总有一天房子也罢，股票也罢，怎么涨上去，还会怎么跌下来。但是，这一天在人民币升值路线没有走完之前将不会到来。而人民币的升值道路还有很长。因此，让中国百姓在盛夏之际就穿上过冬的棉袄，这想法实在太过超前。<br />
&nbsp; &nbsp; 中国百姓选择买房炒股，不仅是逐利的理性选择，并且几乎是迫不得已的，为了避免财富不象冰棍那样化掉的唯一无奈选择。从这样角度来看，买房也罢，投资股票也罢，实在是最理性不过的选择。试想，一个人如何跑赢千里马？答案是，没有人能跑得过，除非你骑在马背上。中国人买房炒股的选择，就如同骑在急剧上升的资产价格背上。他们这样做，只是为了不被狂奔的马踏死而已。<br />
&nbsp; &nbsp; 过去三年，基本的情况就是：在主流城市，房价翻了一番；资本市场，股价翻了几番。如果说，2005——2006年，还有许多人在争论房价过高究竟是&#8220;钱太多&#8221;还是&#8220;开发商太狠&#8221;，并且相信重点地区房价乃至全国的房价会突然崩溃，那么，在目睹2006年以来股市迅速升温的情形后，已经没有人再去争论这个问题了。虽然万事万物都有个逆转的时候，人民币升值的道路终有一天会走完，并且终有一天国际资本会像当年他们玩弄日本和东亚诸国一样始乱终弃。没有人能斗得过市场，一个根本的趋势是，人民币升值预期下的资产升值从而对内贬值的状况不可避免。市场将越来越教育中国百姓，让他们懂得如何作出真正&#8220;理性&#8221;的选择，来保护自己的资产不缩水。那些批评百姓买房不理性或&#8220;全民炒股&#8221;的人，找出更好地保护百姓财富不像冰棍一样化掉的切实办法才是正路。
<img src="http://www.cnblogs.com/pent/aggbug/1036961.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/01/13/1036961.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/01/13/1036961.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>自动化测试十大要点[转]</title><link>http://www.cnblogs.com/pent/archive/2008/01/08/1030982.html</link><dc:creator>pent</dc:creator><author>pent</author><pubDate>Tue, 08 Jan 2008 13:22:00 GMT</pubDate><guid>http://www.cnblogs.com/pent/archive/2008/01/08/1030982.html</guid><description><![CDATA[<p>阅读: 208 评论: 0 作者: <a href="http://www.cnblogs.com/pent/" target="_blank">pent</a> 发表于 2008-01-08 21:22 <a href="http://www.cnblogs.com/pent/archive/2008/01/08/1030982.html" target="_blank">原文链接</a></p>当一款自动化测试工具引入到一个项目中，我们通常对它给予很高的期望；项目成员希望工具能够尽可能的缩小测试范围、节约成本并缩短项目进度，然而可悲的是，很多采用自动化测试的项目依然失败了。<br />
<br />
&nbsp; &nbsp; 以下几个方面严重影响着自动化测试的效率，如果处理不当，将会造成事倍功半甚至前功尽弃的后果，自动化测试也成了一副空架子。<br />
<br />
&nbsp; &nbsp; 一是测试的范围：想要百分百的实现自动化测试是不现实的，而且从时间投入上也是不可行的；有选择性的挑选应用程序的一些功能或区域模块，采用自动化测试。<br />
<br />
&nbsp; &nbsp; 二是测试时间的准备工作：自动化测试脚本的开发时间必须考虑在内，一般来说，开发测试脚本的时间要比手工测试多出三分之二，因为现实里工具会在初始阶段增加测试的范围；因此，对自动化测试保持适度的期望值很重要：工具不能取代手工测试，更不能代替测试工程师。测试初始阶段，投入会比较大，当自动化完成后，将会大大缩短后续的版本的测试时间。 <br />
&nbsp; &nbsp; 三是投资的回报：自动化测试的准备工作如此漫长，据说自动化测试的效益只会出现在测试被执行三次以后的时间里。 <br />
&nbsp; &nbsp; 四是何时获得自动化测试的收益：定位合适的测试目标，并认真分析自动化测试的收益出现在何时、何处。如果测试程序频繁进行大幅度变更或修改，还是放弃自动化测试吧！－你将会耗费相当的时间去修改测试脚本，但收益是微乎其微的。（但是，如果应用程序频繁变更的模块彼此独立，或者修改较小，或者只是特定区域的变更，那么仍然可以成功采用自动化测试。）另外，谨记只有当应用程序将近发布时，才可以进行完整的自动化测试；如果应用程序缺陷太多，功能点运行失败，想要运行全面的测试套件程序是不太可能的。 <br />
&nbsp; &nbsp; 五是变更的程度：自动化测试最适合用于回归测试，将那些已经存在并相对完善的功能进行自动化测试；例如应用程序1.0版本的功能模块已经稳定，没有引入1.1版本的新功能，这种情况下，我们对其制订自动化测试计划并设计测试脚本，不至于因为简单的GUI变更（例如某个控件改名或移动）而使脚本无效。我们也需要将修改脚本的时间考虑在内，例如，如果应用程序的版本升级造成很大的功能改变，那么也许要全部重新书写测试脚本，这种情况是我们不愿意看到的。但是，如果只是某个相对独立的功能模块发生变更，或者变更较小，我们可以成功的实现在回归测试里的自动化。 <br />
&nbsp; &nbsp; 六是测试的完整性：我们如何度量一个测试是否通过或失败呢？单单凭借工具返回的&#8220;pass&#8221;不足以证明测试本身通过无误，例如，没有错误的提示信息出现并不意味着脚本的下一步动作能够成功进行。因此这一要点需要在规划测试脚本的通过与否标准上考虑在内。 <br />
七是测试的独立性：测试的独立性应该被考虑在内，从而不至于某一个测试用例的运行失败引起全局影响，甚至阻止整个测试套件程序里其他脚本的运行；但是，在实践中对该问题的把握并不容易，需要一定的努力达到此目标。<br />
<br />
&nbsp; &nbsp; 八是对测试脚本本身的调试和测试：必须花费一定的时间进行该工作，以检验测试本身的完整性。<br />
<br />
&nbsp; &nbsp; 九是录制/回放：不要完全把工具的录制/回放功能作为创建测试脚本的唯一方法，这个观念是很重要的。测试者在后台运行测试工具，再手工执行测试，工具将测试者的动作记录下来，自动生成一个脚本，以便测试者可以重新运行测试动作，这虽然是个好想法，但对测试工作本身并无太大意义。 <br />
<br />
&nbsp; &nbsp; 十是对测试脚本的维护：最后一点，对自动化测试脚本的维护是一个高投入的工作，脚本必须持续的更新，否则一旦应用程序有太多的变更而要修改测试脚本时，你会因为一下子需要上百个小时而考虑是否值得这样做，从而最终放弃自动化测试。因此，测试脚本每次更新时，对其进行文档化管理是必要的。<br />
<br />
文章来源:<a href="http://www.rjzl.gov.cn/news.asp?id=699" target="_blank">http://www.rjzl.gov.cn/news.asp?id=699</a>
<img src="http://www.cnblogs.com/pent/aggbug/1030982.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/pent/archive/2008/01/08/1030982.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/pent/archive/2008/01/08/1030982.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56855/" target="_blank">NDepend 3.0已与Visual Studio集成</a><span style="color:gray">(2010-02-10 16:17)</span><br/>· <a href="http://news.cnblogs.com/n/56854/" target="_blank">Ruby in Steel 1.5发布，去除IronRuby支持</a><span style="color:gray">(2010-02-10 16:14)</span><br/>· <a href="http://news.cnblogs.com/n/56852/" target="_blank">淘宝网通过索引模式涉足网络文学</a><span style="color:gray">(2010-02-10 15:59)</span><br/>· <a href="http://news.cnblogs.com/n/56851/" target="_blank">苹果发布 iPhone/iPad SDK 3.2 beta2 开发包</a><span style="color:gray">(2010-02-10 15:37)</span><br/>· <a href="http://news.cnblogs.com/n/56850/" target="_blank">“谷姐”：披着“谷歌”羊皮的悲哀？</a><span style="color:gray">(2010-02-10 15:32)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/news/tag/Buzz/" target="_blank">Google Buzz相关新闻</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>