張彩珍
摘 要:近年來是移動互聯(lián)網(wǎng)的大時代,掌上app層出不窮,各種軟件涌入眼球,隨著消費者口味的不斷變化和升級,軟件所具備復雜度也在不斷提升,與之相應的是質量要求的水漲船高。評判質量的標準不一以及不清晰的邊界任務導致軟件測試在操作過程中沒辦法有效控制。本文就以項目管理的視角,結合戴明環(huán),闡述項目管理如何運用與軟件測試并提高測試效率。
關鍵詞:軟件測試;質量;效率;項目管理;戴明環(huán)
要說近五年的熱門領域那絕對是移動互聯(lián)網(wǎng),花樣百出的軟件產(chǎn)品早已走進并融入我們的生活,諸如美團、京東商城、淘寶、支付寶、微信,毫不夸張地說,離開這些掌中寶,我們就會像魚離開水,沒法生活。質量好的軟件會備受消費者贊譽,口碑也會傳播得很廣,不僅為企業(yè)帶來巨額利潤,也為消費者帶來極大便利,而質量差的軟件當然便沒有市場,同時造成公司信譽受損,信譽不佳。如此,軟件測試便應運而生,現(xiàn)在它已是保證軟件質量舉足輕重的一環(huán),是軟件生命周期的一個重要節(jié)點。對于管理現(xiàn)代化的企業(yè)來說,軟件測試不再是軟件出產(chǎn)之后的反饋、評價以及控制工作,而是從頭跟到尾,實現(xiàn)全過程控制,如此一來,基本上確保了軟件的質量。
1 項目管理是軟件測試效率的催化劑
1.1 什么是項目管理
項目管理沒有想象中那么高大上,它很接地氣,復雜地說,它就是一種既簡單又復雜的系統(tǒng)化和權變思想;簡單地說,它就是綜合運用技能、技術以及其他知識、工具,來最大化項目效率和完成質量。如果項目管理是個組織體,我們不妨把它解剖一下,看看它的組成成分——時間、成本、質量、約束(范圍),具體到每一個行業(yè),采用的項目管理方法是不同的,比如說針對一項為期三五年的大型工程,項目管理的方法會隨之復雜;針對一項為期一倆月的短期工程,項目管理的方法會相應簡單。總結成一點:項目管理是一個動態(tài)平衡、漸變整合的過程。
1.2 項目管理在軟件測試中的必要性
很多工程師都會為軟件測試中的癥結而煩惱,因為很多不定項、復雜的因素會突然冒出來,弄得開發(fā)工程師經(jīng)常莫名其妙,不知道問題的產(chǎn)生源頭在哪里。項目管理的特性使它成為最為適合解決這個問題的好工具、好理論。說到項目管理的特性,不得不提到它的系統(tǒng)性,項目管理從理論上說包含了九大體系——整體、采購、范圍、風險、質量、人資、時間、溝通、成本管理。這九大管理體系共同構成了項目管理的九重天。
來到軟件測試這一方,它涉及“上帝”、“程序猿”、測試工作人員,這三方的溝通在工作中根本就不夠,不夠還不說,還經(jīng)常發(fā)生誤解,比如“上帝”在使用過程提出了某一個問題,其用意是想簡化,“ 程序猿”接到反饋之后把它往復雜的方向修改。測試人員也經(jīng)常犯手高眼低的毛病,錯誤估計軟件的復雜性,眾多復雜的因素諸如用戶界面、數(shù)據(jù)通信等交織在一起使得系統(tǒng)和軟件的復雜程度令人望而卻步,進而增加了測試工作的困難性。我們知道,計劃趕不上變化,軟件開發(fā)的過程雖然也有一個日程表,但是能不能在最終定下的時間完工還是未知數(shù),當最終時間即將來臨之時,幾乎絕大多數(shù)的產(chǎn)品開發(fā)經(jīng)理都會選擇擠壓測試時間。測試過程隨著需求而進行調整,測試人員也就不得打亂安排。此外,軟件越加復雜,其涉及體系越加龐大,就越需要軟件測試工具加以控制,采購管理便越加重要。諸如此類問題都需要主管人員在測試軟件時關注成本、周期、風險及質量管理。
而上述問題便需要引進項目管理工具,它可以很好地控制軟件測試周期,使得各項不同任務的進度都能清晰地展現(xiàn)在經(jīng)理人員面前,主管人員可以有條不紊地協(xié)調、控制、調整各項工作而不致出錯,并且還可以在最終時間到來之前輕松地縮短整個開發(fā)、測試時間,并降低總成本,最大化利潤,“進可攻、退可守”,有了這項工具,軟件測試工作事半功倍。
2 “戴明環(huán)”在軟件測試中的應用
2.1 什么是“戴明環(huán)”
“戴明環(huán)”也不是什么新鮮玩意,也不是什么復雜概念,它就是PDCA循環(huán),所謂PDCA就是指計劃、施行、檢查、行動的英文簡稱。PDCA循環(huán)的核心思想就是持續(xù)改進,它最經(jīng)常大放異彩的領域便是工程管項目管理,當然這是工程項目長周期、規(guī)模大的特點所決定的。不巧的是,軟件測試工作恰恰也給了PDCA綻放光彩的舞臺。
2.2 PDCA循環(huán)質量管理與軟件測試
軟件產(chǎn)品的質量很大程度上決定于軟件測試的好壞,主管人員如果忽視了這一單,可能就會導致軟件的質量得不到保證。事實上,把軟件測試僅僅當作產(chǎn)品開發(fā)之后的“反饋檢查”,那么就忽視了軟件測試的重要度。熟悉產(chǎn)品開發(fā)過程的都知道,軟件測試是獨立于其他過程進行的,不管是開發(fā)過程還是質量管理過程往往都不包含軟件測試過程。
我們可以用下面的流程來展示軟件測試的過程:
這一流程是最為基本的、最為簡單的,但是再細心一點,你會發(fā)現(xiàn),它只包含了計劃、實施,缺乏與開發(fā)部門的合作與溝通交流,如果軟件非常簡單,功能單一,那么這一流程還是相當管用的,但是軟件系統(tǒng)再復雜一些,上述流程就愛莫能助了。
我們再對上述流程進行優(yōu)化,如果建立與開發(fā)人員的聯(lián)系與交互過程,進而幫助開發(fā)人員找出解決問題的方案。這個優(yōu)化后的流程包含了怕P、D、C、A四個環(huán)節(jié):P——制定測試方案;D——進行測試;C——發(fā)現(xiàn)測試問題,與用戶確認;與開發(fā)人員溝通交流;測試結果提交;A——根據(jù)優(yōu)化后開發(fā)流程,再次完善,并反饋給測試人員;反復上述過程,直至問題全部解決。
2.3 軟件測試進度管理
軟件測試的進度是主管和經(jīng)理人員關心的核心問題之一,因為主客觀的因素,測試進度時快時慢,隨著項目的變化而不斷改變。項目管理者必須運用好項目管理這一工具,能夠靈活調整項目進度、縮小偏差。在選擇項目管理者時,應該選擇富有豐富項目管理經(jīng)驗的管理人員,與此同時,項目管理人員還應該意識到,實行嚴格的質量管理循環(huán)可能會帶來軟件測試的周期變長,但是卻能夠縮短整個工期,軟件質量也能夠得到很好保證,更有利的是客戶投訴率會大大降低,不需要太多的后期維護。
3 軟件測試項目管理階段
3.1 開始階段
對于軟件測試項目的開始階段,它主要包括項目的范圍和主要目標、建立團隊以及文書準備工作。對于軟件測試的項目,目標必須可以被衡量,范圍則不厭其細,越清晰越好。那么如何確定軟件測試的目標呢?有一條很簡單的準則——客戶反饋的bug點及其數(shù)量和每個bug的嚴重性。測試的范圍包括性能、功能、文檔及兼容性測試,在功能性測試中,應該涵蓋軟件全部的模塊功能——生產(chǎn)、財務、采購、銷售、質量、庫存、人資、客戶關系這八大管理模塊;在性能測試中,包含不同的用戶操作對于軟件所產(chǎn)生的影響;而兼容性測試則包含軟件所能夠支持的操作系統(tǒng)比如win7、win8等;文檔測試則包含安裝說明、軟件功能介紹等。
團隊建設包括項目管理人員選擇、項目具體人員的選擇等。怎樣確定好項目組所有成員呢?一個最簡單的原則就是——所有人個性不一、優(yōu)勢互補、協(xié)同高效。項目成員一般有:項目主管、工程師、“上帝”。
項目開始階段的輸出應包括:項目規(guī)范、流程、關鍵約束條件。章程包括:項目名稱與背景闡述、項目經(jīng)理人選和職責確定、項目涉及業(yè)務、項目為何發(fā)起、項目主要負責成員、產(chǎn)品交付成果及其描述、項目的規(guī)范條件。
3.2 計劃、執(zhí)行階段
開始階段的工作準備好,就進入了計劃和執(zhí)行階段。計劃階段主要做以下幾個方面——第一,計劃必須有綜合有具體且執(zhí)行度較高。包括測試對象、約束、手段、進度和期望結果,制定測試方案可采用頭腦風暴和WBS兩種方法,前者集思廣益,后者可以詳細分解整個工作。第二,定義好每一位成員的角色。項目經(jīng)理,工程師,售后人員每個職位所對應的職責必須被界定清楚,不能含糊。比如,項目經(jīng)理的角色定位就是,規(guī)劃項目、進度把控、風險控制、鼓勵成員以及其他支持業(yè)務。第三,合理配置資源,并靈活調整。資源的配置或以資源優(yōu)先、或以工期優(yōu)先,具體以哪個優(yōu)先,看情況。第四,有預算。預算過程包括估算和預算,估算解決總成本和誤差的問題,預算解決總成本具體分配的問題。第五,識別風險。項目經(jīng)理需要做好風險控制,盡力把風險消滅在源頭。
執(zhí)行階段包括以下幾個方面:第一確保測試資源充足。項目實施過程中,哪一環(huán)節(jié)資源不足,要立即重新配置。第二分工明確合理。一個簡單的原則就是各施所長。第三控制進度。哪一個環(huán)節(jié)拖慢了整個項目,就要把這個關鍵環(huán)節(jié)列入重點關照對象,確保不拖后腿。第四,協(xié)調一致。制定明確的工作流程和制度,使得項目一旦開展,要順利進行,不出任何問題。
3.3 結束階段
這一階段基本就是收尾工作,要根據(jù)整個項目的開展情況,來評估每一個環(huán)節(jié)的貢獻度與不足之處,并進行總結,最終輸出《項目評估報告》。
每一個復雜、大型的軟件開發(fā)過程都是漫長的,其最終的開發(fā)結果都是具有某種不確定性的,如果失敗也就是質量不過關,顧客不認可,那將對企業(yè)的聲譽產(chǎn)生明顯的副作用,也損害企業(yè)的利潤,只有引進項目管理這一獨立的工具來對軟件開發(fā)過程進行全過程控制,才能最大可能性降低不確定性、最大程度確保軟件質量。事實也證明,項目管理的的確確地提高了軟件測試的效率,大大提高了客戶對軟件質量的滿意度。
參考文獻
[1]童紀新,馬晶晶.軟件測試項目管理研究[J].項目管理技術,2015,13(01):91-94.
[2]吳國輝.項目管理在軟件測試中的應用[J].軟件導刊,2014,13(11):8-10.
[3]葛建新.我國軟件測試項目管理的重要作用[J].價值工程,2014,33(19):204-205.
[4]徐莉.基于項目管理角度的軟件測試流程及管理[J].網(wǎng)絡安全技術與應用,2018(03):38-39.