問題描述:
如何組建性能測試團隊?
精彩答案:
會員 fatfish:
隨著軟件應用的越來越廣泛,軟件產品的規模和使用群體正在呈爆發式增長,因此性能測試越來越受到軟件供應商的重視,此外在某些領域中,對應用軟件的性能表現有著顯著的依賴和要求,如軍工、通信、金融、商超等等,這些行業的應用軟件往往會因為一些性能方面的表現不達標導致項目失敗或給用戶帶來災難性的損失!所以性能測試逐漸成為了軟件質量保障的一個重要組成部分,而相應的,如何組建一個高效的性能測試團隊自然就成為了有效進行性能測試的關鍵。
由于歷史原因和現有條件制約,軟件供應商可能并沒有獨立的性能測試團隊,性能測試往往揉進常規的測試部門的工作中了,但我想如有可能,還是盡量能形成一個獨立的性能測試團隊,從而可以更好的開展相關工作,下面簡單談談我認為比較理想的性能測試團隊的組織構成。
由于項目的規模大小不一,因此下文只對理想的組織架構作闡述,具體每個分支組織的人員數量要隨具體情況變化:
一)LEADER團隊領導
職責:
1.制定團隊整體的目標、策略、計劃、流程和制度等工作綱領。
2.團隊日常的經營管理,如預算編制、費用控制、人事安排、資源協調等等方面。
3.對性能測試的結論以及對產品/項目的質量影響作最終的報送及評判。
要求:為了體現性能測試的客觀性和重要性,此職位建議相對平行、獨立于常規的功能測試部門或小組,直接向質量總監或產品/項目經理負責。
二)業務分析組
職責:挖掘產品或項目的業務需求中的對于性能表現方面的要求,與客戶、需求人員、顧問等一線人員溝通細節,再結合歷史用戶反饋的性能問題和要求作為經驗積累,分析出可能涉及性能要求的相關業務場景,據以設計出各種性能測試方案以及預期達到的相關性能要素指標,盡量達到對用戶真實的、潛在的使用狀態和強度進行模擬。
要求:
1、有較豐富的項目經驗。
2、有很強的分析抽取和概括總結的能力。
3、對IT部署(軟硬件、網絡布局等)有一定認識。
4、對業務有一定理解力。
三)工具應用組
職責:
1、負責工具選型,即根據業務分析出來的性能測試方案找到適應的測試工具(如LR、RPT等)。
2、向性能測試具體執行人員進行工具應用培訓及指導。
3、條件允許的話盡可能的開發創新出專用性能測試工具或對原測試工具進行有針對性的二次開發從而使工具更為貼近所測產品的實際情況。
4、不斷探索學習前沿、先進的性能測試工具或技術并嘗試應用于所負責的產品提高工作效率。
要求:
1、熟練掌握相關測試工具的原理及應用。
2、對相關的程序語言、系統框架、數據庫等等方面有較強的把握能力。
3、良好的分享意識和知識傳播的能力。
4、勇于探索和持續創新的精神。
四)測試執行組
職責:
1、白盒測試人員,利用相關工具直接對程序代碼進行測試和分析,從代碼層面規避一些明顯的性能隱患,優點在于不必等到產品全部完成就可以執行測試,在開發過程中就可以進行,發現問題隨時與相關程序員進行溝通確認。
2、性能測試經理制定相關性能測試計劃。
3、性能測試工程師根據分析出來的性能測試場景和方案設計具體的測試用例。
4、性能測試人員(或輔助人員)根據用例,使用相關的測試工具編寫相關的測試腳本和代碼。
5、性能測試人員執行相關性能測試,對測試過程進行維護、對測試結果進行整理、分析和報告等(某些深度的分析需要相關性能測試負責人、高級或資深性能工程師完成)。
要求:
1、熟悉相關測試工具的操作。
2、對相關的程序語言、系統框架、數據庫等等方面有一定的把握能力。
3、具備一定的測試技術、用例設計能力。
4、踏實肯干、嚴謹認真的工作態度和團隊合作精神。
5、本組可細化為幾種崗位,區別安置具備相應能力的人員即可。
五)環境維護組
職責:
1、保障日常性能測試進行所需要的一切軟件、硬件、網絡條件能夠按時、按質、穩定的提供(性能測試一般對環境要求比較復雜嚴苛)。
2、對性能測試過程中出現的環境相關問題及時進行排除,保障工作順暢進行,不出現長時間等待情況。
3、對性能測試過的相關歷史環境、數據等及時進行整理、備份(性能測試往往是海量數據,制作一次不易,一定要作好保存工作,另外性能測試中對比多個歷史版本的差異也是一項經常進行的工作,這類工作往往需要用幾套完全相同的性能測試環境和數據進行,這也需要相關數據及時安全的進行保留)。
4、記錄、整理、分析測試環境對相關性能測試方案中環境要求的覆蓋度,確保測試環境無遺漏。
要求:
1、較強的硬件設備、操作系統、網絡部署相關應用能力。
2、一定的程序語言、系統框架、日志分析、數據庫優化能力。
3、工作的前瞻性和計劃性強。
4、具備較強的抗壓能力和耐性。
六)機動資源
某些特殊情況下,團隊資源不足以支撐要進行的性能測試工作時,可能會臨時把一些機動資源劃歸進來進行輔助工作,如性能方面的云測試等。
七)專家支持組
性能測試是一種比較深層的測試,可能涉及的技術層面很廣很深,如系統框架、協議、工具、數據庫等等,測試過程中各種異常、復雜的情況層出不窮,有時我們必須借助在相關領域的專家們的力量來進行支援。這些專家往往不被設置在測試團隊內,但企業中一般會有這一人群,負責解決相關領域一些高精尖難題的專家,可以從上層賦予這些人支持性能測試的這一職責,使其在一定場合下臨時被虛擬納入到本團隊中來。
八)過程保障組
職責:
1、對性能測試過程進行的每個關鍵階段進行監控(如評審活動),對風險進行及時的預警的報告。
2、對性能測試過程中出現的工作流程、制度方面的問題及時進行處理和改進。
3、解決性能測試團隊成員不了解不清楚的工作流程、制度方面的問題。
4、收集、整理性能測試相關的工作成果(分析報告等資料)。
要求:一般由整個研發團隊的開發管理部門人員擔任,可單獨分出一個小組負責支持性能測試團隊的過程保障工作。
以上所述,即構成一個比較完整、能夠相對獨立、高效完成性能測試任務的團隊,一家之言,算是拋磚引玉吧,僅供大家參考。
