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