我起初準備自己寫(xiě)10條建議給剛入門(mén)的軟件測試員們。但之后我看了lolcats/icanhascheezburger 上的名人Ben Huh的一段演講。Ben指出,有了互聯(lián)網(wǎng),信息成了免費資源,但組織,編輯,以及表達卻都需要技巧。受Ben和cheezburger網(wǎng)站的啟發(fā),我請求60名成功的軟件測試工程師每人為剛入門(mén)的測試人員提出三條建議。其中的40多名答復了我,使我最終有了一個(gè)長(cháng)達100條的建議列表。
出于保護他們的隱私,我不會(huì )原封不動(dòng)的把這些建議羅列出來(lái)。但是有趣的是,我發(fā)現他們的建議中有很多共同的地方,而所有這些建議加起來(lái)要比我原先自己想到的好得多了。
我把這些我搜集的建議總結成以下19項:
1. 想客戶(hù)之所想
在測試的過(guò)程中時(shí)刻想著(zhù)用戶(hù)。培養自己對用戶(hù)需求的共鳴。和用戶(hù)溝通并且觀(guān)察他們怎們樣使用你的軟件。
2. 多讀Bug
如果你和一個(gè)團隊的軟件測試工程師一起工作,那么請閱讀 他們每天發(fā)的Bug, 特別是那些針對你的測試部分的Bug 。你可以從別人如何找到Bug中學(xué)到很多東西。
3. 多讀代碼
找到你測試的那部分功能的代碼。雖然寫(xiě)代碼并不是你的事,但是讀那些代碼常常會(huì )幫助你找到潛在的邊際情況和軟件缺陷。
4. 為你發(fā)現的Bug而驕傲
促成一個(gè)軟件Bug的修復是從寫(xiě)好Bug標題和描述開(kāi)始的。我每次發(fā)完一個(gè)Bug都會(huì )把這個(gè)Bug重讀一遍以確保它是合理的并提供恰倒好處的細節。如果一些重要的Bug 沒(méi)有被糾正,要追根究底,確保決定和利弊權衡是正確的。
5. 參加軟件功能的設計
在軟代碼編寫(xiě)之前,在仍有可能有大的設計變更的時(shí)候,積極參加軟件的計劃階段,這會(huì )幫助你了解正被考慮的折衷和權衡。
6. 設計你的測試
無(wú)論是尋找邊界值,運用組合技術(shù),畫(huà)圖表,或創(chuàng )建測試模型,把你的想法放進(jìn)你的測試設計中總是有用的。在試探性測試的時(shí)候,有意識地去交替你的測試計劃和產(chǎn)品學(xué)習。
7. 了解你測試的功能
不管你測試的是那一塊功能,你應該了解它的設計,它的局限性,別人發(fā)現的Bug,代碼的變動(dòng),以及它和其它功能間的交互關(guān)系。
8. 和別人合作測試你負責的部分
和有不同專(zhuān)長(cháng)的人一起測試你的功能模塊,一起討論測試的點(diǎn)子并且征詢(xún)他們的反饋意見(jiàn)。
9. 學(xué)習你測試的軟件
即使你只是測試一個(gè)軟件中的很小一部分,成為其它新功能和整個(gè)軟件的專(zhuān)家都會(huì )幫助你成為一個(gè)更好的測試工程師。
10. 培養和開(kāi)發(fā)人員的良好關(guān)系
測試工作有時(shí)候是對抗性的,以致很容易使有些與你共事的人在做決定時(shí)忽略你的意見(jiàn)。與修復Bug的開(kāi)發(fā)人員建立堅實(shí)的關(guān)系對了解最新進(jìn)展和促成Bug的修復會(huì )有裨益。
11. 擴大你的領(lǐng)域和人際網(wǎng)絡(luò )
成功的人都有一個(gè)的堅實(shí)可信的交際圈。他們可以從中得到他們需要的專(zhuān)業(yè)知識和建議。不斷在你的公司內部和外部結交新朋友并發(fā)展專(zhuān)業(yè)領(lǐng)域的聯(lián)系。
12. 尋找良師或榜樣
我和許多出色的測試工程師一起工作過(guò),并且從他們那里學(xué)到了很多東西。為了提高你的測試技能,你應該尋找“顧問(wèn)”與他們見(jiàn)面或者榜樣向他們效仿。
13. 保持自省
測試工程師善于發(fā)現軟件的缺陷。如果把這種敏銳運用到自己身上,我們一定能更有效的發(fā)現自身的不足之處。
14. 管理你的時(shí)間
我們的時(shí)間很容易被大塊的工作和不斷的會(huì )議所占據,導致我們沒(méi)有時(shí)間去學(xué)習,去深挖更多的Bug,甚至沒(méi)有時(shí)間保持健康的生活狀態(tài)。為了避免透支,你需要學(xué)習如何管理你的時(shí)間。
15. 明智地選擇測試自動(dòng)化
自動(dòng)化測試可能缺乏熟練測試人員的那種“余光視力”。不正確的自動(dòng)化有時(shí)會(huì )變成一推龐大而難以維護的代碼,并且對衡量軟件質(zhì)量沒(méi)有什么實(shí)際意思。但是精心設計的自動(dòng)化測試有助于及早發(fā)現軟件缺陷。
16. 提高你的編程能力
我遇到過(guò)一些很有天賦的測試人員,他們傾向于不去寫(xiě)代碼。這有一定道理。就像電影評論家在變得挑剔而富有陳見(jiàn)后不會(huì )去考慮電影觀(guān)眾的喜惡一樣,在我充當編程員的角色時(shí),我想的就不再和用戶(hù)一樣了。但是編程還是一項有價(jià)值的技能,他能幫助你更好地閱讀代碼,理解產(chǎn)品的內在,同時(shí)幫助你寫(xiě)一些小工具使得平淡反復的工作變得簡(jiǎn)單。
17. 參加Bug的審閱 (Triage)
在產(chǎn)品發(fā)布前的最后一些日子里,Bug審閱組開(kāi)會(huì )決定哪一些Bug應該修復,哪一些應該留到以后的版本去修復。如果你通常不在這個(gè)會(huì )議的邀請名單中,那么去主動(dòng)要求參加。你會(huì )看到在測試員信譽(yù),用戶(hù)影響和已知風(fēng)險等因素間做出折衷決定的過(guò)程。這將會(huì )是一種非常有趣的經(jīng)歷。
18. 不斷學(xué)習
不管是“軟技能”,比如公開(kāi)演講, 或者編程語(yǔ)言,亦或新的測試技術(shù),成功的測試工程師總是會(huì )從繁忙中抽出時(shí)間來(lái)堅持學(xué)習。
19. 愛(ài)你所做的事,并把它做好
如果你不能承擔放棄當前工作的代價(jià),那么就學(xué)著(zhù)去熱愛(ài)它。測試人員有時(shí)會(huì )變得嫉世憤俗,尤其是在困難的發(fā)布周期中。享受工作并且不滿(mǎn)足于僅僅完成計劃內目標的人才會(huì )成為優(yōu)秀的測試工程師。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/