?

基于項目管理角度的軟件測試流程及管理

2018-03-19 12:02◆徐
網絡安全技術與應用 2018年3期
關鍵詞:測試人員開發人員軟件測試

◆徐 莉

基于項目管理角度的軟件測試流程及管理

◆徐 莉

(花旗金融信息服務(中國)有限公司大連分公司 遼寧 116023)

針對手動測試比例較大的銀行管理系統軟件測試,從項目管理角度探討軟件測試流程改進,將工程質量管理中PDCA循環的概念運用到軟件測試中,有助于改進軟件測試成果的質量,提高軟件測試項目管理的績效。

項目管理;軟件測試;PDCA;計劃-實施-檢查-處理

1 問題的提出

1.1背景

軟件測試是指在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程[1]。軟件測試是軟件研發過程中的重要組成部分,對保證軟件質量具有重要意義。因此,軟件測試成果的質量,對軟件開發的成敗具有重要影響。

將軟件開發作為一個項目進行管理,其基本流程相對固定,但軟件測試過程還沒有一套很成熟的測試流程和管理方法。本文擬結合項目管理中的PDCA循環,從項目管理的角度探討軟件測試流程及其管理。

1.2 PDCA循環的概念

所謂PDCA,即是計劃(Plan)、實施(Do)、檢查(Check)、處理(Act)的簡稱,PDCA循環是一種持續改進的質量管理體系,是工程項目管理中常用的質量管理方法。PDCA循環方法是對項目過程的管理,帶有循環管理的特點,PDCA四個過程不是運行一次就完結,而是周而復始的進行,呈現階梯式上升的趨勢。

1.3軟件開發與測試面臨的管理問題

軟件開發流程[2]一般包括分析設計軟件的功能、軟件的總體設計和模塊設計、編程和調試、軟件測試、程序修改、軟件維護等過程,這一過程從項目管理的角度來看,基本涵蓋了PDCA循環的各個階段,如圖1所示。

圖1 軟件開發流程

從軟件開發的角度,圖1所示的PDCA循環的流程是合理的,但在軟件開發的實際過程中,計劃(Plan)、實施(Do)、處理(Act)這三步一般由軟件開發項目組完成,而軟件測試(Check)作為一個相對獨立的階段,區別于研發人員編程過程中的調試自檢。軟件測試通常由第三方進行,無論是軟件研發機構的測試部門還是獨立的測試機構,均面臨對軟件測試這一“項目”的管理問題。

2 軟件測試的PDCA循環質量管理

如果僅將軟件測試定位于軟件開發過程中的“檢查(check)”,則是混淆了軟件測試與程序員調試之間的關系,降低了軟件測試的重要性。由于軟件測試一般是獨立進行,軟件開發部門的項目流程和質量管理體系一般都未包含對測試過程和質量的管理,實際上也很難對其進行有效的管理。目前軟件測試的管理更多的依賴于測試部門自身的管理體系。

軟件測試一般包括單元測試、集成測試、系統測試、回歸測試。本文主要針對手動測試比例較大的銀行管理系統測試進行分析。一般的軟件測試流程(下文稱“流程Ⅰ”)如圖2所示。

圖2 軟件測試流程圖Ⅰ

流程Ⅰ在軟件測試項目管理中僅包含計劃(Plan)和執行(Do)兩個方面,與軟件開發人員沒有互動,對于功能簡單的軟件可以達到有效測試的目的,但對于稍微復雜、功能多樣的軟件,很難達到測試的目標。

對流程Ⅰ進行優化,測試人員發現問題后提交開發人員,建立測試人員與開發人員的交互,協助開發人員找出問題,分析原因,解決測試出現的問題,詳見圖3所示測試流程Ⅱ。

流程Ⅱ基本達到了軟件測試的目的,在一定程度上能夠實現測試目標,協助完成軟件開發全過程。但是流程Ⅱ中,在將測試結果反饋給開發人員時,由于對用戶需求的不完全了解,開發人員和測試人員并不能完全確定測試中出現的BUG應當如何處理。這種情況下,測試人員提交的測試結果,非但不能幫助開發人員完善程序,反而有可能帶來更多的程序錯誤。因此有必要對流程Ⅱ進一步完善,以保證測試成果的質量。完善后的測試流程Ⅲ見圖4。

圖3 軟件測試流程圖Ⅱ

圖4 軟件測試流程圖Ⅲ

根據優化后的流程Ⅲ,某銀行系統測試的詳細流程如下:

(1)計劃階段(Plan):①閱讀用戶需求和功能說明文檔,與用戶及項目經理討論測試范圍;②制定測試計劃、測試用例,準備測試數據。

(2)實施階段(Do):①確認測試計劃和范圍;②開始測試。③匯總測試結果。

(3)檢查階段(Check:①測試發現問題,首先與項目經理確認,如有必要,與用戶確認;②針對較復雜的問題,與項目經理和用戶開會討論。由于某些銀行系統涉及到多個系統間的交互,需確認參會人員范圍;③提交測試結果。

(4)再測試階段(Act):①開發人員根據測試結果修改程序,并再次提交給測試人員;②測試人員進行測試,如發現問題,重復上述過程,直至問題全部解決,完成測試。

測試流程Ⅲ在將測試結果提交給開發人員修改程序前,測試小組已與開發人員和用戶進行了溝通,初步分析了測試結果的合理性,避免測試本身的錯誤,實現了對測試項目的PDCA循環。

3 軟件測試的進度管理

軟件測試的進度管理[3]是項目管理的核心問題之一,在現有資源條件下按照規定時間交付成果,才能實現項目目標。影響軟件測試進度的因素有主觀的也有客觀的,由于軟件測試計劃的不完整性和測試結果不確定性,測試進度也隨著項目的進行不斷變化。因此項目管理者必須隨時掌握計劃的執行情況,比較和分析測試進度與計劃進度的偏差,隨時調整后續計劃。

計劃制定是否合理與項目管理者的經驗、能力密切相關,因此在組建測試項目組時,盡量選擇有類似經驗的項目管理者,根據本公司實際情況、可供調配的人力資源、測試工程師的工作能力綜合確定項目分工和進度計劃。

測試人員也應認識到,在軟件測試管理中按照PDCA循環的質量管理模式執行嚴格的質量控制措施,在一定程度上有可能會延長軟件測試的工期,但對整個軟件開發來講,總工期將會縮短,軟件的質量更能夠得到保證,后期的維護成本也會大大降低。

4 軟件測試的人力資源管理

人力資源管理是一個很廣泛的方面,這里僅淺談與軟件測試相關的內容。對于手動測試占比較大的軟件測試,測試的過程由測試工程師主導完成,測試過程中的人力資源管理與質量、進度、成本等方面都息息相關。

測試工程師是測試計劃的執行者,工作成果的質量直接影響到測試質量。經驗豐富的測試人員能夠更全面的發現軟件缺陷,良好的組內組外溝通氛圍能夠幫助項目管理者更全面地把控測試成果質量。

對測試工程師的管理包括建立有效的測試組織,使測試人員能夠達到測試計劃的工作目標,收集和分析工作績效數據等方面的內容[4,5]。

軟件測試的整體進度由每個測試工程師的工作進度決定。了解測試人員的能力、合理分工、調動測試工程師的工作主動性,是保證測試進度的關鍵,也是項目管理者進度管理的關鍵。

軟件測試的成本因素主要包括人力資源、辦公設備、辦公軟件。其中辦公設備與辦公軟件在某種程度上是相對固定的,而成本管理的關鍵因素在于人力資源成本,人力資源成本的關鍵因素又在于時間或者說進度。在保證質量的前提下,采用最短的時間完成測試,既保證了項目進度,又節約了成本。

5 結語

本文從項目管理的角度,單獨講述軟件開發中的軟件測試環節,運用PDCA循環質量管理的理論,優化軟件測試流程,同時淺談了與質量管理相關的軟件測試進度管理和人力資源管理,以期能夠提高軟件測試的成果質量,希望能對軟件測試人員起到借鑒作用。

[1]張廣梅.軟件測試與可靠性評估[D].北京:中國科學院研究生院,2006.

[2]龔勛.軟件項目管理與測試在軟件開發中的應用[D].成都:四川大學,2004.

[3]廖青.項目管理在軟件測試中的應用[D].北京:北京郵電大學,2010.

[4]王立娟.基于過程的軟件測試管理中關鍵技術的研究[D].大連:大連海事大學,2006.

[5]陳文海.軟件測試管理工具的研究與實現[D].北京:中國科學院研究生院,2003.

猜你喜歡
測試人員開發人員軟件測試
移動應用眾包測試人員信譽度復合計算模型研究
基于OBE的軟件測試課程教學改革探索
航天軟件測試模型構建與應用
Semtech發布LoRa Basics 以加速物聯網應用
EXCEL和VBA實現軟件測試記錄管理
淺析軟件測試中的心理學應用
軟件測試工程化模型及應用研究
后悔了?教你隱藏開發人員選項
犯罪心理測試人員素質要求分析
犯罪心理測試人員素質要求分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合