據市場分析家稱,由于缺乏資源、工具和知識來實施有效的軟件測試工作,企業正在浪費高達50%的軟件開發預算。
分析機構Gartner的應用程序開發分析師表示,項目期限和產品從構思到上市的時間的縮短,以及人們對軟件測試工作能夠帶來的好處的無知,意味著企業將無法更高效地改善軟件開發的質量。
應用程序開發周期的更快速周轉正在影響產品的質量,對問題的調優和滿足客戶需求的壓力可以直接影響測試工作,這就是為什么軟件測試將變為人們關注的焦點的原因。
一、軟件企業中的開發測試
一個強壯的軟件測試周期,已經從測試軟件的質量轉向將質量融入到軟件中,但是這種類型的轉變超出了大多數企業的能力范圍,它們大多數需要一些來自第三方團體的幫助。
通常情況下,軟件測試工作會消耗25%的資源,其中包括時間和金錢,但是,大多數公司在一個典型的測試周期中要花費45%到50%。大多數金錢則浪費于在程序開發完后糾正最初需求階段所犯下的錯誤上。
由于產品從設計到上市的時間的縮短,開發完后的應用程序錯誤給企業帶來的打擊會更沉重。
一些大型企業已經意識到軟件測試工作的重要性,它們中的很多企業將這個軟件測試過程實施外包,以努力將其與軟件開發捆綁在一起。
不過,這也許是一種錯誤的做法,它破壞了軟件測試工作的有效性,因為測試者將不能完全理解項目的需求,當測試過程被外包的時候,這種開發者與測試者之間的脫節則顯得更為嚴重。
只有在一個非常了解軟件開發方法的成熟的企業中,軟件測試才會成功。但是,很多企業對軟件測試的態度已經遠遠落后于一些企業,它們甚至不將軟件測試看作軟件開發的重要組成部分。
不過,在未來的幾年中,軟件測試工作將從一些大型企業開始被重視。因為在大型項目中,軟件開發質量的提高很明顯更急需保證。那些在不嚴格的項目開發過程中損失慘重的企業,將成為這種轉變的開路先鋒,這些企業將增加內部測試工作,而那些受市場需要逼迫的企業則有可能選擇外包的快速辦法。
如果企業想要重新設計它們的軟件測試戰略的話,必須首先創建一個可靠的基準策略。在整個開發過程中,項目應該被一些關鍵機制來衡量,然而目前還沒有什么業界基準可以被用來參考。
業界基準控制的缺乏對軟件測試者來說是一個大問題,因為在軟件開發過程中沒有一個成功的基準文化可以參考。這些基準也可以被用來衡量外包合約的執行情況。
二、開發團隊中的軟件測試
在測試過程中,不要在每一個功能的漏洞的測試上浪費時間,你需要5個或10個基本的機制來得到更有意義的結果,例如開發的能力與質量的保證。而且它們需要經過長時間的驗證來獲得,并且能夠根據業界數據來進行調整。
對軟件測試工作的需要是由項目的前后聯系、等級和風險環境來決定的。如果軟件編程者非常有經驗和熟練的話,對于一些小型項目來說,測試工作可能不是必要的,可以邊開發邊測試。
在某些情況下,一個軟件開發項目組織可能因為太小或成員磨合時間太短,以致于不能擁有一個測試人員。而這時候使用承包或外包的方式來完成測試工作,或者調整項目管理或開發的方式也許是合適的選擇。
一些沒有經驗的管理者有時候會對項目的成功進行賭博,即直接跳過測試工作,或者讓程序員進行開發后的功能測試工作,但這是一種高風險的賭博行為。 [Page]
軟件測試工作應該保持自行完成,因為相比外包公司,企業對它的客戶和產品需求有更準確的了解。開發項目內部的人更了解自己的產品,知道其客戶會如何使用它,以及客戶最關心的事情是什么;谶@些知識,可以更好地完成測試工作。對一些功能重要的軟件產品只做表面的測試工作是不夠的。
開發者需要測量自己的軟件測試過程的有效性,并不斷地去完善它們。每一個組織應該找出適合自己產品的衡量機制,例如代碼語句覆蓋率或數據庫性能,來不斷地衡量測試工作。這主要是因為在開發階段,產品也是不斷變化的。
不過,目前針對大多數開發語言都出現了自動化工具,單元測試也逐漸更加普及。但是一些開源產品通常因為缺乏良好的測試工作而臭名遠揚。自動化控制是確保測試質量一致性的最好的方法。
對于軟件項目的85%的缺點產生于需求調研階段的說法,也許是不太準確的。軟件的缺點在系統架構設計和開發階段都會悄悄潛伏到產品中。我們可以很容易的看到,相比在產品發布之前進行漏洞修補,在完成后修補漏洞顯然要代價要更昂貴。它的成本會百倍的增加嗎?這取決與多少個客戶系統被這個漏洞所影響,有多少系統需要被打補丁。
延伸閱讀
文章來源于領測軟件測試網 http://www.k11sc111.com/