童紀新 馬晶晶
(河海大學商學院,江蘇 南京 211100)
信息技術飛速發展給人民生活帶來日新月異的變化,軟件日益成為生產生活中不可缺少的重要工具,應用于社會生產生活的各個領域。軟件的性能直接影響著生產效率,軟件質量成為人們關注的焦點,也是軟件項目工作的重點。軟件項目的測試工作不僅能夠幫助研發者監測軟件是否滿足開發需求,符合用戶需要,同時能夠檢測出程序中的Bug,并督促測試人員及時調試,減少產品在使用過程中出現的技術錯誤。測試作為項目中的一個重要環節,會因為管理不當而變成一項浪費成本的無用工作[1]。測試人員的工作積極性也會因為測試管理不善而大打折扣,并直接影響項目工作進度,造成人力資源浪費。測試工作由于對產品質量的重要性而不可取代,理應被視為項目而進行單獨的管理。測試工作常常因為多種原因不能夠讓客戶滿意,使用科學的項目管理方法對其進行有效規劃和管理能夠提高測試工作效率,明顯降低研發過程中出現的Bug 數量,縮短軟件產品的研發時間,保證產品研發質量,降低項目研發風險,并切實提高企業利潤率。
本文根據軟件測試項目管理工作經驗,針對測試項目中存在的問題,從項目管理的角度,對測試項目管理工作的規劃和實施提出具體建議。
測試人員在項目第一線的日常工作中積攢了大量測試經驗,同時也總結了大量具有代表性的測試常見問題,測試項目管理的目標就是避免并解決這些問題。根據項目經驗積累和相關文檔材料,表1 對測試項目常見問題進行了列舉。

表1 測試項目常見問題匯總表
測試項目管理已被大量的測試工作經驗證實有著十分重要的現實意義,它能有針對性地解決上述測試的常見問題,并有效克服測試工作因缺乏管理而造成的不足,這些構成了測試項目管理重要價值的前提,表2 是測試項目管理價值分析。

表2 測試項目管理價值分析
現代項目管理理論為測試項目管理的成功提供了科學的原理和工具,合理運用相關理論可為提高測試工作的質量提供保證,在以用戶需求至上的服務理念先行的軟件項目中,注重質量控制是十分有益的。在這樣的大環境下,只有突出強調測試項目管理,充分發揮測試項目管理對測試工作的改善作用,才能保證最后交予用戶的軟件產品質量的優良。
測試項目管理基本流程是開展管理工作參考的時間軸,本文論述的測試項目管理的基本內容則根據項目組常使用的測試模型內涵決定[2]。測試項目管理基本按照接手項目、執行項目和項目總結的流程來展開日常工作,具體流程見圖1。

圖1 測試項目管理基本流程
V 模型是測試項目中采用的最基礎模型,該模型由學者Paul Rook 提出,指明了一種至左向右的開發過程和測試行為,并明確標明各個級別的測試行為,同時也清晰描述了開發流程中產生關系的各個代表性階段。學者Marick 在V 模型的基礎上進一步提出了X 模型,該模型更加貼近測試實際,它旨在解決一些實際測試問題而展開理論演化論述,其優點在于較好地解決測試與開發的交接過程,盡可能地減少額外的成本投入。以上兩種測試模型都是測試環節采用的基礎模型,但實際項目最終采用的測試模型必須與實際工作能力和需求相匹配。一些規模較小的項目通常會采取減少組件使用數量的方式來簡化工作,較為完善的測試項目通常會根據圖2 的模型進行。

圖2 測試基本模型
本文根據上述測試項目管理流程和測試基本模型的內涵對測試項目管理基本內容展開研究,具體包括需求、計劃、案例、執行、缺陷、報告、團隊以及項目管理工具八個環節的管理工作,測試項目管理體系見圖3[3]。

圖3 測試項目管理體系
(1)測試項目需求管理需從明確測試需求做起,以測試需求為工作的范圍和第一準則,清晰的測試需求是高效工作的前提[4]。測試需求管理的目標是確保準確無誤的測試結果輸出以及測試被順利通過。從某種意義上來講,需求就是用戶的需求,需求管理的首要任務,即及時發現系統設計與用戶真實需求間存在的誤差。準確無誤的用戶需求依賴于項目組與用戶的多次有效溝通,依賴于用戶需求被正確完整地解讀。項目組通過需求調研、項目交流、閱讀和獲取相關文檔數據信息等形式來獲取用戶需求。需求的設計文檔、用戶的業務資料和用戶的訪談活動都是需求的重要來源和途徑。項目組必須嚴格按照了解需求、設計需求、實現需求的流程來完善系統設計,而不能被實現的系統誤導,造成損失。項目組必須提高對測試項目需求管理重要性的認識,不遺余力地做好需求管理工作,提高項目的工作質量,避免后期因需求管理工作不到位而造成的開發和交流成本的浪費。
(2)測試項目計劃管理的首要任務就是確定項目的測試目標。測試計劃管理幫助項目明確工作范圍,對項目測試過程中采用的工作策略和技術方法做出具體規定,并做好項目開展所必需的資源分配和進度安排方案。項目的測試計劃一般通過便于交流閱讀的文檔形式表達出來,文檔材料是項目按照既定目標開展的宏觀總領。項目測試計劃管理旨在替項目運行提前做好各類支持工作和部署安排,它具有策略性、系列性、目標性的特點,是整個項目的核心,必須不斷根據變化進行修改和精確化,以便團隊充分交流。
測試項目計劃管理的工作包括:①收集用戶的細化系統功能需求、相關數據以及接口數據;②進行用戶質量要求分析,功能使用頻度和功能失敗風險分析,通過風險分析,對項目過程中可能出現的問題進行詳細考慮并及早部署解決,對風險級別進行分類并對各類型風險提出合理的應對方針,以降低因為風險和不可控因素造成的過多成本投入,同時也必須為項目配備及時更新維護的風險列表;③將一些粗略的測試策略納入考慮,進行成本估算,測試策略是指為了實現某一特定測試目標而采取的測試方案,其闡述了測試工作將采用的模型、方法、具體的測試過程以及突發情況的處理方式;④測試的目標由測試需求決定,而測試項目的工作范圍則必須根據軟件企業的發展程度和測試項目組的實際工作能力來具體界定;⑤測試項目計劃文檔的主要內容必須包含測試項目計劃管理工作的所有部署安排,并涵蓋最終交予用戶的產品使用說明、風險分析、風險處理對策和交流方式等。
(3)測試項目案例管理的任務是完成測試項目技術的追蹤工作,協助項目驗證測試需求和開發設計,為測試人員的工作提供便捷。測試案例是從大量的輸入輸出組合中篩選出來滿足用戶需求的一些組合描述,它便于及時發現錯誤。測試案例中必須首先架構起清晰的框架,由測試決策決定測試的顆粒度,好的測試案例應及時更新入庫作為項目經驗,以便新的項目采集使用。
(4)測試項目執行管理的目的是將測試項目明確劃分工作階段,選用可行的案例,同時落實好測試項目的環境及相關工作安排。在項目計劃期間,對開發的情況并沒有完整地了解,因此在項目執行期間及時準確地調整項目計劃是十分必要的。明確的測試執行計劃能夠保證項目內各個工作小組有效地進行工作協調,并有效地實現內部人員的測試資源共享和外部人員的交互。測試項目執行管理具體的工作內容包括:①書寫詳細執行計劃;②搭建測試執行包;③維護環境工作控制記錄表。
(5)測試項目缺陷管理工作旨在收集當前開發代碼中的缺陷,并根據缺陷類型制定具體處理對策。項目開展過程中出現的每一個缺陷都必須得到嚴格的追蹤,直到完全處理結束為止,項目中積累的缺陷管理經驗和維護記錄可以為后續項目提供參考和工作依據。
(6)測試項目報告是項目寶貴的知識資產,是對測試工作的及時匯報總結,須采用合理和高效的方法對其進行保管和存儲。它通常以書面文檔的形式,通過數據分析決定軟件是否能成功發布,是后期維護軟件的指導性材料。測試項目報告是從測試角度對系統進行的專業評定,能夠體現項目是否按照計劃要求完成任務,按階段制定的測試報告能夠為項目的測試計劃進一步修正更新提供依據。
(7)一個成功的測試項目離不開良好的團隊管理,融洽的工作小組氛圍是高效完成項目的前提條件。團隊交流的主要形式為項目會議,文檔書面材料交流和工作人員的個人溝通。項目人力資源部門須加強對人員流動的管理,盡可能使得工作的安排對參與者有一定的挑戰性[5]。項目管理者在注意保持可控的同時,要積極為測試人員提供發揮的空間,并采取合理的途徑引導測試人員主動接受具有挑戰性的任務安排。
(8)測試項目管理須有相關工具的技術支持,主要包含一些辦公自動化軟件以及企業自身研發的用于測試的軟件和一些通用的專業測試軟件,獲得良好的測試項目管理效果,需要性能優良的基礎技術設施作支持。
項目測試人員的技術和業務水平決定了測試工作的質量好壞和項目進程的快慢,在測試項目開展前應集中對測試人員進行測試培訓。項目開展的前提條件是測試人員必須在測試開展之前熟悉系統的整體結構和性能,同時必須明確測試職責、任務分配和分工安排,學習和掌握測試工具和方法的使用,了解公司常用的測試流程和基本的測試項目管理方法[6]。在平時的管理工作中,項目組也要注意拓展測試人員的業務能力。
在軟件測試項目過程中,測試人員要注重對產生的Bug 進行有效合理的管理,測試管理人員應注重對測試項目全過程進行跟蹤管理,監控并及時調整,使測試項目按照既定的合理的測試目標開展。測試環境直接影響著項目能否良好進行,項目組應為測試工作人員創造適宜的測試環境,并配備專業維護人員及時應對隨時會產生的環境問題。測試項目管理必須明確測試工作的目標計劃,解決以往測試工作目標不明確,范圍制定不標準的問題,使項目嚴格按照計劃和目標進行,使項目能夠得到應有的支持資源。項目中經常出現開發人員和測試人員工作不協調的問題,原因歸咎于對測試項目管理工作的錯誤定位,甚至對測試項目管理工作的重要性認識不足,事實證明測試項目管理可以降低項目質量風險,測試項目管理中注重收集測試數據的行為將有助于在軟件企業內部建立起質量控制的企業文化。
測試項目管理不僅可以從上述要素劃分的角度展開,同時也可以采用基于項目運行時間順序的方法進行開展。無論采用哪種方法,測試項目管理必須始終貫穿于軟件項目的全過程,這已成為一種發展趨勢。隨著軟件企業對測試工作的愈發重視,軟件測試項目管理將在IT 產業發揮不可替代的重要作用。同時,建立起測試項目管理工作規范制度,以及用于檢驗測試項目管理成效的評價體系也已成為完善軟件測試項目管理工作的一部分,只有這樣,才能在合理范圍內充分發揮測試項目管理的作用。
[1] 張保軍. 談軟件項目的測試管理[J] . 項目管理技術,2008 (4):59-62.
[2] 尹福青,王一寧,李紅生. 基于軟件測試的項目管理研究[J]. 信息技術與信息化,2010 (5):64-65,81.
[3] 葉言苓,崔彥軍. 軟件測試管理的研究與應用[J]. 計算機應用與軟件,2003 (9):17-18,71.
[4] 鄧琨,劉星妍. 如何對軟件測試進行管理[J]. 黑龍江科學,2010 (3):56-57,60.
[5] 黃瑩. 軟件測試技術與測試管理[J]. 工業控制計算機,2003 (5):36-37,47.
[6] 曹玉紅. 軟件測試需要項目管理[J]. 軟件測試,2004(11):78-79.