漫談軟件測試工程師的角色定位 (轉(zhuǎn)) 值得學(xué)習(xí)!
Posted on 2006-07-11 23:08 oxl 閱讀(103) 評論(0) 編輯 收藏 所屬分類: 技術(shù)感語經(jīng)理、系統(tǒng)分析師、程序員、測試工程師、質(zhì)量保證人員等。可見,軟件測試工程師只是軟件項目開發(fā)中的一個角色而已。
???
戲劇舞臺上的生、旦、丑是不同的角色,其表演方式具有明顯的特征,這是由于角色決定的。同樣,軟件測試工程師的角色,在軟件項目開發(fā)中也存在如何定位和表現(xiàn)自身的行為和責(zé)任的問題。
???
此處討論測試工程師的角色并非毫無意義。須知,角色不明,責(zé)任不清,行為就失去了參照目標,結(jié)果就可能很不理想了。輕則降低了工作質(zhì)量和效率,重則被視為工作能力低下,可能要退出軟將項目組的舞臺了。
???
軟件測試工程師承擔(dān)的任務(wù)
???
角色決定工作內(nèi)容和承擔(dān)的任務(wù)。測試工程師的角色應(yīng)該承擔(dān)什么任務(wù)呢?這沒有統(tǒng)一的答案。因為,這與軟件公司的規(guī)模,軟件項目管理制度,公司領(lǐng)導(dǎo)和項目經(jīng)理的管理風(fēng)格,以及具體軟件項目自身的特點有很大關(guān)系。而且,測試工程師也有普通和高級之分。
???
籠統(tǒng)的答案列舉如下:
??設(shè)置軟件測試環(huán)境,安裝必要的軟件工具。
??運行軟件,發(fā)現(xiàn)和報告軟件缺陷或錯誤。尤其需要快速定位軟件中的嚴重的錯誤。
??對軟件整體質(zhì)量提出評估
??確認軟件達到某種具體標準
??以最低的成本,最短的時間,完成高質(zhì)量的測試任務(wù)
??......
???
在這其中,最重要的是要明確,程序員的責(zé)任和目標。在執(zhí)行任何具體測試任務(wù)前,都要在項目組內(nèi)對于責(zé)任和目標達成共識,以免帶來后續(xù)工作的相互推諉。
???
提高測試質(zhì)量的要訣
???
另外一個值得注意的方面就是工作效率和質(zhì)量,或許高級測試工程師與普通測試工程師的主要區(qū)別在于高級測試工程師可以更快地發(fā)現(xiàn)更多軟件中的嚴重錯誤。對此,有什么可以借鑒的訣竅嗎?請嘗試以下方法,保證不會是您失望。
??首先測試程序的核心功能,然后測試輔助功能。
??首先測試功能,然后測試性能。
??首先測試常見情況,然后測試異常情況。
??首先測試經(jīng)過變更的部分,然后測試沒有變更的部分。
??首先測試影響大的問題,然后測試影響小的問題。
??首先測試必須測試的部分,然后測試可選或沒有要求測試的部分
??
?軟件測試工程師是項目團隊中的服務(wù)員
??? 需要強調(diào)的一點是,無論你是多么高級的測試工程師,都要明白無論測試需要的工具多么復(fù)雜,測試步驟多么冗長,測試工程師在軟件項目開發(fā)中始終都是扮演服務(wù)員的角色,這是由測試工作的特點決定的。任何服務(wù)都有被服務(wù)對象—客戶,軟件測試工程師的服務(wù)對象有哪些呢?
??最重要的客戶是軟件的用戶。測試工程師需要站在客戶的使用和需求角度測試軟件,報告問題。
??項目經(jīng)理也是客戶。測試工程師需要報告測試工作進度和發(fā)現(xiàn)的問題,尤其是嚴重的問題。
??程序員是最經(jīng)常打交道的客戶。為了便于程序員重復(fù)報告的錯誤,盡量提供良好的軟件問題報告,以便程序員可以更快的修復(fù)軟件錯誤。
??技術(shù)文檔工程師、市場開發(fā)人員和技術(shù)支持工程師也都是測試工程師的服務(wù)對象。
??? 軟件測試工程師避免犯的幾個錯誤
??? 前文已經(jīng)指出測試工程師應(yīng)該明確角色,明確任務(wù)和責(zé)任。知道哪些是自己份內(nèi)的事,哪些是不屬于自己的事。一定要盡最大努力完成份內(nèi)的事,不要做不屬于自己的事情,以免弄巧成拙。
?
??? 為了更好的扮演軟件測試工程師的角色,盡量避免犯下面的錯誤:
?
??承諾完成測試的軟件沒有質(zhì)量問題
??? 軟件測試只是保證質(zhì)量的一種方法,軟件測試工程師的工作不會直接提高軟件質(zhì)量,因為絕大多數(shù)軟件錯誤都需要程序員修復(fù)。軟件測試只能證明軟件存在錯誤,不能保證軟件沒有錯誤,不可能找出全部軟件錯誤。個人的能力和對質(zhì)量的影響范圍很小,軟件質(zhì)量的提高要靠軟件項目團隊全體成員的共同努力。
??承擔(dān)軟件的發(fā)布權(quán)利
??? 不要因為軟件中存在還沒有修復(fù)的錯誤,而試圖提出更改軟件發(fā)布的計劃。也不要認為已經(jīng)完成了測試計劃,自己決定可以發(fā)布軟件。因為,改變軟件發(fā)布計劃可能要失去進入市場的良機和很多客戶,對此造成的經(jīng)濟和公司市場的損失將不是測試工程師能夠承擔(dān)的。另外,軟件發(fā)布后,如果用戶發(fā)現(xiàn)了新的軟件錯誤,公司領(lǐng)導(dǎo)或項目經(jīng)理可能將過錯加在軟件測試人員的頭上,因為他們同意發(fā)布軟件。通常軟件發(fā)布的權(quán)利由產(chǎn)品經(jīng)理、項目經(jīng)理、測試經(jīng)理、市場經(jīng)理共同集體討論決定。
?
??扮演過程改進成員的角色
??? 軟件測試工程師必須報告錯誤,有時也要分析錯誤的類型、特征和產(chǎn)生錯誤的原因。但是,不要主動提出改進軟件過程的具體改進措施,更不要直接干涉程序員的工作方式,以免出力不討好,影響今后的愉快合作。軟件過程改進的方法是軟件質(zhì)量控制部門的事情,這是他們的本職工