﻿<?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>BlogJava-小蚂蚁-随笔分类-测试文章收藏夹</title><link>http://www.blogjava.net/lijun_li/category/4398.html</link><description>风雨过后才见彩虹</description><language>zh-cn</language><lastBuildDate>Fri, 09 Mar 2012 00:04:08 GMT</lastBuildDate><pubDate>Fri, 09 Mar 2012 00:04:08 GMT</pubDate><ttl>60</ttl><item><title>（转）测试者之路---软件测试从业人员职业发展最新诠释！！！</title><link>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 08 Mar 2012 16:01:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/371559.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/371559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/371559.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;这篇文章非常不错，收藏到blog和同行分享。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文章出处：<span lang="EN-US"><a href="http://qa.taobao.com/?p=12059"><font face="微软雅黑">http://qa.taobao.com/?p=12059<br /></font></a><br />
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">本文中所述的测试主要指软件领域的测试，与核武器的测试无关。<span lang="EN-US"><br /></span>测试是什么？它如同医学、教学一样是个独立的、专业的行业。测试人员之于软件系统犹如医生之于患者，教师之于学生。医生的职责是治病救人，教师的职责是教书育人。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">测试这个行业的从业人员是保证软件实现的完整性和正确性。当然：虽然患者的身体健康与否取决于患者自己，但一个优秀的医生除了有精湛的医术外，也会用各种方法渠道让患者明白如何预防疾病发生。虽然学生的成长也是取决于学生自己，但一个优秀的教师除了有精湛的教书能力外，也会用各种方法渠道让学生明白做人的道理。所以，虽然软件质量的好坏取决于实现软件的人，但是一个优秀的测试人员除了优精湛的测试技能外，还会用各种方法渠道让实现者明白如何做出一个高质量的软件产品。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br /></span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">现在言归正传，一个测试人员之路是什么？前面说了，测试是一个行业，所谓行行出状元，测试行业的状元是什么样的呢？继续细分，如同医疗行业有内科、外科、脑科、心血管科等等各种专业领域；测试行业本身也有各种专业领域：功能、性能、安全、可用性等等。每个专业领域的状元一定是在这个专业领域上有精湛造诣的人。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br /></span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">到这里，大家一定会有疑问，做到什么样才叫有精湛造诣呢？现在讲个大家耳熟能详的故事<span lang="EN-US">: </span>魏文王问名医扁鹊说：&#8220;你们家兄弟三人，都精于医术，到底哪一位最好呢？&#8221; 扁鹊答说：&#8220;长兄最好，中兄次之，我最差。&#8221; 文王再问：&#8220;那么为什么你最出名呢？ 扁鹊答说：&#8220;我长兄治病，是治病于病情发作之前。由于一般人不知道他事先能铲除病因，所以他的名气无法传出去，只有我们家的人才知道。我中兄治病，是治病于病情初起之时。一般人以为他只能治轻微的小病，所以他的名气只及于本乡里。而我扁鹊治病，是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术，所以以为我的医术高明，名气因此响遍全国。&#8221;<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">首先：若想成为某个测试领域的专家，个人认为应具备如扁鹊之力，除了要精通于自身领域内的知识，对系统也了如指掌，快速看到问题现象，同时也能够快速通过现象找到问题本质，最后用最简单最有效的解决方案来根治问题。比如在经脉上针灸、在皮肤上敷药。如果要大动干戈、开肠破肚解决问题，那是普通水平。如果是头痛医头脚痛医脚，那是庸医；呵呵。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">其次：小隐隐于野。若想成为某个测试领域的大师的话，则需具备扁鹊二哥的能力，当系统还在设计的时候，就能够找到致病因素，用简单高效的手段铲除病因。也就是要具备系统分析师的能力，对设计的功能、性能、易用性、可靠性、可维护性、可移植性、安全性、可测性等各方面能够起到指导作用。知易行难，要做到如此很考验人的毅力。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">最后：大隐隐于市。若想成为测试领域的隐士的话，则需具备扁鹊大哥的能力，能够在软件系统创造前期，就将问题防范于未然。要做到这样，除了需要有精湛的技术外，还需具备的是对这个行业的热爱，具备帮助他人成功的心态。并且要有甘于寂寞、淡泊名利的心境，因为几乎没有人知道你的存在，更少人懂你。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><br />&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">接下来我们再讲讲<span lang="EN-US">TL</span>（<span lang="EN-US">Techlead</span>），<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">TL</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">如同主任医生或者硕士生导师，他不仅在某个领域内有很深的造诣同时也非常有热情继续在这个领域中深入，并且也愿意带领小部分人一起来探索、研究、创新。套用前面的故事，即如同扁鹊三兄弟的父亲。据说他将自己的行医之道总结了<span lang="EN-US">2</span>本秘籍，一本是《医道》、一本是《防道》，根据扁鹊三兄弟的天资，分别传授了给他们。扁鹊三兄弟的功力也是长年跟着医术高明的父亲看病实践及理论教导而日益增长的。所以<span lang="EN-US">TL</span>不仅自己能够独立做战，也能够带领人共同做战的<span lang="EN-US">leader</span>。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">以上是对<span lang="EN-US">P</span>路线的阐释<span lang="EN-US"><br /></span>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<span lang="EN-US"><br /></span>以下是对<span lang="EN-US">M</span>路线的阐释<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前面说了测试工作本身是为了保证软件产品的正确性完整性。但在研发体系运作中，测试团队或者测试部门的建立则是为了提升研发效率。<span lang="EN-US"><br /></span>先阐释下，如何来理解它是个效率部门。这里做一个简单的模型，模型的前提是：<span lang="EN-US">1</span>、先把需求设计阶段抛开，单从开发和测试来说；<span lang="EN-US">2</span>、产量和质量是相当的。假设一个场景：如果<span lang="EN-US">1</span>个人做<span lang="EN-US">1</span>个产品需要<span lang="EN-US">15</span>天，<span lang="EN-US"> 2</span>个人做的话，就能将原先串行的工作变成并行，这样能够缩短系统上线工期。变化如下图<span lang="EN-US">1</span>所示。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE1.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1025" height="175" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE1.jpg" width="667" border="0"  alt="" /></span></a><o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">1<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前提假设都不变的情况下，如果变成如图<span lang="EN-US">2</span>的话<span lang="EN-US">,</span>那么这个研发体系实在不咋地。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE2.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1026" height="99" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE2.jpg" width="645" border="0"  alt="" /></span></a>&nbsp;<o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">2<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">前提假设都不变的情况下，如果变成图<span lang="EN-US">3</span>的话，那么这个研发体系则比较优秀，因为不仅开发和测试本身的工期都得到了缩短，总工期也得到了大大缩短，并且还降低了总人力成本。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'"><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE3.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1027" height="94" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE3.jpg" width="635" border="0"  alt="" /></span></a><o:p></o:p></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span lang="EN-US" style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&nbsp;</span><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">图<span lang="EN-US">3<br />&nbsp;<o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">以上几种体系的建立实施都离不开管理者，即是我们所说的<span lang="EN-US">M</span>。下面我们就来说说作为测试部门的<span lang="EN-US">M</span>应该做哪些事。<span lang="EN-US"><br /></span>一、<span lang="EN-US">&nbsp;M</span>得具备如上面模型中谈到的测试体系建设及研发体系建设的能力。要有系分或者架构师的视角来优化测试体系和研发体系。<span lang="EN-US"><br /></span>二、<span lang="EN-US">&nbsp;M</span>得有<span lang="EN-US">Loadbalance</span>的功能。测试部门作为研发部门中的公共资源部门，需要起到削峰填谷的作用，合理得分配和调度测试资源是<span lang="EN-US">M</span>的基本职责。<span lang="EN-US"><br /></span>三、<span lang="EN-US">&nbsp;M</span>得是个优秀的<span lang="EN-US">HR</span>。招聘策略、培训体系、员工关怀、员工成长体系乃至离职管理都得搞定。这也是基本职责。<span lang="EN-US"><br /></span>四、<span lang="EN-US">&nbsp;M</span>得是个指挥家。需要指挥协调团队中各种专家为同一首交响曲而合作共同演奏。<span lang="EN-US"><br /></span>五、<span lang="EN-US">&nbsp;M</span>得是个司令官。战略可大可小，时刻得记得给团队一个方向和目标。<span lang="EN-US"><br /></span>六、<span lang="EN-US">&nbsp;M</span>得是个队长。战术的落地，跟踪执行、绩效<span lang="EN-US">review</span>等。就公司来说，这对保证公司业绩完成是非常重要的内容<span lang="EN-US"><br /></span>七、<span lang="EN-US">&nbsp;M</span>得是个外交官。要获得客户、员工、老板、同事等的支持和合作，没点外交能力还真搞不定。<span lang="EN-US"><br /></span>八、<span lang="EN-US">&nbsp;M</span>得是个销售员。要将自己的产品、思想销售给有需要的人，甚至那些还未意识到自己有需要的人。必要时还得盗梦空间下。<span lang="EN-US"><br /></span>另外，<span lang="EN-US">M</span>还得懂点心理学、经济学、社会学、哲学等等，总之各种学科都略懂肯定没错啦。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">《大学》中有谈到一个人从内在修养到外发事业的完成是这样<span lang="EN-US">8</span>个顺序：格物、致知、诚意、正心、修身、齐家、治国、平天下。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">大致意思是了解事物原来才能拥有知识，心意才会真诚，思想才会端正，然后才能提高自身的品德修养，自身品德修养高了才能管理好家庭、治理好国家、使天下太平。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">所以说难，<span lang="EN-US">M</span>真的很难，要懂的知识很多，要想的事很多。说容易也容易，其实只要诚意正心，心无旁骛，真心为客户好、为员工好、为公司好，用心将工作内容做好就好。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<span lang="EN-US"><br /></span>以下内容献给在<span lang="EN-US">P</span>和<span lang="EN-US">M</span>中纠结徘徊的同学们<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; outline-color: initial; outline-style: initial; outline-width: 0px"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">很多同学格物致知到了<span lang="EN-US">P6</span>、<span lang="EN-US">P7</span>后就会犹豫自己是该继续走<span lang="EN-US">P</span>还是改走<span lang="EN-US">M</span>，也有的同学转了<span lang="EN-US">M</span>后，也还纠结，要么感觉没变化，要么感觉不做<span lang="EN-US">P</span>的事，心里没底。<span lang="EN-US"><br /></span>这里我将我的理解分享给大家，仅供参考。我认为打造一个团队如同打造一座房子，<span lang="EN-US">P</span>是房子的顶梁柱，而<span lang="EN-US">M</span>是房子的横梁。如下图所示，图中的<span lang="EN-US">P</span>和<span lang="EN-US">M</span>的数字只是为了举例方便，千万不要生搬硬套。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /></span>&#8230;&#8230;<span lang="EN-US"><br /><a href="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE4.jpg"><span style="border-right: windowtext 1pt; padding-right: 0cm; border-top: windowtext 1pt; padding-left: 0cm; padding-bottom: 0cm; border-left: windowtext 1pt; color: #004d99; padding-top: 0cm; border-bottom: windowtext 1pt; text-decoration: none"><img id="_x0000_i1028" height="334" src="http://qa.taobao.com/wp-content/uploads/2011/04/%E6%B5%8B%E8%AF%95%E4%BA%BA%E4%B9%8B%E8%B7%AF%E5%9B%BE4.jpg" width="348" border="0"  alt="" /></span></a><br /></span>图<span lang="EN-US">4<br /></span>图<span lang="EN-US">4</span>中可以看出，如果要更上一层楼，就要有更高的<span lang="EN-US">P</span>和更高的<span lang="EN-US">M</span>。那么做为已有的<span lang="EN-US">P</span>和<span lang="EN-US">M</span>应该怎么到更高的数字呢？以图<span lang="EN-US">4</span>中的数字为例，<span lang="EN-US">P6</span>若要晋升到<span lang="EN-US">P7</span>，那么做的事一定是能够让团队的技术能力或工作产出上一个台阶的。你可以选择做其他<span lang="EN-US">P7</span>正在做的事，但实际上因为每个人的工作机会和成长路线都不尽相同，所以很难去模仿他人，因此更多的时候还是要触类旁通，自己创新。<span lang="EN-US">P8</span>、<span lang="EN-US">P9</span>等等以此类推。<span lang="EN-US"><br /></span>同理，<span lang="EN-US">M</span>要从<span lang="EN-US">M2</span>晋升到<span lang="EN-US">M3</span>，则是要让团队在更高的一层楼上高效得运作。每层楼的人数并不是晋升的关键，但是在<span lang="EN-US">2</span>楼运作还是在<span lang="EN-US">3</span>楼运作则是关键。<span lang="EN-US"><br /></span>看到这里，大家肯定有疑问了，说的简单啊，可真实情况咋那么纠结呢。这个说：&#8220;我是<span lang="EN-US">P</span>，可是做了一堆<span lang="EN-US">M</span>的事。&#8221;另外一个又说：&#8220;我是<span lang="EN-US">M</span>，可也做了一堆<span lang="EN-US">P</span>的事。&#8221;到底怎么回事呢？其实这就对了，纠结说明你又上进又有责任感。为什么这么说呢？所谓世上不如意事十有八九。现实中很难有<span lang="EN-US">M</span>和<span lang="EN-US">P</span>都匹配得非常完美的情况。仍旧用图<span lang="EN-US">4</span>举例：如果你是<span lang="EN-US">P7</span>，可是团队中又没有<span lang="EN-US">M3</span>，你又希望团队进步，希望其他成员用你的思想、方法、理论在<span lang="EN-US">3</span>楼运作，怎么办？要招聘，更要承担<span lang="EN-US">M3</span>的很多责任。同样，如果你是<span lang="EN-US">M2</span>，你非常希望你的团队能够更上一层楼，但是又没有<span lang="EN-US">P7</span>，怎么办？在招聘未果的情况下，你就不得不承担很多<span lang="EN-US">P7</span>应该做的事了。以此类推。<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">只要社会在发展、公司在发展，楼总是需要越建越高的，而人才总是越来越稀缺的。所以我们每个人除了要有自己的目标自己的梦想外，也都得接受现实的不完美。人生短暂，让我们一起享受在实现目标和梦想过程中的种种挑战吧！一起为高楼的建设而努力吧！<span lang="EN-US"><o:p></o:p></span></span></p>
<p style="margin-bottom: 6.75pt; text-align: center; outline-color: initial; outline-style: initial; outline-width: 0px" align="center"><span style="font-size: 10pt; color: #4d4d4d; font-family: '微软雅黑','sans-serif'">本文与在测试行业道路上孜孜不倦追求卓越的同行们共勉。<span lang="EN-US"><o:p></o:p></span></span></p><o:p></o:p></span></div><img src ="http://www.blogjava.net/lijun_li/aggbug/371559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2012-03-09 00:01 <a href="http://www.blogjava.net/lijun_li/archive/2012/03/09/371559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>（转）中国测试工程师现状及存在的问题！！！</title><link>http://www.blogjava.net/lijun_li/archive/2009/09/24/296333.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Thu, 24 Sep 2009 11:13:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2009/09/24/296333.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/296333.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2009/09/24/296333.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/296333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/296333.html</trackback:ping><description><![CDATA[<p><font style="background-color: #c7edcc">&nbsp;&nbsp; 转自：<font style="background-color: #c7edcc"><a href="http://blog.csdn.net/softesting/archive/2009/01/01/3679653.aspx">http://blog.csdn.net/softesting/archive/2009/01/01/3679653.aspx</a></font><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在中国这样一个现状,大部分的测试工程师基本上很难涉及到代码.但有很多公司都要求你测试工程师不但能够找到软件的缺陷,而且能够找到缺陷产生的原因.如果在软件公司带过测试项目的话,你可能就会知道找到缺陷产生的原因是一个什么样的分量的工作.可能开发人员经过了几天几夜的眉思苦想都不知道软件那块出问题了,一般情况下,开发人员解决不了的问题,首先问项目经理.如果项目经理解决不了,问题只能搁置.而作为一个不怎么了解代码的测试人员,能够很快的找到软件中的缺陷.这相当于什么呢?相当于你是解决了开发人员未解决的问题,你是开发人员的指导者.呵呵,这个时候,估计月薪1万也不是梦了!! <br />
　　<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 测试人员能够找到问题产生的原因:我能想到的一般是下面两种情况:</font></p>
<p><font style="background-color: #c7edcc">　　1.以前作过开发,而且很牛.并且精通测试.<br />
　　2.对软件的业务流程非常熟悉而且了解开发的实现机制,并且精通测试.</font></p>
<p><font style="background-color: #c7edcc">　　作为前者,我们没个几年的开发经验基本上不可能作到，都是开发和测试里面的大牛.对我们现在来说有点不符合实际．而后者应该是我们努力的方向,经过1-2年的测试基本上就能够非常熟悉公司的软件产品,在我们实际的测试过程中,不要满足与只是软件表面的业务流程,而且要多和开发人员交流,多多了解软件的实现机制.</font></p>
<p><font style="background-color: #c7edcc">　　软件的实现机制,无非就是通过各个开发技术来实现的.所以当我们学到相应开发的时候,重点关注的应该开发语言实现某一功能的实现机制.比如说你学到了XML,你要关注的不是简单的几十行代码,你要从整个XML的实现机制上来了解XML。<br />
&nbsp;<br />
　　在说这个图之前你需要知道XML中主要包括１．XML文档声明２．关于文档的类型定义．（即验证自定义标签、元素之间关系的合法性）３．用XML标签创建的数据内容．（这个就是下面我们所说的数据）</font></p>
<p><font style="background-color: #c7edcc">　　在IE中使用XML，有一个好处就是实现数据和显示分离，XML中存储数据，而HTML利用DOM对象调用XML中的数据来显示．这样实现个过程是这样的：XML中存储数据，而CSS呢是对XML中的数据进行格式排版显示，通过JavaScript对XML数据元素的操作不能够直接进行，他要用到系统提供很多编程接口，也就是DOM模型，DOM模型实现XML数据和Javascript之间交流的平台．最终在IE中显示的是HTML调用XML中的数据和Javascript对数据操作后的结果．</font></p>
<p><font style="background-color: #c7edcc">　　理解了XML整个实现的机制后，如果程序不能实现把King Leer变成红色，你说这个缺陷是哪个模块产生的？这个肯定是Javascript的问题．</font></p>
<p><font style="background-color: #c7edcc">　　呵呵，这就是了解了开发技术实现机制的一个最大的好处．公司的软件的实现机制，就是现有的各种开发技术实现机制的一个混合体．各种开发技术我们肯定不能都精通，但如果我们知道它们的实现机制，这个时候对于找到缺陷产生的原因是莫大的好处．</font></p>
<p><font style="background-color: #c7edcc"><br />
</font>&nbsp;</p>
<img src ="http://www.blogjava.net/lijun_li/aggbug/296333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2009-09-24 19:13 <a href="http://www.blogjava.net/lijun_li/archive/2009/09/24/296333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从一则笑话分析需求的陷阱！（转自testage）</title><link>http://www.blogjava.net/lijun_li/archive/2009/01/07/250369.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Wed, 07 Jan 2009 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2009/01/07/250369.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/250369.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2009/01/07/250369.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/250369.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/250369.html</trackback:ping><description><![CDATA[编写背景：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这几天比较有时间，打算把测试时代和51testing论坛里的帖子好好的看一看，以后上班就没有这么爽了。<br />
今天在testage上发现一个挺有意思的帖子，决定收录到博客中保留。^_^。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<strong style="font-size: 12pt">从一则笑话分析需求的陷阱！</strong><br />
<span style="font-size: 12pt; font-family: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&nbsp;&nbsp; 某日，老师在课堂上想考考学生们的智商，就问一个男孩<span lang="EN-US">:&#8220;</span>树上有十只鸟，开枪打死一只，还剩几只？<span lang="EN-US">&#8221; <br />
</span>&nbsp;&nbsp; 男孩反问<span lang="EN-US">:&#8220;</span>是无声枪么？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>不是。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>枪声有多大？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;80~100</span>分贝。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>那就是说会震的耳朵疼？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>是。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>在这个城市里打鸟犯不犯法？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>不犯。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>您确定那只鸟真的被打死啦？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>确定。<span lang="EN-US">&#8221;</span>老师已经不耐烦了，<span lang="EN-US">&#8221;</span>拜托，你告诉我还剩几只就行了，<span lang="EN-US">OK</span>？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;OK</span>。鸟里有没有聋子？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>没有。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>有没有关在笼子里的？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>没有。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>边上还有没有其他的树，树上还有没有其他鸟？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>没有。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>方圆十里呢？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>就这么一棵树<span lang="EN-US">!&#8221; <br />
&nbsp;&nbsp; &#8220;</span>有没有残疾或饿的飞不动的鸟？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>没有，都身体倍棒。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>算不算怀孕肚子里的小鸟？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>都是公的。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>都不可能怀孕？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;&#8230;&#8230;&#8230;</span>，决不可能。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>打鸟的人眼里有没有花？保证是十只？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>没有花，就十只。<span lang="EN-US">&#8221;&nbsp;<br />
</span>&nbsp;&nbsp; <br />
&nbsp;&nbsp; 老师脑门上的汗已经流下来了，下课铃响起，但男孩仍继续问<span lang="EN-US">:&#8220;</span>有没有傻的不怕死的？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>都怕死。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>有没有因为情侣被打中，自己留下来的？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>笨蛋，之前不是说都是公的嘛<span lang="EN-US">!&#8221; <br />
&nbsp;&nbsp; &#8220;</span>同志可不可以啊<span lang="EN-US">!&#8221;&nbsp;<br />
&nbsp;&nbsp; &#8220;&#8230;&#8230;&#8230;&#8230;</span>，性取向都很正常<span lang="EN-US">!&#8221; <br />
&nbsp;&nbsp; &#8220;</span>会不会一枪打死两只？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>不会。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>一枪打死三只呢？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>不会。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>四只呢？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>更不会<span lang="EN-US">!&#8221; <br />
&nbsp;&nbsp; &#8220;</span>五只呢？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>绝对不会<span lang="EN-US">!!!&#8221; <br />
&nbsp;&nbsp; &#8220;</span>那六只总有可能吧？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>除非你他妈的是猪生的才有可能<span lang="EN-US">!&#8221; <br />
&nbsp;&nbsp; &#8220;&#8230;</span>好吧，那么所有的鸟都可以自由活动么？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>完全可以。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>它们受到惊吓起飞时会不会惊慌失措而互相撞上？<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>不会，每只鸟都装有卫星导航系统，而且可以自动飞行。<span lang="EN-US">&#8221; <br />
&nbsp;&nbsp; &#8220;</span>恩，如果您的回答没有骗人，<span lang="EN-US">&#8221;</span>学生满怀信心的回答，<span lang="EN-US">&#8220;</span>打死的鸟要是挂在树上没掉下来，那么就剩一只，如果掉下来，就一只不剩。<span lang="EN-US">&#8221; <br />
</span>老师当即倒<span lang="EN-US">!&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;</span>用这篇笑话故事来做开头，笑过之后可能不少能会认为这个小朋友是需求调研的最佳人选。回顾软件开发上的许多案例，软件开发失败率一直居高不下，特别在外包开发这个领域中，这个值可能会更高一筹。在分析项目失败的原因的时候，需求的因素可能是失败的关键原因、需求不明确，客户对需求的变更频频等等。<span lang="EN-US">&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp; </span><strong style="color: #333399">需求的调研</strong><span lang="EN-US">&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;</span>需求调研是为需要说明书做前期工作，可以说需要说明书是从需求调研表中得到或抽取而出。需求调研是要了解客户希望所要开发的系统能够解决他们的问题，以及了解他们对系统的期望等等。需求调研是整个开发的基础，经过需求调研的结果整理出需求说明书作为后续开发使用。<span lang="EN-US">&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;</span>如果做的项目是一个陌生的一个行业（专业），这是往往需要专家或者顾问等角色的协助，但是作为调研人员最少要想办法了解个专业，或许你需要成为这个行业的专家，但最少要了解一定的专业知识（最少专业词汇你要知道）。这样客户的沟通才能达到顺畅，不会出现牛头不对马嘴的现象。<span lang="EN-US">&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;</span>在某些难度不是很大的行业或者项目，做需求调研的时候可以通过自学的方式了解行业的特点，这些项目往往因为规模比较小，也不会有专家的影子出现。但是作为调研的时候我们最需要了解的一些问题如：<span lang="EN-US"> <br />
<br />
1</span>）：客户目前的问题与苦难<span lang="EN-US"> <br />
2</span>）：客户现在的工作模式<span lang="EN-US"> <br />
3</span>）：客户对系统的期望<span lang="EN-US"> <br />
4</span>）：客户哪些要求是自己能做到的，那些是依靠系统来做<span lang="EN-US"> <br />
5</span>）：还有客户对系统开发方式以及时间的要求等等<span lang="EN-US">&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;</span>其实做需求调研的时候最重要的目的在于资料收集，或许小孩的那种打破砂锅的方式会引起客户的反感，但是实际项目中往往需要的就是这些比较周全的调研方式，能够考虑到的问题点都需要和客户确认，尽量避免想当然的做法，只是采用的方式可能需要优化一下，采用良好的方式，尽量得到客户的最大配合。</span>
<img src ="http://www.blogjava.net/lijun_li/aggbug/250369.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2009-01-07 16:52 <a href="http://www.blogjava.net/lijun_li/archive/2009/01/07/250369.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>招聘之难（转自smilings的blog）</title><link>http://www.blogjava.net/lijun_li/archive/2008/04/16/193572.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Wed, 16 Apr 2008 13:17:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2008/04/16/193572.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/193572.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2008/04/16/193572.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/193572.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/193572.html</trackback:ping><description><![CDATA[编写背景：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前两天在家过周末，有时间通过测试圈子逛了逛同行的blog，其中smilings的这篇文章写的非常好，对一些想进入测试这个职业的新人是个很好的提醒！！！对于在测试这个职业上工作一段时间的同行来说，是一种。。。。。。。。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文章原URL地址：http://blog.csdn.net/Smilings/archive/2008/03/22/2207633.aspx<br />
<br />
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">从一月份到现在，面试了二十个左右的研究生，满意的很少，我开始去思考，到底是自己的要求过高，还是自己的面试方法有问题，抑或真的是现在的研究生的素质越来越低了？</span></p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">我理想的人选，首先，我希望他对测试感兴趣，有测试的感觉，测试并不是一件很有创造性的工作，但其中的乐趣，是很多</span>coding<span style="font-family: 宋体">高手所无法体会的，但需要发现其乐趣，必须要喜欢上测试，才会更有效地发现软件存在的隐藏问题。其次，我希望他有一定的技术基础，对于在校的研究生的技术水平，我的要求不高，只需要掌握最基本的</span>SQL<span style="font-family: 宋体">语句，会简单得</span>Linux<span style="font-family: 宋体">命令，懂得用</span>Java<span style="font-family: 宋体">或</span>C<span style="font-family: 宋体">写一个简单的程序，这些知识，是需要在项目中使用到的技术，同时也是学校的基础课程上的东西。最后，是他的态度和性格，我希望他是一个责任心很强、具有良好沟通能力和团队精神的人，测试根软件开发最大的不同是，开发工程师可以只关心自己所负责的模块或功能，而测试则要把握全局，需要跟不同的人去沟通，发现问题需要协助不同的人去定位和解决，测试是一个团队的工作，我希望招聘进来的人，能够很快地融进我们的团队中，谦虚地学习，踏实地工作。</span></p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">我的这三个要求，似乎真的很高，因为当我以这三个标准去衡量我的</span>candidate<span style="font-family: 宋体">的时候，我总是满怀希望地开始跟他们交谈，而又失望地与他们告别。首先是笔试的题目，至少有一半人，最基本的</span>SQL<span style="font-family: 宋体">和</span>Linux<span style="font-family: 宋体">命令都是没有把握地写进卷子的。&#8220;这份题目你觉得怎样啊？&#8221;我笑着问他们。&#8220;都是在学校学过的，不过忘记了，只要给我时间，我很快就会学会的。&#8221;果然都是名牌大学的研究生，那样的自信。&#8220;我们的工作要求有一定的</span>JAVA/Oracle/Linux<span style="font-family: 宋体">技术基础，如果给你时间，你要多长时间可以掌握呢？&#8221;&#8220;一两周就可以了。&#8221;&#8220;我们的招聘要求里面有些清楚这些要求吗？&#8221;&#8220;有。&#8221;&#8220;你从发简历到面试，大约多长时间了呢？&#8221;&#8220;两周左右。&#8221;&#8220;那你为什么不利用这两周把招聘要求中的技术都好好温习一下呢？&#8221;我仍然笑着问，只是接下来大多都是沉默。我发觉这个问题，真的能问倒所有人。其实，我不是想为难他们，只是，他们都是名牌大学研一或研二的学生啊，这些基础我当年大学三年级就已经可以灵活运用了，这些命令我也经常会忘记，但是，每次自己去面试之前，都会花些时间认真地复习一下招聘要求中的技术，有备而战。其实，我想看的是这个来面试的人，是否在来之前有认真地准备，我只是想看他对这个机会的态度。插一条记录到数据库中，居然有人用</span>add<span style="font-family: 宋体">，真叫我心疼！同事批评我说，别总拿态度来作要求，只要你给他培训两个月，什么技术不会？用</span>add<span style="font-family: 宋体">还是用</span>insert into<span style="font-family: 宋体">有什么关系？只要他足够聪明就可以了。态度真的不重要吗？我真的不需要他们有技术基础吗？他们真的可以没有任何基础就进来，这些技术，我两周的培训就可以让他们掌握，只是，他们的态度，我没信心让他们在两周之内扭转。当他们可以很高效地干活的时候，恐怕他们又要马上回学校去了。如果我培训的成本，已经远远高于我自己做的成本，那么，我宁愿自己辛苦一些。不要怪我以态度作为评判的准则。</span></p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">简历，是用人单位初步刷选的一份资料，有些简历看上去就像一份草稿，或者是所展示的资料并不符合我们的要求，通常我们都会放弃进一步去了解。有些人的简历做得很漂亮，好像什么都会，而且还有很多的项目经验，看上去似乎很有吸引力，但简历给人的印象未必就是真实的。每个公司都希望招聘进来的人可以有一定的项目经验，因为这意味着他们一进来就可以给公司干活了，可以节省很多的培训成本。我也喜欢有项目经验的人，我还很喜欢跟他们聊他们曾做过的一两个项目，因为在在这个互动的过程中，你可以看出他的思维、表达和技术。简历中的项目经验可以是假的，但在面试的时候就不能假了，在面试过程中的交流足以让我们判断出这个人的技术水平和思维能力。很多人，在简历中写着正在做的项目或一两个月之前做的项目，当我们问他有关系统的框架或某个功能的流程时，表达起来却是不够清晰，再深入一些去追问，回答就差强人意了。我在想，是因为他们不善于表达，还是他们本身没有深入理解过自己所做的项目，甚至是自己根本上就没有这些项目经验？企业或者也应该思考一下，是否应该给没有项目经验的人一些平等的机会，以免他们投其所好，将简历粉饰得很漂亮，但事实上又没有那样的真实。我可以理解他们，因为简历写上如果连项目经验都没有，可能他们就连面试的机会也没有了，只是，有了面试机会，但如果没有把握这个机会的实力或者没有做好把握机会的准备，有了也是白有。</span></p>
<p style="text-indent: 21.75pt"><span style="font-family: 宋体">我最看重的，是这个人是否具有测试的感觉以及兴趣，我希望他对自己的发展和选择是清晰的，我希望他能清楚自己为什么来应聘，如果他来只是纯粹的找一个工作机会，或是冲着公司的名气而来，而对于测试是什么，自己所选择的这个测试机会是否有利于自己的长远发展都不清楚，只是为了工作而工作，是否能够将他的潜力挖掘出来呢？我没把握。而这样的</span>candidate<span style="font-family: 宋体">，偏偏又不少。</span></p>
<img src ="http://www.blogjava.net/lijun_li/aggbug/193572.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2008-04-16 21:17 <a href="http://www.blogjava.net/lijun_li/archive/2008/04/16/193572.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件为什么失败！[转自testage]</title><link>http://www.blogjava.net/lijun_li/archive/2006/09/20/70863.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Wed, 20 Sep 2006 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2006/09/20/70863.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/70863.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2006/09/20/70863.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/70863.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/70863.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我从事软件开发工作已经有三年了				,				这三年中				,				亲眼所见				,				亲耳所闻				,				报纸				,				杂志				,				网络上有各种各样软件项目开发的经验和教训				,				总的感觉是				,				成功的少				,				而失败的多				,				有的是部分...&nbsp;&nbsp;<a href='http://www.blogjava.net/lijun_li/archive/2006/09/20/70863.html'>阅读全文</a><img src ="http://www.blogjava.net/lijun_li/aggbug/70863.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2006-09-20 17:37 <a href="http://www.blogjava.net/lijun_li/archive/2006/09/20/70863.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>建立高效的测试团队 (转自关河)</title><link>http://www.blogjava.net/lijun_li/archive/2006/09/05/67824.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Tue, 05 Sep 2006 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2006/09/05/67824.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/67824.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2006/09/05/67824.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/67824.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/67824.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 作者														:														段念																																																								          				曾经和一位担任测试经理不久的朋友和我谈到过他们部门建设的问题。刚开了个头，这位经理就急不可耐地倒起了苦水：				“...&nbsp;&nbsp;<a href='http://www.blogjava.net/lijun_li/archive/2006/09/05/67824.html'>阅读全文</a><img src ="http://www.blogjava.net/lijun_li/aggbug/67824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2006-09-05 16:02 <a href="http://www.blogjava.net/lijun_li/archive/2006/09/05/67824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件测试的常识（转自Testage）</title><link>http://www.blogjava.net/lijun_li/archive/2005/11/02/17867.html</link><dc:creator>lijun</dc:creator><author>lijun</author><pubDate>Wed, 02 Nov 2005 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/lijun_li/archive/2005/11/02/17867.html</guid><wfw:comment>http://www.blogjava.net/lijun_li/comments/17867.html</wfw:comment><comments>http://www.blogjava.net/lijun_li/archive/2005/11/02/17867.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/lijun_li/comments/commentRss/17867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lijun_li/services/trackbacks/17867.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件测试的常识（转自<SPAN lang=EN-US>Testage－测试时代</SPAN>）<BR></SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR><BR></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们这些测试工程师们必须采取强有力的检测措施来检测未发现的隐藏的软件缺陷。<SPAN lang=EN-US>&nbsp; <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">生产软件的最终目的是为了满足客户需求，我们以客户需求作为评判软件质量的标准，认为软件缺陷（<SPAN lang=EN-US>&nbsp;Software&nbsp;Bug&nbsp;</SPAN>）的具体含义包括下面几个因素：<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件未达到客户需求的功能和性能；<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件超出客户需求的范围；<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件出现客户需求不能容忍的错误；<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件的使用未能符合客户的习惯和工作环境。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">考虑到设计等方面的因素，我们还可以认为软件缺陷还可以包括软件设计不符合规范，未能在特定的条件（资金、范围等）达到最佳等。可惜的是，我们中的很多人更倾向于把软件缺陷看成运行时出现问题上来，认为软件测试仅限于程序提交之后。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在目前的国内环境下，我们几乎看不到完整准确的客户需求说明书，加以客户的需求时时在变，追求完美的测试变得不太可能。因此作为一个优异的测试人员，追求软件质量的完美固然是我们的宗旨，但是明确软件测试现实与理想的差距，在软件测试中学会取舍和让步，对软件测试是有百益而无一弊的。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">下面是一些软件测试的常识，对这些常识的理解和运用将有助于我们在进行软件测试时能够更好的把握软件测试的尺度。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>测试是不完全的（测试不完全）<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">很显然，由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素，哪怕是一个极其简单的程序，要想穷尽所有逻辑路径，所有输入数据和验证所有结果是非常困难的一件事情。我们举一个简单的例子，比如说求两个整数的最大公约数。其输入信息为两个正整数。但是如果我们将整个正整数域的数字进行一番测试的话，从其数目的无限性我们便可证明是这样的测试在实际生活中是行不通的，即便某一天我们能够穷尽该程序，只怕我们乃至我们的子孙都早已作古了。为此作为软件测试，我们一般采用等价类和边界值分析等措施来进行实际的软件测试，寻找最小用例集合成为我们精简测试复杂性的一条必经之道。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>测试具有免疫性（软件缺陷免疫性）<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件缺陷与病毒一样具有可怕的<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>免疫性<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>，测试人员对其采用的测试越多，其免疫能力就越强，寻找更多软件缺陷就更加困难。由数学上的概率论我们可以推出这一结论。假设一个<SPAN lang=EN-US>&nbsp;50000&nbsp;</SPAN>行的程序中有<SPAN lang=EN-US>&nbsp;500&nbsp;</SPAN>个软件缺陷并且这些软件错误分布时均匀的，则每<SPAN lang=EN-US>&nbsp;100&nbsp;</SPAN>行可以找到一个软件缺陷。我们假设测试人员用某种方法花在查找软件缺陷的精力为<SPAN lang=EN-US>&nbsp;X&nbsp;</SPAN>小时<SPAN lang=EN-US>&nbsp;/100&nbsp;</SPAN>行。照此推算，软件存在<SPAN lang=EN-US>&nbsp;500&nbsp;</SPAN>个缺陷时，我们查找一个软件缺陷需要<SPAN lang=EN-US>&nbsp;X&nbsp;</SPAN>小时，当软件只存在<SPAN lang=EN-US>&nbsp;5&nbsp;</SPAN>个错误时，我们每查找一个软件缺陷需要<SPAN lang=EN-US>&nbsp;100X&nbsp;</SPAN>小时。实践证明，实际的测试过程比上面的假设更为苛刻，为此我们必须更换不同的测试方式和测试数据。该例子还说明了在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷，因此软件测试应该尽可能的多采用多种途径进行测试。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>测试是<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>泛型概念<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>（全程测试）<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">我一直反对软件测试仅存在于程序完成之后。如果单纯的只将程序设计阶段后的阶段称之为软件测试的话，需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。需求缺陷、设计缺陷也是软件缺陷，记住<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>软件缺陷具有生育能力<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>。软件测试应该跨越整个软件开发流程。需求验证（自检）和设计验证（自检）也可以算作软件测试（建议称为：需求测试和设计测试）的一种。软件测试应该是一个泛型概念，涵盖整个软件生命周期，这样才能确保周期的每个阶段禁得起考验。同时测试本身也需要有第三者进行评估（信息系统审计和软件工程监理），即测试本身也应当被测试，从而确保测试自身的可靠性和高效性。否则自身不正，难以服人。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">另外还需指出的是软件测试是提高软件产品质量的必要条件而非充分条件，软件测试是提高产品质量最直接、最快捷的手段，但决不是一个根本手段。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;80-20&nbsp;</SPAN>原则<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">80%&nbsp;</SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">的软件缺陷常常生存在软件<SPAN lang=EN-US>&nbsp;20%&nbsp;</SPAN>的空间里。这个原则告诉我们，如果你想使软件测试有效地话，记住常常光临其高危多发<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>地段<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义。聪明的测试人员会根据这个原则很快找出较多的缺陷而愚蠢的测试人员却仍在漫无目的地到处搜寻。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">80-20&nbsp;</SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">原则的另外一种情况是，我们在系统分析、系统设计、系统实现阶段的复审，测试工作中能够发现和避免<SPAN lang=EN-US>&nbsp;80%&nbsp;</SPAN>的软件缺陷，此后的系统测试能够帮助我们找出剩余缺陷中的<SPAN lang=EN-US>&nbsp;80%&nbsp;</SPAN>，最后的<SPAN lang=EN-US>&nbsp;5%&nbsp;</SPAN>的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷，却无法保证能够发现所有的软件缺陷。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">80-20&nbsp;</SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">原则还能反映到软件测试的自动化方面上来，实践证明<SPAN lang=EN-US>&nbsp;80%&nbsp;</SPAN>的软件缺陷可以借助人工测试而发现，<SPAN lang=EN-US>&nbsp;20%&nbsp;</SPAN>的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分，因此尚有<SPAN lang=EN-US>&nbsp;5%&nbsp;</SPAN>左右的软件缺陷需要通过其他方式进行发现和修正。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>为效益而测试<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">为什么我们要实施软件测试，是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度。软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件测试存在的价值和意义。一般说来，在软件测试中我们应该尽量地保持软件测试简单性，切勿将软件测试过度复杂化，拿物理学家爱因斯坦的话说就是：<SPAN lang=EN-US>&nbsp;Keep&nbsp;it&nbsp;simple&nbsp;but&nbsp;not&nbsp;too&nbsp;simple&nbsp;</SPAN>。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>缺陷的必然性<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件测试中，由于错误的关联性，并不是所有的软件缺陷都能够得以修复。某些软件缺陷虽然能够得以修复但在修复的过程中我们会难免引入新的软件缺陷。很多软件缺陷之间是相互矛盾的，一个矛盾的消失必然会引发另外一个矛盾的产生。比如我们在解决通用性的缺陷后往往会带来执行效率上的缺陷。更何况在缺陷的修复过程中，我们常常还会受时间、成本等方面的限制因此无法有效、完整地修复所有的软件缺陷。因此评估软件缺陷的重要度、影响范围，选择一个折中的方案或是从非软件的因素（比如提升硬件性能）考虑软件缺陷成为我们在面对软件缺陷时一个必须直面的事实。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件测试必须有预期结果<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">没有预期结果的测试是不可理喻的。软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样。如果我们事先不知道或是无法肯定预期的结果，我们必然无法了解测试正确性。这很容易然人感觉如盲人摸象一般，不少测试人员常常凭借自身的感觉去评判软件缺陷的发生，其结果往往是把似是而非的东西作为正确的结果来判断，因此常常出现误测的现象。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">•<SPAN lang=EN-US>&nbsp;&nbsp;</SPAN>软件测试的意义<SPAN lang=EN-US>&nbsp;-&nbsp;</SPAN>事后分析<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件测试的目的单单是发现缺陷这么简单吗？如果是<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>是<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>的话，我敢保证，类似的软件缺陷在下一次新项目的软件测试中还会发生。古语说得好，<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>不知道历史的人必然会重蹈覆辙<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>。没有对软件测试结果进行认真的分析，我们就无法了解缺陷发生的原因和应对措施，结果是我们不得不耗费的大量的人力和物力来再次查找软件缺陷。很可惜，目前大多测试团队都没有意识到这一点，测试报告中缺乏测试结果分析这一环节。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">结论：<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; LINE-HEIGHT: 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">软件测试是一个需要<SPAN lang=EN-US>&nbsp;</SPAN>“<SPAN lang=EN-US>&nbsp;</SPAN>自觉<SPAN lang=EN-US>&nbsp;</SPAN>”<SPAN lang=EN-US>&nbsp;</SPAN>的过程，作为一个测试人员，遇事沉着，把持尺度，从根本上应对软件测试有着正确的认识，希望本文对读者对软件测试的认识有所帮助。<SPAN lang=EN-US>&nbsp;<o:p></o:p></SPAN></SPAN></P><img src ="http://www.blogjava.net/lijun_li/aggbug/17867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lijun_li/" target="_blank">lijun</a> 2005-11-02 18:28 <a href="http://www.blogjava.net/lijun_li/archive/2005/11/02/17867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>