探討:如何提高軟件測試的水平 性能測試工具
“什么叫成熟產品?只要有一個成功案例的產品就是成熟產品!”某國內大型軟件公司CEO的這個經典觀點廣為流傳,但其中的邏輯錯誤將風險帶給了客戶也帶給了軟件企業本身。國內一些軟件企業居然一夜間成了萬能公司,ERP ? CRM ?OA?WorkFlow?我們都行!然而這些企業對軟件測試的重要性大多認識不足,重開發輕測試的現象過于嚴重,很多公司沒有專門的測試部門,測試工程師太少,開發人員兼作測試工作的現象十分普遍,在這種狀況下推出的缺少嚴格測試等環節的軟件產品只能給客戶帶來悲劇。
近年來,我國的軟件企業已越來越意識到軟件測試的重要性,逐漸加大軟件測試在整個軟件開發的系統工程中的比重。據調查統計,在成本上一般來說是“需求分析”和“規劃確定”各占3%,“設計”占5%,“編程”占7%,“測試”占15%,“投產和維護”占67%。近些年來,測試成本的比例更有上升趨勢 。
不成熟軟件帶來的風險
不成熟的軟件產品是把測試成本交給了用戶:企業往往是出于項目周期安排不當,或者根本沒有安排專門測試,匆匆完成編碼設計就將產品交付使用了。這樣的后果自然是用戶覺得產品漏洞百出,項目執行過程也遙遙無期,最后,項目雙方都筋疲力盡,用戶覺得受騙,而軟件商則毀了聲譽,追加了大量項目實施費用,可謂是“賠了夫人又折兵”。
企業邏輯的軟件實現高于計算機技術:很多軟件企業在沒有做透前期調研的前提下就匆匆開始建設自己想象中的“大廈”,結果可想而知。當用戶建立起真正的企業應用。才發現軟件違背了企業邏輯,不得不進行修改。這樣閉門造車無疑會給“大廈”帶來致命傷害。
注重軟件產品的質量和成熟度才會良性循環:有人把不成熟的軟件產品比作是焦油坑中垂死掙扎的猛獸,布魯克斯《人月神話》展示的可怕一幕在軟件研發過程中屢見不鮮。很多軟件企業常常將軟件質量視為一種奢侈,如果有必要的話,為了更多功能、更快速開發或者更低成本,測試就可以被犧牲掉。然而,在實踐中,如果軟件開發組織對質量有一個堅定承諾,實際上可以加快開發,減少成本,并更容易地增加新的特性。在“已完成”的產品缺陷修復上花費的代價要比從一開始就修復高出很多倍。相反,一個從開始就加強產品質量的組織,是有遠見和創新精神的,市場中的高質量軟件將更具競爭力。
找出測試管理中的誤區
筆者曾經從事專業的軟件項目管理與實施,項目管理感受很深刻。有一些切身體會與讀者分享。
吸取“前輩”經驗。IBM在軟件自動化測試技術核心的三個最佳成功經驗是:盡早測試、連續測試、自動化測試,并在此基礎上提供了完整的軟件測試流程和一整套的軟件自動化測試工具,組建一個測試團隊,基于一套完整的軟件測試流程,使用一套完整的自動化軟件測試工具,完成全方位的軟件質量驗證。
別去“挖東墻補西墻”。由于項目研發期的“缺斤短兩”,使項目實施和投入運行的初期 漏洞百出,時間一長用戶會發瘋,項目實施者也會發瘋,國內前幾年的眾多的ERP項目失敗的原因多出于此。項目實施的遙遙無期,將嚴重挫傷用戶的耐性和信心。
代碼與文檔哪個值錢?多數項目管理者忽視了文檔的重要性。對于大型軟件的研發項目,還需要專業的測試過程管理軟件來支撐大規模的信息交流和自動測試、代碼的更新和版本的提交。這些文檔和信息的價值從某種意義上甚至超出了程序代碼本身。
全程還是后期?軟件的設計階段往往沒有軟件測試人員的參與,事實上設計上的缺陷往往是耗用成本最高,也是最難在開發后期修復的缺陷。而一個軟件的質量與它有多大的設計缺陷有著密不可分的聯系。而有經驗的測試人員的質量意識,安全意識,對用戶需求的了解及分析能力,對于打造高品質的軟件設計都有著不可忽視的作用。
原文轉自:http://www.anti-gravitydesign.com