軟件測試:孤獨的舞者[1] 軟件測試
軟件作為一種純數字化商品,在沒有權威的第三方進行監督認證的情況下,軟件供應商和用戶在軟件產品是否達到目標需求的問題上,往往各執一詞。
關于軟件質量標準和認證,國內雖然制定了有限的幾個軟件技術標準,但無法從根本上對軟件這種特殊商品實施有效的質量監督和認證。在國際上通行的做法是,軟件的質量標準和認證工作,由獨立的軟件測試機構來完成。這些測試機構的行為是市場化的,但因為測試能力和權威性將直接關系到它們的市場影響力,所以他們的測試行為極其嚴格,力求將垃圾軟件扼殺在搖籃中。
櫻花西街一座不太顯眼的大廈里,邁捷實驗室技術總監武友文從軟件測試說起,以第三方的視角分析了制約國內軟件發展的瓶頸,發表了不同意見,提出了自己的建議。
為什么需要軟件測試
“我是清華大學77級的學生,在國內做了3年軟件開發,隨后就去了加拿大讀研,專業是網絡協議測試。畢業后我在北電、惠普等公司做軟件質量的控制和測試項目!蔽溆盐妮p聲細語地說著自己的經歷,“1998年我回到國內,在對金融和電信行業進行考察時,發現他們買的硬件設備都是頂級的,可惜軟件應用這一塊跟不上,導致了硬件功能得不到充分的發揮。硬件設備低下的運行效率,造成了資源與資金的隱性浪費。不客氣地說,實際上,是國內軟件在拖硬件的后腿!
在武友文回國期間,國內一些軟件開發商通過朋友的引見,邀請武友文與公司研發人員交流時,武友文發現當時國內的軟件開發普遍存在“重開發,輕測試”的現象,常常是在項目開發完成之后,才發現軟件有嚴重缺陷問題,不得不全部推倒從頭再來。推倒重來則意味著前期人、財、物的投入全部浪費了,即大大增加了軟件的開發成本,又會因為超出了客戶的委托時間,付出的代價就更高了。
武友文以自己在國際公司的實踐經驗,一再強調,軟件測試是軟件開發過程中的一個重要步驟,或者說測試應該貫穿在軟件開發過程的每一個階段。軟件測試所起到的作用就是:能夠確保在軟件開發的過程中,隨時發現問題,方便開發人員及時修改。
在國內對于消費類軟件來說,經常出現一些已經推向市場的產品由于被發現有嚴重缺陷而導致大量退貨的局面。而對于定制的行業軟件來說,則是一再的返工、綿綿無絕期的修改和維護,既拖死了軟件提供商,也耽誤了客戶的正常業務。
這一系列現狀使用戶對國內軟件提供商失去信心,因此我們經常聽到有人抱怨:國內軟件沒法用,對于正在成長的國內軟件市場來說,這一結論無疑是滅頂之災。
武友文告訴記者:“因為國外軟件的成熟度高,開發商對軟件質量的控制力度很強,所以國外軟件測試外包的不是太多;不過在國外有些軟件需要比較專業的質量認證,例如軟件的本地化測試,就必須借助第三方機構來完成了。拿微軟來說吧,微軟的產品要翻譯成歐洲的6種文字,如果是自己來做這些本地化測試工作,成本就會很大,所以外包給別的公司來做就很合適;另外還有一種情況也會外包的,例如對一些大型軟件的測試,不一定每家開發商都有專業的測試隊伍和測試的工具。從成本上來說,某些軟件測試工作外包是經濟的。相反,國內軟件的成熟度比較低,軟件開發商基本沒有能力來做測試,我指的是專業的、職業的測試,所以從目前來說,國內軟件測試的市場空間很大!
憑著對軟件測試行業的深刻理解,武友文意識到要解決國內軟件應用滯后于硬件的問題,就必須提高國內軟件的質量,而要提高軟件質量,就必須加強軟件開發過程中的測試力量,而獨立的第三方測試機構正是一個市場空白點,于是專業從事軟件測試的邁捷實驗室就應運而生。
軟件測試如何做
文章來源于領測軟件測試網 http://www.kjueaiud.com/