原文地址: Cheezburgers and Testing Advice
作者:Alan Myrvold,軟體安全高階測試工程師
1. 想客戶之所想
在測試的過程中時刻想著使用者。培養自己對使用者需求的共鳴。和使用者溝通並且觀察他們怎們樣使用你的軟體。
2. 多讀Bug
如果你和一個團隊的軟體測試工程師一起工作,那麼請閱讀 他們每天發的Bug, 特別是那些針對你的測試部分的Bug 。你可以從別人如何找到Bug中學到很多東西。
3. 多讀程式碼
找到你測試的那部分功能的程式碼。雖然寫程式碼並不是你的事,但是讀那些程式碼常常會幫助你找到潛在的邊際情況和軟體缺陷。
4. 為你發現的Bug而驕傲
促成一個軟體Bug的修復是從寫好Bug標題和描述開始的。我每次發完一個Bug都會把這個Bug重讀一遍以確保它是合理的並提供恰倒好處的細節。如果一些重要的Bug 沒有被糾正,要追根究底,確保決定和利弊權衡是正確的。
5. 參加軟體功能的設計
在軟程式碼編寫之前,在仍有可能有大的設計變更的時候,積極參加軟體的計劃階段,這會幫助你瞭解正被考慮的折衷和權衡。
6. 設計你的測試
無論是尋找邊界值,運用組合技術,畫圖表,或建立測試模型,把你的想法放進你的測試設計中總是有用的。在試探性測試的時候,有意識地去交替你的測試計劃和產品學習。
7. 瞭解你測試的功能
不管你測試的是那一塊功能,你應該瞭解它的設計,它的侷限性,別人發現的Bug,程式碼的變動,以及它和其它功能間的互動關係。
8. 和別人合作測試你負責的部分
和有不同專長的人一起測試你的功能模組,一起討論測試的點子並且徵詢他們的反饋意見。
9. 學習你測試的軟體
即使你只是測試一個軟體中的很小一部分,成為其它新功能和整個軟體的專家都會幫助你成為一個更好的測試工程師。
10. 培養和開發人員的良好關係
測試工作有時候是對抗性的,以致很容易使有些與你共事的人在做決定時忽略你的意見。與修復Bug的開發人員建立堅實的關係對了解最新進展和促成Bug的修復會有裨益。
11. 擴大你的領域和人際網路
成功的人都有一個的堅實可信的交際圈。他們可以從中得到他們需要的專業知識和建議。不斷在你的公司內部和外部結交新朋友並發展專業領域的聯絡。
12. 尋找良師或榜樣
我和許多出色的測試工程師一起工作過,並且從他們那裡學到了很多東西。為了提高你的測試技能,你應該尋找“顧問”與他們見面或者榜樣向他們效仿。
13. 保持自省
測試工程師善於發現軟體的缺陷。如果把這種敏銳運用到自己身上,我們一定能更有效的發現自身的不足之處。
14. 管理你的時間
我們的時間很容易被大塊的工作和不斷的會議所佔據,導致我們沒有時間去學習,去深挖更多的Bug,甚至沒有時間保持健康的生活狀態。為了避免透支,你需要學習如何管理你的時間。
15. 明智地選擇測試自動化
自動化測試可能缺乏熟練測試人員的那種“餘光視力”。不正確的自動化有時會變成一推龐大而難以維護的程式碼,並且對衡量軟體質量沒有什麼實際意思。但是精心設計的自動化測試有助於及早發現軟體缺陷。
16. 提高你的程式設計能力
我遇到過一些很有天賦的測試人員,他們傾向於不去寫程式碼。這有一定道理。就像電影評論家在變得挑剔而富有陳見後不會去考慮電影觀眾的喜惡一樣,在我充當程式設計員的角色時,我想的就不再和使用者一樣了。但是程式設計還是一項有價值的技能,他能幫助你更好地閱讀程式碼,理解產品的內在,同時幫助你寫一些小工具使得平淡反覆的工作變得簡單。
17. 參加Bug的審閱 (Triage)
在產品釋出前的最後一些日子裡,Bug審閱組開會決定哪一些Bug應該修復,哪一些應該留到以後的版本去修復。如果你通常不在這個會議的邀請名單中,那麼去主動要求參加。你會看到在測試員信譽,使用者影響和已知風險等因素間做出折衷決定的過程。這將會是一種非常有趣的經歷。
18. 不斷學習
不管是“軟技能”,比如公開演講, 或者程式語言,亦或新的測試技術,成功的測試工程師總是會從繁忙中抽出時間來堅持學習。
19. 愛你所做的事,並把它做好
如果你不能承擔放棄當前工作的代價,那麼就學著去熱愛它。測試人員有時會變得嫉世憤俗,尤其是在困難的釋出週期中。享受工作並且不滿足於僅僅完成計劃內目標的人才會成為優秀的測試工程師。
譯者:黃捷(軟體測試開發工程師)