摘 要:隨著軟件開發(fā)規(guī)模的增大,復雜程度的增加,以尋找軟件中的故障為目的的測試工作顯得更加困難。為了盡可能多地找出程序中故障,開發(fā)出高質量的軟件產品,必須對測試工作進行組織策劃和有效管理,采取系統(tǒng)的方法建立起軟件測試和管理體系,對測試活動進行監(jiān)管和控制,以確保軟件測試在軟件質量保證體系中發(fā)揮應有的關鍵作用。
關鍵字:軟件;測試過程;管理
軟件開發(fā)過程的質量決定軟件的質量,軟件測試過程的質量直接影響測試結果的準確性和有效性。
1 軟件測試過程常用的模型
1、V模型
V模型反映出測試活動與分析設計活動的關系,指出單元測試和集成測試應檢測程序的執(zhí)行是否滿足軟件設計的要求。系統(tǒng)測試應檢測系統(tǒng)功能、性能的質量特性是否達到系統(tǒng)要求的指標。驗收測試確定軟件的實現(xiàn)是否滿足用戶需求或合同的要求。
2、W模型
W模型指出軟件各開發(fā)階段中應同步進行的驗證和確認活動,即測試與開發(fā)也應是同步進行的。W模型有利于盡早和全面的發(fā)現(xiàn)問題。
3、H模型
V模型與W模型有不妥,即它們都把軟件的開發(fā)視為需求、設計和編碼等一系列串行的活動,而事實上,這些活動可以交叉進行的。H模型揭示這一點:軟件測試是一個獨立的流程,貫穿于產品的整個生命周期中,與其他流程并發(fā)進行。
除了上面的幾種常見模型外,還有X模型、前置測試模型等。在實踐中,建議以W模型作為框架,及早全面地開展測試,同時靈活運用H模型獨立測試的思想,在達到恰當的就緒點時就應該開展獨立的測試工作,同時將測試工作進行迭代,最終保證完成測試目標。
2 測試階段中的測試活動
軟件測試過程主要包括以下四項基本活動:
1、測試策劃
在測試策劃中的活動有:制定測試計劃,以確定測試范圍、測試策略和測試方法,規(guī)劃測試任務日程表,對測試資源進行安排,并提前評估測試風險,制定風險控制策略。
2、測試設計與實現(xiàn)
在測試設計與實現(xiàn)中的活動有:制定測試的技術方案,選擇測試工具,并根據測試技術方案設計測試用例。
3、測試執(zhí)行
在測試執(zhí)行中的活動有:建立相關測試環(huán)境、配置測試數據、按日程安排執(zhí)行測試用例并記錄測試執(zhí)行結果,對發(fā)現(xiàn)的軟件缺陷進行報告,并配合開發(fā)人員進行軟件缺陷的分析、處理和追蹤。
4、測試總結
在測試總結中的活動有:對測試結果進行綜合分析,以確定軟件產品質量的當前狀態(tài),為產品的改進和發(fā)布提供數據和依據,同時編制測試報告,提交相關的測試文檔。
3 軟件測試過程管理的特點
軟件測試過程管理的基本內容包括計劃、組織和監(jiān)控;測試過程中存在的問題有:
1.軟件質量標準定義不準確、任務邊界模糊。
2.軟件測試項目的變化控制和預警分析要求高。
3.軟件測試項目具有智力密集,勞動密集的特點,受人力資源的影響最大。
4.測試任務的分配比較困難。
5.測試要求的人力資源十分穩(wěn)定。
6.軟件測試人員在待遇、地位上可能會受到一些不公平的待遇。
軟件測試項目的過程管理能否成功,通常受到三方面的影響:項目組內的環(huán)境,項目所處的組織環(huán)境,整個開發(fā)流程所控制的全局環(huán)境。
4 軟件測試過程管理的原則
1、有關測試需求,應當有一個經各方同意的、完整的、清楚的、詳細的、整體的、可實現(xiàn)的和可測試性的需求并文檔化,盡可能堅持最初的需求。
2、測試計劃先行。軟件項目管理過程從項目的計劃活動開始,軟件測試項目也不例外,也是從測試計劃開始。
3、建立任務優(yōu)先級。在測試任務較多的情況下,應該為各項任務建立測試優(yōu)先級,這樣也可以根據優(yōu)先級來先后處理各項任務。
4、建立客觀的評估標準。這樣使得整個項目過程具有良好的可測性和可跟蹤性,強調以數據說話。
5、盡早測試。這是從W模型中抽象出來的理念。一方面指測試人員盡早參與測試項目,另一方面指盡早開展測試執(zhí)行任務。
6、全面測試。這也是W模型的重要思想,其含義一方面只要對軟件所有產品進行全面的測試;另一方面指軟件開發(fā)人員與測試人員全面參與到測試工作中。
7、全過程測試。這是從W模型中抽象出來的另一理念。其含義一方面指測試人員要充分關注開發(fā)過程;另一方面指測試人員要對測試的全過程進行全程的跟蹤。
8、獨立的、迭代的測試。這是H模型的重要思想,強調只要達到測試就緒點,即測試條件成熟,測試準備活動完成,測試執(zhí)行活動就可以開展。
5 軟件測試過程的人員組織
測試團隊的組織直接關系到測試團隊的工作效率和生產力,其組織方式由測試團隊的規(guī)模、具體任務和技術來決定。
一個測試團隊的基本角色有:測試經理、實驗室管理人員、內審員、測試組長、測試設計人員、資深測試工程師、一般測試工程師。
若測試團隊規(guī)模較大,則測試工程師分為三個層次:初級測試工程師、測試工程師和資深測試工程師,同時設置自動化測試工程師、系統(tǒng)測試工程師和架構工程師。
測試過程人員組織的一個方面是考慮測試團隊的規(guī)模,測試團隊的規(guī)??梢钥紤]在整個開發(fā)部門所占的比重,或相對開發(fā)人員所占的比例。從經驗看,不同的應用,軟件測試和軟件開發(fā)人員的比例也是不同的,大致可分為三類。
1、操作系統(tǒng)類型的產品,對測試要求最高,測試人員和開發(fā)人員的比例為2:1。
2、應用平臺、支持系統(tǒng)類型的產品,對測試要求比較高,通常測試人員和開發(fā)人員的比例為1:1。
3、對于特定應用系統(tǒng)一類產品,由于以后對象清楚、范圍小,甚至可對應用平臺或應用環(huán)境加以限制,所以測試人員可以再減少,但測試人員和開發(fā)人員的比例至少保證在1:2的水平以上。
6 結束語
相比之下,目前中國軟件企業(yè)在軟件測試方面與國際水準仍存在較大差距。首先,在認識上重開發(fā)、輕測試,沒有認識到軟件項目的如期完成不僅取決于開發(fā)人員,更取決于測試人員;其次,在管理上隨意、簡單,沒有建立有效、規(guī)范的軟件測試管理體系;另外,缺少自動化工具的支持,大多數企業(yè)在軟件測試時并沒有采用軟件測試管理系統(tǒng)。所以對國內軟件企業(yè)來說,不僅要提高對軟件測試過程管理的認識,同時要建立起完善的軟件測試過程管理體系,確保軟件測試管理在軟件質量保證中發(fā)揮應有的關鍵作用。
參考文獻
[1]朱少民. 軟件測試方法和技術 [M].北京:清華大學出版社, 2005年
[2]鄭文強,馬均長. 軟件測試管理[M].北京:電子工業(yè)出版社, 2010年
[3]布萊克(美).軟件測試過車管理[M].北京:機械工業(yè)出版社,2003年
作者簡介
趙俊玲(1982-),女,河南新鄉(xiāng),本科學士,助理講師,新鄉(xiāng)職業(yè)技術學院。