性能測試在軟件企業的應用
大型企業、大型項目的應用策略
大型企業應用的軟件系統,業務比較復雜、用戶數很多、存在并發情況、業務的響應時間、操作的實時性、穩定性、安全性、可恢復性等都要求很高。
象銀行、電信、鐵路等大型企業一般通過CMMI、 ISO等認證,企業擁有先進的管理模式、人員儲備豐富、實力雄厚,在涉足的領域基本處于不可撼動的地位。這些行業對性能的要求很高。在此僅舉一個鐵路售票 系統的例子:每逢春節、五一、十一,相信坐火車回家探親或度假的朋友一定身有體會。在火車站、車票零售點,人海茫茫,一望無際,此時火車售票系統正在經受 著巨大的性能考驗。全市幾百個售票網點同時緊張忙碌工作。售票過程一般分為兩步,首先根據購票者提供的要出行的日期、車次和目的地進行相關查詢,然后在有票的情況下,收取現金,打印出相應的車票交付給購票者。一個看起來簡單的兩個步驟,但當成百上千的終端同時執行時,情況就復雜了。如此眾多的交易同時發生,對應用程序本身、操作系統、中心數據庫服務器、中間件服務器、網絡設備的承受力都是一個嚴峻的考驗。由這些行業的性質決定了決策者不可能在發生問題后才考慮系統的承受力, 預見并發承受力, 是這些行業應該考慮的一個很重要的問題。
鑒于大型企業資金雄厚、管理規范、人員分工明確,筆者認為主要可以有兩種方式解決大型企業的性能測試問題。
解決方案一:構建自己的性能測試團隊
組建由性能測試專家、數據庫專家、網絡專家和系統軟件管理員以及資深的程序員(有的公司還有業務專家)構成的性能測試團隊。性能測試團隊是一個獨立的部門,在進行性能測試時,需要制定詳細的性能測試計劃、測試設計、測試用例,而后依據測試用例執行性能測試、分析性能測試結果,提出性能調整建議、書寫性能測試總結報告。在工具的選用方面,建議選擇商業性能測試工具,強大的功能、豐富的統計分析項、而且象Mercury LoadRunner和IBM Rational Performance Tester等工具還提供了專門的插件可以集成到IDE中,做粒度很細的工作,如看某個算法的執行時間、某個存儲過程的執行時間、甚至某個語句的執行時間等。這些優勢無疑為專家們定位系統問題提供了很好的依據。
解決方案二:專業性能測試機構為系統測試
如果企業沒有自己的性能測試部門,請專業的性能測試機構為系統做測試也不失為一個好辦法。專業軟件測試機 構具有成熟的測試流程和測試方法,由有豐富的工作經驗的性能測試工程師進行測試并提交專業的性能分析報告,可極大地提高測試有效性,同時企業不需為維護性 能測試而保留的由各方面專家組成的部門人員的高額費用(這種情況在很少進行性能測試的企業尤為重要)。還可保證測試的獨立性、公正性,避免了部門之間產生 矛盾或磨擦。
中型企業、中型項目的應用策略
中型應用的軟件系統,業務比較復雜、用戶數較多、存在并發情況,對業務的響應時間、穩定性等都有一定的要求。
中型企業一般通過ISO認證,企業擁有比較先進的管理模式、有一定的人員儲備、較強實力,在涉足的領域有比較有名氣,對性能的要求比較高。在此僅舉一個 汽車配件查詢系統的例子:該系統提供近千家的汽車配件信息,通常有50-120人在線。用戶操作的最多的就是查詢廠家及其配件信息的操作。這是一個典型的 中型項目。用戶并發數量不是很大,涉及到頻繁的查詢操作,對系統的響應時間和系統的穩定性要求比較高。
鑒于中型企業有較強實力、管理較規范、有一定的人員儲備,筆者認為主要可以有三種方式解決中型企業的性能測試問題。
解決方案一:臨時組建性能測試團隊
在測試部門和開發部門臨時組建由資深的程序員、資深的測試員、數據庫專家、網絡專家和系統軟件管理員構成的性能測試團隊。性能測試團隊不是一個獨立的部 門,分別由隸屬于開發、測試等部門的專家構成。在進行性能測試時,需要制定詳細的性能測試計劃、測試用例,而后依據測試用例執行性能測試、分析性能測試結 果,提出性能調整建議、書寫性能測試總結報告。在工具的選用方面,建議選擇商業性能測試工具,購買單協議的Mercury LoadRunner、IBM Rational Performance Tester等工具。也可以選擇開源的性能測試工具,如:Jmeter 、 OpenSTA等。還可以選擇免費的性能測試工具,如:Microsoft Web Application Stress Tool 或 Microsoft Application Center Test 。但是無論是開源工具還是免費的測試工具,因為這些工具為非商業工具,它們使用的熟悉過程時間長、統計分析項不是十分豐富以及產品的后期升級和技術支持沒 有保證都應該成為企業考慮的內容。
對于特定的模塊或者插件也可以進行針對性進行代碼編寫,進行相關性能測試。在此我僅舉一個例子,記得在開發一個汽車定損行業管理軟件時,系統需 要以FTP方式傳送汽車損壞情況照片,決定采用第三方提供的FTP服務器組件。需要對該FTP服務組件進行系統穩定性和并發性測試。經過項目組協商決定采 用自行編寫多線程程序模擬多個客戶端進行不間斷的持續FTP上傳和下載操作。自行編寫測試程序也不失為另一種性能測試的方法,但是在您進行程序編寫的時候 一定要注意您所應用的組件是否是線程安全的,如果線程不安全將會出現問題。
解決方案三:專業性能測試機構為系統測試
如果在時間緊、任務重以及在企業條件允許的情況下,請專業的性能測試機構為系統做測試也不失為一個辦法,其優勢不再贅述。
小型企業、小型項目的應用策略
小型應用的軟件系統,業務比較簡單、用戶數也不是很多、存在并發情況,對業務的響應時間、穩定性等都有一定的要求。
小型企業一般管理不是很規范、人員儲備不太充足、有一定的經濟實力,在涉足的領域有些名氣,對性能有一定的要求。在此僅舉一個進銷存管理系統的 例子:該系統為一個大型商場對日常進銷存業務的管理,通常有10-30人應用此系統。用戶操作的最多的就是查詢與銷售商品的操作。這是一個典型的中、小型 項目。用戶并發數量不大,涉及到頻繁的查詢和出庫操作,對系統的響應時間和系統的穩定性有一定要求。
鑒于小型企業有一定的經濟實力、管理不是很規范、人員儲備也不是很充足,筆者認為主要可以有兩種方式解決小型企業的性能測試問題。
解決方案一:臨時組建性能測試團隊
臨時組建由資深的程序員、數據庫專家、網絡專家和系統軟件管理員構成的性能測試團隊,有的公司可能存在上述提及人員不完整的情況,那么可以針對 項目的重要程度,適當增加相應的專家人員,必要時應該外聘一些專職或者兼職的專家。性能測試團隊不是一個獨立的部門,分別由隸屬于開發等部門的專家構成。 在進行性能測試時,需要制定詳細的性能測試計劃、測試用例,而后依據測試用例執行性能測試、分析性能測試結果,提出性能調整建議、書寫性能測試總結報告。 在工具的選用方面,可以考慮選擇商業性能測試工具,購買單協議的Mercury LoadRunner、IBM Rational Performance Tester等工具、或者購買具有一個月或者幾個月許可協議的商業性能測試工具。也可以選擇適合項目的開源、免費性能測試工具。
解決方案二:專業性能測試機構為系統測試
如果在時間緊、任務重或者軟件性能測試要求較高以及在企業條件允許的情況下,請專業的性能測試機構為系統做測試也不失為一個辦法,其優勢不再贅述。
posted on 2012-07-17 10:20 順其自然EVO 閱讀(168) 評論(0) 編輯 收藏 所屬分類: 性能測試