正在閱讀一本很棒的書,《軟件測試經(jīng)驗與教訓(xùn)》。幾名國外的軟件測試大師,以大量的測試工作實戰(zhàn)經(jīng)驗為出發(fā)點,總結(jié)了深刻而精悍的兩百多條經(jīng)驗。作者把這些經(jīng)驗比喻成為波爾多紅酒,鼓勵讀者分散閱讀,帶入自己的工作實際情境,慢慢細品,深入思考。當(dāng)然還有,不要獨攤波爾多,分享給我的朋友、同事們!

  《軟件測試經(jīng)驗與教訓(xùn)》一書,討論的第一個話題,是關(guān)于測試人員的角色定位。我對這個話題討論的個人理解是:清晰認識自己的角色定位,能夠幫助測試人員明確對自己工作目標(biāo)的預(yù)期。而清楚的認識測試人員的角色定位,對于公司、項目的其他成員來說,可以使他們對于測試工作的“期待”更加恰當(dāng),即使是“指責(zé)”,也更恰如其分。關(guān)于這個話題,以下是對于書中部分經(jīng)驗的理解或討論。

  “測試員是前燈”

  研發(fā)經(jīng)理和開發(fā)人員或許正開著一輛吉普,行進在盤山公路上,測試人員的職責(zé)是做好探路的前燈,哪里是懸崖,哪里有險情,前方的路面情況如何……而產(chǎn)品或者項目的關(guān)鍵決策,都是基于這些信息的。測試人員的職責(zé)是將關(guān)于這一切的盡可能詳細的信息告知公司或項目的其他成員。

  是這樣的角色:全面搜集、整理、報告信息

  不是這樣的角色:決策者

  “迅速找出重要的程序問題”

  測試人員很重要的一條使命是“迅速找出重要的程序問題”。如何做好這點,書中給出了幾條建議。他們看上去很簡單,很質(zhì)樸,似乎每個人都知道,但是在實際工作方法中有經(jīng)常性地提醒自己或者潛意識中使用這幾條建議么?所謂大道至簡。

  *首先測試經(jīng)過變更的部分,修改和更新都意味著新的風(fēng)險

  *首先測試核心功能,測試產(chǎn)品所完成的關(guān)鍵和常用功能,測試完成產(chǎn)品基本任務(wù)的功能

  *首先測試能力,即每個基本功能是否能用,然后測試可靠性,即深入檢查每個功能在不同條件下的表現(xiàn)

  *首先測試常見情況,使用常用的數(shù)據(jù)和使用情境。然后測試特殊情況。

  *首先測試影響重大的問題

  *優(yōu)先測試需要的部分--對團隊其他成員有重要意義的任何部分的任何問題

  *測試人員對產(chǎn)品、相關(guān)軟硬件、產(chǎn)品的終用戶越了解,越可能更快地找出重要問題。

  “Follow 開發(fā)人員”

  為開發(fā)人員提供支持,這也是測試人員的一項重要使命。盡可能建立短、快的反饋環(huán)路--開發(fā)人員交付產(chǎn)品時,馬上進行測試;開發(fā)人員修改變更代碼后,馬上測試變更的內(nèi)容(trunk版本的測試即是此種情況)。在書中,幾位測試大師認為,理想的情況是,開發(fā)人員為了修改測試人員發(fā)現(xiàn)的缺陷而忙得團團轉(zhuǎn),是開發(fā)人員,而不是測試人員,成為項目的瓶頸。當(dāng)然,老板可能不會認為這個情況理想:)

  “詢問一切,但不一定外露”

  多提問。做測試時,遇到的情況千變?nèi)f化,不可能不遇到問題。如果真的連續(xù)地進行測試工作,而沒有任何問題可提,那么不妨?xí)和R幌率稚系臏y試工作,留給自己一些思考的空間,還是那個論斷,不可能沒有問題。

  書中提到提問的方法,認為直白的提問如一劑猛藥,會刺激到別人,所以盡量減低劑量,或與米飯同吃(結(jié)合其他溝通形式)。這個的確是個不錯的經(jīng)驗建議,在面對開發(fā)人員、產(chǎn)品需求設(shè)計人員、實施人員等同事時,可以盡量采用這樣的提問方式。當(dāng)然,在面對測試部門同事、主管時,個人覺得,直接提問會更有效率。
$news_paage$

  “測試人員關(guān)注缺陷,團隊成員才能關(guān)注成功”

  “確認程序正!庇肋h不可能是測試人員的使命,測試人員只能說,“我所執(zhí)行的測試來說,產(chǎn)品沒有不正!。測試人員是團隊中不直接關(guān)注成功的角色。測試人員的關(guān)注點注定只能在關(guān)注產(chǎn)品缺陷上,而不能在關(guān)注證明產(chǎn)品正常上。測試人員關(guān)注缺陷,用自己的全部的創(chuàng)造力、精力和技能,尋找產(chǎn)品客觀存在的缺陷,幫助項目團隊更加了解自己的技能和產(chǎn)品風(fēng)險,將產(chǎn)品不斷改進。否則,這塊關(guān)注點,只能由客戶來關(guān)注了。那么團隊,也注定失敗。

  是這樣的角色:關(guān)注產(chǎn)品缺陷

  不是這樣的角色:關(guān)注產(chǎn)品的成功

  “不會發(fā)現(xiàn)所有問題”

  測試人員的任務(wù)是發(fā)現(xiàn)并報告重要的產(chǎn)品缺陷,但是不會發(fā)現(xiàn)所有的產(chǎn)品缺陷。如果測試人員覺得自己可以發(fā)現(xiàn)所有的產(chǎn)品問題,那么要么是產(chǎn)品非常簡單,要么是測試人員想象力太差。

  知道并承認自己不能做所有的事以后,學(xué)會選擇如何使用和分配自己的時間。

  “不要期待用測試工作來保證產(chǎn)品質(zhì)量”

  產(chǎn)品質(zhì)量來源于構(gòu)建產(chǎn)品的人。測試人員的測試和缺陷報告,提供的是促進產(chǎn)品質(zhì)量保證的信息,但是這種質(zhì)量保證是來自整個團隊的。

  是這樣的角色:提供關(guān)于產(chǎn)品質(zhì)量的信息

  不是這樣的角色:保證產(chǎn)品質(zhì)量

  “永遠別做看門人”

  測試人員不該獨立擁有控制產(chǎn)品發(fā)布的權(quán)利。權(quán)利即是責(zé)任。獨立擁有權(quán)利的后果是致使其他團隊成員心理上放松,并且有了推卸責(zé)任的理由--如果產(chǎn)品發(fā)版后出現(xiàn)重要問題,會歸咎于測試人員的把關(guān)不嚴。而如果測試人員為了避免這樣的風(fēng)險,而糾結(jié)于反復(fù)的完備的測試,那會延誤產(chǎn)品發(fā)布的計劃時間,引起諸方不滿。所以,產(chǎn)品發(fā)布的權(quán)利,還是需要項目經(jīng)理把握,或者是某種方式的集體決定。

  是這樣的角色:產(chǎn)品質(zhì)量的測試者和相關(guān)信息的提供者

  不是這樣的角色:決定產(chǎn)品發(fā)布

  “當(dāng)心扮演過程改進的批評者角色”

  測試時發(fā)現(xiàn)種種問題,并且頻繁反復(fù)出現(xiàn)時,也許測試人員會厭煩地覺得,要是開發(fā)人員能夠認真細致一些,或許不會出現(xiàn)這么多的產(chǎn)品缺陷了。把產(chǎn)品缺陷預(yù)防在未發(fā)生的時刻,這確實很有意義。但是不一定每件有意義的事情,都是想當(dāng)然的可行的。事情除了理性的一面,還有情感的一面。像告訴你的愛人,怎么樣的生活才能更有生命的意義。如果嘗試一下會知道,好的忠告并不是總能被真正接受。問題不在于是否認識到,而在于情感。測試人員可以參與到公司、團隊的整體過程改進中去,但是切記,不要扮演一個“批評者的角色”。因為這涉及同事間的情感。

  是這樣的角色:信息提供者

  不是這樣的角色:批評者