談測(cè)試體系規(guī)范的推行
這幾天在考慮這么一個(gè)問題:測(cè)試被慢慢認(rèn)可了之后,為什么測(cè)試的價(jià)值還得不到體現(xiàn)?為什么測(cè)試體系還是得不到廣泛的推廣?以下是我個(gè)人的一些分析。
1、測(cè)試體系的整體概念
一直以來,我都覺得這個(gè)問題挺概念化的,就是說出來后讓人抓不住重點(diǎn)的感覺。要說某個(gè)具體的技術(shù)細(xì)節(jié),很明確。比如說Weblogic的調(diào)優(yōu),可能會(huì)有人很快聯(lián)想到:連接池、JVM、線程數(shù)等等。但是測(cè)試體系是什么?有點(diǎn)虛。
在多次聽測(cè)試人員的報(bào)怨之后,我覺得現(xiàn)有規(guī)范可能是影響測(cè)試體系建設(shè)的第一要素。當(dāng)然,領(lǐng)導(dǎo)還要強(qiáng)力支持。先說測(cè)試規(guī)范,后面再說其他因素的影響。
首先,要把軟件測(cè)試和質(zhì)量保證分開來。盡管現(xiàn)在大部分公司把測(cè)試人員叫做QA工程師,盡管這一叫法是錯(cuò)的(個(gè)人認(rèn)為是錯(cuò)的),還是被一些人屁顛屁顛接受并推廣去了。好吧,這些概念性的問題,我們先不認(rèn)真的追究了。測(cè)試體系在我的意識(shí)里是:為了盡可能找到系統(tǒng)的缺陷的和評(píng)估系統(tǒng),對(duì)應(yīng)測(cè)試需求,使用相應(yīng)的管理方式,按照流程和方法進(jìn)行系列的測(cè)試動(dòng)作,并最終產(chǎn)生符合規(guī)范的測(cè)試產(chǎn)品的過程描述。在這一過程中,有幾個(gè)詞是要體現(xiàn)在測(cè)試體系里的,就是:管理、流 程、規(guī)范、方法。
要推廣測(cè)試體系,首先要求的個(gè)人素質(zhì),就是要有整體的體系概念。這樣說起來好像有點(diǎn)太正式了,有點(diǎn)累。換個(gè)角度說:現(xiàn)在有沒有太多的人有測(cè)試體系的整體概念?如果有,知道不知道自己在這個(gè)體系中處在什么位置?職責(zé)是什么?
曾經(jīng)看到一些公司和人生套CMMI、RUP、ISO之類的規(guī)范標(biāo)準(zhǔn)(這幾套東西的角度是不一樣的),但是由于推廣的方式太生硬而導(dǎo)致人的意識(shí)轉(zhuǎn)換不過來。最后不了了之。盡管過了什么認(rèn)證,也是推倒重來,恢復(fù)舊制。理由很簡單:這些體系不適合我們,還是我們自己對(duì)體系比較清楚。測(cè)試體系也同樣如此。精髓沒有領(lǐng)會(huì)到,就生套,是不可能推廣開的。記得有人說,進(jìn)一家公司是一個(gè)“固化—僵化—優(yōu)化”的過程。而我覺得大部分人連固化還沒走出第一步,就覺得回頭才是岸了。
前一陣子為一個(gè)客戶推行測(cè)試體系,其實(shí)從技術(shù)角度來說,基本上都可以實(shí)現(xiàn)了。但是通過反復(fù)溝通,才知道客戶想要的體系只是要一個(gè)可控制的PDCA過程,于是我把體系整個(gè)給縮小了,客戶才覺得這是他要的。實(shí)際上很多內(nèi)容已經(jīng)刪減了。如果做一個(gè)項(xiàng)目的話,我覺得客戶要的這種是可以直接和做事相關(guān)的。而如果要為一個(gè)公司建立一套完整的體系,顯然這樣只能留下記錄,而留不下體系中其他的關(guān)鍵部分。
要讓相關(guān)人員有測(cè)試體系的整體概念。向與推行體系必然相關(guān)的人培訓(xùn)體系概念,闡述體系的優(yōu)點(diǎn)。當(dāng)然也會(huì)有缺點(diǎn),所以才需要變更流程。
2、利潤驅(qū)動(dòng)的影響
無可厚非,追求利潤永遠(yuǎn)是公司的第一要?jiǎng)?wù)。在很多時(shí)候,我們不得不為利潤讓路。有時(shí)候就是因?yàn)橐恢笔沁@樣,才導(dǎo)致了我們的測(cè)試體系不可能完全建立起來。我們只能繞著客戶轉(zhuǎn)。
最近大領(lǐng)導(dǎo)組織開了一個(gè)會(huì),就是建立一套完整的測(cè)試體系。在這個(gè)體系的各個(gè)部分,都有相應(yīng)的文檔來支持。當(dāng)時(shí)我畫了一個(gè)大概的思維框架圖,包括的內(nèi)容很廣泛;其中有每個(gè)職位上的人在什么樣的階段、按照什么流程和規(guī)范、做什么樣的事情、做成什么樣子,等等。都有相關(guān)的模塊來維護(hù)其完整性。領(lǐng)導(dǎo)一看,覺得不錯(cuò)。接下來就要提到如何落地。在參考了很多意見之后,決定落實(shí)成為一種可以按時(shí)間推移而實(shí)行的方法。但后來實(shí)際情況是:做事是需要時(shí)間的,在某些時(shí)候,一個(gè)人要兼顧好幾個(gè)事情,就不得不為與客戶有關(guān)的事情讓路。自從年后,我畫了一個(gè)小范圍內(nèi)的PDCA流程圖之后,就開始為客戶的一個(gè)方案而不停打字。這件事情,也就此放下。
這是暫時(shí)現(xiàn)象,還是大部分時(shí)候都是這樣?我想在其位的人一定深有體會(huì)。我們經(jīng)常可以看到聽到或者親身經(jīng)歷需求經(jīng)常變更的事情,不僅是業(yè)務(wù)需求,測(cè)試需求也是這樣。做事情的人不知道上層的人怎么想的,但是只有做事情的人知道怎么才能做得更完善。有時(shí),有些客戶只是要一個(gè)自己認(rèn)為重要的結(jié)果。其實(shí)對(duì)整個(gè)系統(tǒng)來說,這個(gè)結(jié)果意義并不大。我曾經(jīng)做過一些以客戶為核心的業(yè)務(wù)。比如,客戶只需要知道系統(tǒng)在當(dāng)前配置下的性能狀態(tài)。也許客戶只需要響應(yīng)時(shí)間,認(rèn)為用戶數(shù)是很關(guān)鍵的數(shù)據(jù)。于是他們迫切地想得到這個(gè)數(shù)據(jù),但是沒有考慮到整個(gè)系統(tǒng)的性能表現(xiàn)應(yīng)該是從不同角度來關(guān)注的。在這個(gè)過程中,其實(shí)我們可以關(guān)注一下如何做得更完善,從而逐步豐富體系。
如果僅從當(dāng)前項(xiàng)目出發(fā),個(gè)人認(rèn)為:從長遠(yuǎn)的發(fā)展來看,這種做法是會(huì)降低利潤的。當(dāng)然,沒有完整的體系。很多時(shí)候,我們做一件事情,可能重復(fù)了好多次,前后都沒有歷史資源可以借鑒。其實(shí)是有的,只是沒有人去整理。沒有形成知識(shí)管理庫。大部分公司以目錄式的結(jié)構(gòu)來管理文檔,這也沒有什么。但是文檔散亂得不成樣子,就讓人接受不了了。如果下定決心去做一個(gè)體系的建立,可能會(huì)導(dǎo)致當(dāng)前的事情會(huì)有些滯后,但是會(huì)讓后面的工作順利進(jìn)行。可能有人提出異議,認(rèn)為即使這樣也不見得能提高多少工作效率,于是舉出N個(gè)例子來說明。我只能說:創(chuàng)建的體系有問題,要變更。利潤驅(qū)動(dòng)的一個(gè)最大誤區(qū)就是:太關(guān)注眼前的利益而放棄了長遠(yuǎn)的利益。這和人生的規(guī)劃如出一轍。有些人花了四年的時(shí)候,好好學(xué)習(xí)大學(xué)課程,畢業(yè)后找工作,可以很快上手;而有些人玩了四年,出來后,找工作處處碰壁。
所以個(gè)人認(rèn)為,在利潤驅(qū)動(dòng)時(shí),不要忘記長遠(yuǎn)的利益規(guī)劃。在近期利潤可以平衡的前提下,應(yīng)該盡量以長遠(yuǎn)的眼光來看事情,一點(diǎn)一點(diǎn)積累。按流程說明來控制近期要做的事情,往往也不會(huì)增加太多工作量。只是需要在平時(shí)工作中灌輸體系控制的思想。
3、領(lǐng)導(dǎo)支持不力
和朋友聊天時(shí),說到公司里的測(cè)試人員不足,測(cè)試不被重視的現(xiàn)象,這是老生常談的話題。有很多人報(bào)怨:領(lǐng)導(dǎo)是如何如何不理解測(cè)試,如何如何不理解測(cè)試的重要性,等等。有個(gè)問題他們沒有描述到的是:測(cè)試帶來的直接和間接的利潤究竟是多少?這是個(gè)比較難確定的問題。但是如果這個(gè)問題回答不好,讓領(lǐng)導(dǎo)們感覺不到利潤的提升,想讓他們重視測(cè)試還是比較難的。還有一個(gè)大環(huán)境的問題:我們都知道測(cè)試行業(yè)的發(fā)展沒有幾年,或者說普遍認(rèn)識(shí)到測(cè)試的重要性還沒有幾年,以前只有少數(shù)人在做,而現(xiàn)在大部分人都意識(shí)到了應(yīng)該做測(cè)試。但僅是意識(shí)到而已,并沒有形成測(cè)試必做的傳統(tǒng)。那就意味著:可能是意識(shí)到了,但不知如何發(fā)展下去。
80年左右的人現(xiàn)在也差不多30歲左右了,這些人接受的教育和工作時(shí)做的測(cè)試可能稍微多一些,但是他們大部分是中層領(lǐng)導(dǎo)(普遍情況),或者說更多的是干活的人。中層領(lǐng)導(dǎo)要想推廣測(cè)試體系幾乎是不可能的事情。他們能做的只是局部更新。這是不是意味著,只有這一代中有測(cè)試體系的概念、并且身體力行的人做了上層領(lǐng)導(dǎo)后,才有可能推動(dòng)全面的測(cè)試體系?果真如是,恐怕還要等幾年了。商鞅變法成功是因?yàn)橛星匦⒐闹С郑匦⒐莻€(gè)天才領(lǐng)袖。而測(cè)試的天才領(lǐng)袖在哪兒?同樣有了天才領(lǐng)袖和可堪大用的人,還是要面對(duì)老世族的攻擊。而這場戰(zhàn)爭至少要打兩代人的時(shí)間。軟件測(cè)試體系如果要推行,縱然有人可以做,在大部分的企業(yè)里,估計(jì)也要等到媳婦熬成婆。
在其職,有其能,才能謀其事。所以這個(gè)要求的是個(gè)人的機(jī)會(huì)和能力。
4、執(zhí)行不力
這個(gè)問題出現(xiàn)的前提是第3點(diǎn)中的描述已經(jīng)不是問題。執(zhí)行碰到的最大問題是與舊制度的沖突。要知道,讓人改變一種習(xí)慣是很難的事情。要讓一個(gè)企業(yè)改變習(xí)慣,就更難。還記得在以前公司里推行ISO這個(gè)體系時(shí),開始時(shí),每個(gè)人學(xué)按照ISO來做些事情還可以。但突然改變以前的習(xí)慣很難受。終于到了不能承擔(dān)的時(shí)候,還是恢復(fù)了舊制度。ISO相關(guān)的內(nèi)容成了公司在市場上的一個(gè)說辭。但是為了滿足這個(gè)體系,公司每到要再次評(píng)審的時(shí)候,要耗費(fèi)大量人力來再次修正。
執(zhí)行不力的另一個(gè)大問題是意識(shí)不到體系的重要性。從而得不到廣泛的支持。很多人在報(bào)怨的同時(shí),沒有考慮到一個(gè)本質(zhì)的問題:就是自己處在什么樣的位置上,應(yīng)該負(fù)什么樣的責(zé)任,這件事情是這個(gè)職位上做得了的事情嗎?這一點(diǎn)我反復(fù)強(qiáng)調(diào),就是因?yàn)楝F(xiàn)在很多職位的責(zé)任不清晰。直接導(dǎo)致了很多人都覺得做了自己不應(yīng)該做的事。這一點(diǎn)在體系中會(huì)通過角色職責(zé)做清楚的描述。所以要讓每個(gè)人理解到整個(gè)體系存在的必要性,再來理解個(gè)人的角色職責(zé)就不會(huì)出現(xiàn)這個(gè)問題。這樣使體系的執(zhí)行也就更有中堅(jiān)基礎(chǔ)。
這個(gè)問題要依賴第3點(diǎn)中的問題解決。就是要有相應(yīng)權(quán)力的人推行。這是最直接的。要不然還是比較麻煩。
5、人治還是體系方法治?
此部分只講述軟件測(cè)試方面的內(nèi)容,不妄言公司的全面管理。
我們知道具體的技術(shù)細(xì)節(jié)是有方法可以參考的,比如測(cè)試用例的覆蓋率,是可以從技術(shù)角度來計(jì)算出來的(計(jì)算需要時(shí)間和相應(yīng)知識(shí)支撐)。但是,在大部分情況下,我們碰到的現(xiàn)象還是:領(lǐng)導(dǎo)分配哪個(gè)模塊讓誰來負(fù)責(zé)測(cè)試,這個(gè)測(cè)試人員只從業(yè)務(wù)角度來寫瀑布似的用例描述,最后執(zhí)行這個(gè)測(cè)試用例。這樣的覆蓋率是沒辦法計(jì)算的。而有些人還妄圖從這樣的執(zhí)行結(jié)果中去計(jì)算覆蓋率。最后只能不了了之。這里導(dǎo)致了一個(gè)后果就是測(cè)試的充分性得不到保障,發(fā)布后的系統(tǒng)又出現(xiàn)新問題并且沒有人為此承擔(dān)責(zé)任。這就是拍腦袋形成的現(xiàn)象。
我們知道,人治是一種主觀的判斷。我覺得你不行,我是領(lǐng)導(dǎo),你就是不行。這樣的描述讓人清晰地感覺到:一個(gè)人的職位和他的主觀判斷嚴(yán)重影響到后續(xù)的質(zhì)量。我記得看過一句話:一個(gè)公司的老板的個(gè)人素質(zhì)決定了這個(gè)公司的企業(yè)文化和前途。暫不說這句話的合理性,應(yīng)該有很多人同意這句話說的是對(duì)的。所謂仁政、周禮、井田制,已經(jīng)在很多人的潛意識(shí)里扎下了根。
那體系方法治呢,明確了一些扯不清的職責(zé),也讓人在項(xiàng)目的各個(gè)階段中,知道了自己應(yīng)該做什么,做成什么樣子。做不到,要么是能力不行,要么是規(guī)范有問題,需要變更。在經(jīng)過裁決之后,如果是前者,可以通過換人、培訓(xùn)等手段解決;如果是后者變更體系方法就好了。不會(huì)出現(xiàn)頭腦一暈、停滯不動(dòng)的現(xiàn)象。也不會(huì)出現(xiàn)像有些人說的,我現(xiàn)在腦子都大了,不知道領(lǐng)導(dǎo)到底要我做什么,也不知道做成什么樣子,才算是領(lǐng)導(dǎo)滿意了。這里說的是公司內(nèi)部,如果涉及到客戶,其判斷的規(guī)范標(biāo)準(zhǔn)就是客戶的滿意度。從大結(jié)構(gòu)上理解各個(gè)層面,然后去做,這是我認(rèn)為有效的控制質(zhì)量的辦法。
那是不是說體系治就萬無一失了呢?當(dāng)然不是,因?yàn)槭率侨俗龅模婕暗饺耍償?shù)就很大的。還是需要人治的輔助。靈活綜合運(yùn)用,才能見實(shí)效。建議固化體系制度為根本。當(dāng)形成強(qiáng)大的體系傳統(tǒng)時(shí)才考慮人治參與其中,但一定要有所側(cè)重,并在見到實(shí)效后立即回歸體系制度。
6、什么是適合的體系?
在交流中我發(fā)現(xiàn)很多人把體系看得很死,好像說到CMMI就應(yīng)該按初始級(jí)、管理級(jí)、已定義級(jí)、量化管理級(jí)、最佳化級(jí)一層層發(fā)展上去,或者說到RUP就得按照先啟、精化、構(gòu)造、移交這樣的步驟來做。我想說的是,如果你要過CMMI的認(rèn)證,完全有按照要求做的必要。而要是我們覺得都不適合,完全可以自己去制定一個(gè)體系,借鑒是沒有問題的,只要符合就行。并且,這些建議采納不采納,也是我們自己決定的。要做,就落到實(shí)地來做。別空擺一個(gè)架子。而有些人有潛意識(shí) 里的排斥心理:我們要有自己的流程,我們不按照任何成熟的流程來做。好像自己拍拍腦袋,體系就出來了。搞到最后,依舊是不了了之。從規(guī)劃到實(shí)現(xiàn),不管是對(duì)的錯(cuò)的,如果只有規(guī)劃沒有實(shí)現(xiàn),是如何也無法落地的。
所以有畫餅的能力,也要有把餅做成的能力。
7、總結(jié)
當(dāng)有了整體的測(cè)試體系概述之后,即使有利潤驅(qū)動(dòng),也應(yīng)該與此同時(shí)關(guān)注一下體系的建立。因?yàn)榭蛻魧?duì)公司的測(cè)試需求也是在測(cè)試體系之內(nèi)的。再加上有領(lǐng)導(dǎo)的支持和一批有執(zhí)行力的人推廣整個(gè)體系,測(cè)試體系才會(huì)有可能發(fā)展起來。而在這一過程中,盡可能避免人治的手段。只有這樣才能使體系有生存的空間,否則將使苦心建立的體系很快就蕩然無存。
posted on 2011-11-18 14:49 順其自然EVO 閱讀(155) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄