軟件測試:孤獨的舞者
發表于:2008-07-11來源:作者:點擊數:
標簽:軟件測試舞者
關鍵字:軟件測試 孤獨的舞者 軟件作為一種純數字化商品,在沒有權威的第三方進行監督認證的情況下,軟件供應商和用戶在軟件產品是否達到目標 需求 的問題上,往往各執一詞。 關于軟件質量標準和認證,國內雖然制定了有限的幾個軟件技術標準,但無法從根本上
關鍵字:軟件測試 孤獨的舞者
軟件作為一種純數字化商品,在沒有權威的第三方進行監督認證的情況下,軟件供應商和用戶在軟件產品是否達到目標
需求的問題上,往往各執一詞。
關于軟件質量標準和認證,國內雖然制定了有限的幾個軟件技術標準,但無法從根本上對軟件這種特殊商品實施有效的質量監督和認證。在國際上通行的做法是,軟件的質量標準和認證工作,由獨立的軟件測試機構來完成。這些測試機構的行為是市場化的,但因為測試能力和權威性將直接關系到它們的市場影響力,所以他們的測試行為極其嚴格,力求將垃圾軟件扼殺在搖籃中。
櫻花西街一座不太顯眼的大廈里,邁捷實驗室技術總監武友文從軟件測試說起,以第三方的視角分析了制約國內軟件發展的瓶頸,發表了不同意見,提出了自己的建議。
為什么需要軟件測試
“我是清華大學77級的學生,在國內做了3年軟件
開發,隨后就去了加拿大讀研,專業是
網絡協議測試。畢業后我在北電、惠普等公司做軟件質量的控制和測試項目?!蔽溆盐妮p聲細語地說著自己的經歷,“1998年我回到國內,在對
金融和
電信行業進行考察時,發現他們買的硬件設備都是頂級的,可惜軟件應用這一塊跟不上,導致了硬件功能得不到充分的發揮。硬件設備低下的運行效率,造成了資源與資金的隱性浪費。不客氣地說,實際上,是國內軟件在拖硬件的后腿?!?nbsp;
在武友文回國期間,國內一些軟件開發商通過朋友的引見,邀請武友文與公司研發人員交流時,武友文發現當時國內的軟件開發普遍存在“重開發,輕測試”的現象,常常是在項目開發完成之后,才發現軟件有嚴重
缺陷問題,不得不全部推倒從頭再來。推倒重來則意味著前期人、財、物的投入全部浪費了,即大大增加了軟件的開發成本,又會因為超出了客戶的委托時間,付出的代價就更高了。
武友文以自己在國際公司的實踐經驗,一再強調,軟件測試是軟件開發過程中的一個重要步驟,或者說測試應該貫穿在軟件開發過程的每一個階段。軟件測試所起到的作用就是:能夠確保在軟件開發的過程中,隨時發現問題,方便開發人員及時修改。
在國內對于消費類軟件來說,經常出現一些已經推向市場的產品由于被發現有嚴重缺陷而導致大量退貨的局面。而對于定制的行業軟件來說,則是一再的返工、綿綿無絕期的修改和維護,既拖死了軟件提供商,也耽誤了客戶的正常業務。
這一系列現狀使用戶對國內軟件提供商失去信心,因此我們經常聽到有人抱怨:國內軟件沒法用,對于正在成長的國內軟件市場來說,這一結論無疑是滅頂之災。
武友文告訴記者:“因為國外軟件的成熟度高,開發商對軟件質量的控制力度很強,所以國外
軟件測試外包的不是太多;不過在國外有些軟件需要比較專業的質量認證,例如軟件的
本地化測試,就必須借助第三方機構來完成了。拿微軟來說吧,微軟的產品要翻譯成歐洲的6種文字,如果是自己來做這些本地化測試工作,成本就會很大,所以外包給別的公司來做就很合適;另外還有一種情況也會外包的,例如對一些大型軟件的測試,不一定每家開發商都有專業的測試隊伍和測試的工具。從成本上來說,某些軟件測試工作外包是經濟的。相反,國內軟件的成熟度比較低,軟件開發商基本沒有能力來做測試,我指的是專業的、職業的測試,所以從目前來說,國內軟件測試的市場空間很大?!?nbsp;
憑著對軟件測試行業的深刻理解,武友文意識到要解決國內軟件應用滯后于硬件的問題,就必須提高國內軟件的質量,而要提高軟件質量,就必須加強軟件開發過程中的測試力量,而獨立的第三方測試機構正是一個市場空白點,于是專業從事軟件測試的邁捷實驗室就應運而生。
軟件測試如何做
“邁捷成立之初,主營業務只是受客戶委托,測試已經開發完畢的軟件,更多的是事后驗收工作,后來我們慢慢的從事后測試,向質量控制上轉型,例如開始介入軟件開發前的需求評審,以及開發時的文檔評審、代碼走查等等。我們最終的發展方向就是做軟件監理,但是不能不承認,目前我們與國際上通行的軟件監理還有一定的距離?!闭f到邁捷的發展方向,武友文沉穩中略顯激昂。
武友文接著說:“美國實際是在軟件規模的擴大和結構的不斷復雜的情況下,開始建立軟件測試制度和規矩的。我想美國在軟件開發的起步階段,也不會自己主動去做,是在現實的壓力下,才去實施這些流程規范的。國內一定要有這種意識,意識到軟件開發過程中一定要引進這些規章制度。另外,意識到了還不行,一定要實踐。
軟件測試現狀
武友文向記者提供的一個市場調查報告說明,目前國內做軟件測試的機構,還沒有發現與邁捷公司商業形態相同的企業,只是有某些政府部門下屬的機構做一些軟件產品驗收工作,但完全商業化操作的機構沒有;另外就是開發商臨時承接的一些軟件測試項目。當記者問到邁捷實施軟件測試時遇到的最大障礙是什么時,武友文很爽快的回答到: “一是客戶的意識,二是我們派出的項目實施人員的素質問題?!?nbsp;
實施軟件評測項目時,客戶要有接受管理軟件開發流程的意識。
客戶交給開發商一個項目,通過測試等質量掌控流程,可以將產品的
質量保證在一個相對較高的水準,減少后續工作的成本。但是現在很多開發商和客戶很短視,覺得只要現在沒有出問題,就可以了,不愿意在軟件開發過程中,讓測試介入的程度不深,這導致測試不完全,埋下了隱患。
無論是對軟件開發商還是對客戶來說,忽視軟件測試,必將導致上的軟件開發項目越多,將來會被這些有問題的項目給拖死的概率越高。
武友文說:“有獨立的軟件測試第三方的出現,好處就是嚴格地掌控軟件質量,減少維護成本,這不光對客戶有好處,對開發商也有好處。所以一個項目,在我們實施很長一段時間,大約是半年至兩年后,客戶才意識到這樣做是有用的。這很正常,因為軟件開發一定會有大大小小的問題,包括我們評測也有一些問題查不出來?!?nbsp;
邁捷對派出的項目實施人員的標準很高,要求既有綜合素質,又要有專業素質,目前國內這種復合型的人才太少了,于是邁捷只能自己培養。
而人才
培訓,則令武友文最為頭痛。人才培養是邁捷在資金和力量上投入最大的一塊。其中專業素質的培訓最難,因為需要實踐。這如同醫生一樣,從醫學校畢業了,雖然有很多理論上的積累,但是缺乏臨床經驗,你還不是一個合格的醫生,更別談做一個好醫生了。項目實施管理者也一樣,既要有理論基礎,更要有經驗積累,而一個優秀的項目實施管理者重要的素質是,能在按流程做的基礎上,發揮個人的主觀能動性,這個要求就太高了,但這又是項目實施成否的關鍵。
國內軟件業和國外相比,最大的差異就在:質量和質量控制應該是最重要的一項內容。但是,無論在消費類軟件還是大型軟件的測試領域,與國外相比,國內軟件產品的質量掌控體系和標準都是模糊的。國內軟件提供商的質量承諾,既沒有相應機構的監督,質量水平也沒有第三方來認證,承諾顯得極其蒼白而無力。
可喜的是,軟件測試機構在我國正逐漸成長起來,并且,它們在軟件市場上的影響力正逐步得到提升。因缺乏
游戲規則導致整個軟件行業的市場行為不規范,并且嚴重制約軟件行業健康成長的局面,一定會有所改善。
采訪后記:
軟件評測只是用技術手段來監控軟件產品的質量,并不能從根本上提高我國軟件產品的水平。目前,國內最缺的是軟件項目實施的高級管理人才和軟件結構分析的專業人才。這種高級人才的培育制度才是最重要的,缺乏高級人才培養的后果,會影響國內軟件的進程。與培養軟件藍領相比,雖然高級人才培育的時間周期長,資金投入大,但是我們一定不能急功近利,要有這種憂患意識,去做這項有長遠影響的工作。這種工作不是非得要誰去做,但是我們一定要有這種意識去投入去做。
在采訪中,武友文認為大量的藍領、很少的白領,這樣的軟件產業肯定有問題。不少人對將軟件分為對白領藍領很有意見,軟件開發流程應該有一定的延續性。因為寫程序不難,誰都能寫,難的是寫出合格的、優秀的程序。單一的寫程序對軟件開發很不合適,如果你不懂別的,譬如軟件架構和質量目標,那么程序也寫不好。單從編程的角度進行培訓,對藍領見效快,對白領則不太公平。
日本在軟件開發中分得很細,國內接日本軟件外包的業務很多,但大部分只是負責一個模塊。軟件是個創造性的工作,變成流水線工業化生產也許有問題。在我們的軟件開發中,往往技術是不成問題的,但是管理是個大問題。我們的軟件企業中,各個員工意識不一樣,在不同的階段理解不一樣,管理人員的素質也不一樣。軟件管理和測試是一個需要反復實踐的過程,要通過反復的實踐才能解決問題。這些問題根本不是培訓大量的軟件藍領就能解決的。
現在關于
軟件工程的培訓很多,如果只是講課意義不大,這些課在學校都已經講過了,現在要的是實踐。但是,目前國內還很欠缺這種實踐的機會。
相關連接
原文轉自:http://www.kjueaiud.com