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