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