qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          性能測試在軟件企業(yè)的應用

          隨著軟件行業(yè)的不斷發(fā)展,越來越多的企業(yè)更加重視產品的質量。性能測試已經成為軟件質量保障的一個重要因素。一個軟件性能的優(yōu)劣很有可能直接決定一個軟件的成敗,甚至一個企業(yè)的興衰。每個軟件企業(yè)都有各自不同的應用領域,有著不同的實際情況,這樣必然要求每個企業(yè)量體裁衣,選擇適合自己的應用策略。

            大型企業(yè)、大型項目的應用策略

            大型企業(yè)應用的軟件系統(tǒng),業(yè)務比較復雜、用戶數很多、存在并發(fā)情況、業(yè)務的響應時間、操作的實時性、穩(wěn)定性、安全性、可恢復性等都要求很高。

            象銀行、電信、鐵路等大型企業(yè)一般通過CMMI、 ISO等認證,企業(yè)擁有先進的管理模式、人員儲備豐富、實力雄厚,在涉足的領域基本處于不可撼動的地位。這些行業(yè)對性能的要求很高。在此僅舉一個鐵路售票 系統(tǒng)的例子:每逢春節(jié)、五一、十一,相信坐火車回家探親或度假的朋友一定身有體會。在火車站、車票零售點,人海茫茫,一望無際,此時火車售票系統(tǒng)正在經受 著巨大的性能考驗。全市幾百個售票網點同時緊張忙碌工作。售票過程一般分為兩步,首先根據購票者提供的要出行的日期、車次和目的地進行相關查詢,然后在有票的情況下,收取現金,打印出相應的車票交付給購票者。一個看起來簡單的兩個步驟,但當成百上千的終端同時執(zhí)行時,情況就復雜了。如此眾多的交易同時發(fā)生,對應用程序本身、操作系統(tǒng)、中心數據庫服務器、中間件服務器、網絡設備的承受力都是一個嚴峻的考驗。由這些行業(yè)的性質決定了決策者不可能在發(fā)生問題后才考慮系統(tǒng)的承受力, 預見并發(fā)承受力, 是這些行業(yè)應該考慮的一個很重要的問題。

            鑒于大型企業(yè)資金雄厚、管理規(guī)范、人員分工明確,筆者認為主要可以有兩種方式解決大型企業(yè)的性能測試問題。

            解決方案一:構建自己的性能測試團隊

            組建由性能測試專家、數據庫專家、網絡專家和系統(tǒng)軟件管理員以及資深的程序員(有的公司還有業(yè)務專家)構成的性能測試團隊。性能測試團隊是一個獨立的部門,在進行性能測試時,需要制定詳細的性能測試計劃、測試設計、測試用例,而后依據測試用例執(zhí)行性能測試、分析性能測試結果,提出性能調整建議、書寫性能測試總結報告。在工具的選用方面,建議選擇商業(yè)性能測試工具,強大的功能、豐富的統(tǒng)計分析項、而且象Mercury LoadRunnerIBM Rational Performance Tester等工具還提供了專門的插件可以集成到IDE中,做粒度很細的工作,如看某個算法的執(zhí)行時間、某個存儲過程的執(zhí)行時間、甚至某個語句的執(zhí)行時間等。這些優(yōu)勢無疑為專家們定位系統(tǒng)問題提供了很好的依據。

            解決方案二:專業(yè)性能測試機構為系統(tǒng)測試

            如果企業(yè)沒有自己的性能測試部門,請專業(yè)的性能測試機構為系統(tǒng)做測試也不失為一個好辦法。專業(yè)軟件測試機 構具有成熟的測試流程和測試方法,由有豐富的工作經驗的性能測試工程師進行測試并提交專業(yè)的性能分析報告,可極大地提高測試有效性,同時企業(yè)不需為維護性 能測試而保留的由各方面專家組成的部門人員的高額費用(這種情況在很少進行性能測試的企業(yè)尤為重要)。還可保證測試的獨立性、公正性,避免了部門之間產生 矛盾或磨擦。

            中型企業(yè)、中型項目的應用策略

            中型應用的軟件系統(tǒng),業(yè)務比較復雜、用戶數較多、存在并發(fā)情況,對業(yè)務的響應時間、穩(wěn)定性等都有一定的要求。

             中型企業(yè)一般通過ISO認證,企業(yè)擁有比較先進的管理模式、有一定的人員儲備、較強實力,在涉足的領域有比較有名氣,對性能的要求比較高。在此僅舉一個 汽車配件查詢系統(tǒng)的例子:該系統(tǒng)提供近千家的汽車配件信息,通常有50-120人在線。用戶操作的最多的就是查詢廠家及其配件信息的操作。這是一個典型的 中型項目。用戶并發(fā)數量不是很大,涉及到頻繁的查詢操作,對系統(tǒng)的響應時間和系統(tǒng)的穩(wěn)定性要求比較高。

            鑒于中型企業(yè)有較強實力、管理較規(guī)范、有一定的人員儲備,筆者認為主要可以有三種方式解決中型企業(yè)的性能測試問題。

            解決方案一:臨時組建性能測試團隊

             在測試部門和開發(fā)部門臨時組建由資深的程序員、資深的測試員、數據庫專家、網絡專家和系統(tǒng)軟件管理員構成的性能測試團隊。性能測試團隊不是一個獨立的部 門,分別由隸屬于開發(fā)、測試等部門的專家構成。在進行性能測試時,需要制定詳細的性能測試計劃、測試用例,而后依據測試用例執(zhí)行性能測試、分析性能測試結 果,提出性能調整建議、書寫性能測試總結報告。在工具的選用方面,建議選擇商業(yè)性能測試工具,購買單協(xié)議的Mercury LoadRunner、IBM Rational Performance Tester等工具。也可以選擇開源的性能測試工具,如:Jmeter 、 OpenSTA等。還可以選擇免費的性能測試工具,如:Microsoft Web Application Stress Tool 或 Microsoft Application Center Test 。但是無論是開源工具還是免費的測試工具,因為這些工具為非商業(yè)工具,它們使用的熟悉過程時間長、統(tǒng)計分析項不是十分豐富以及產品的后期升級和技術支持沒 有保證都應該成為企業(yè)考慮的內容。

          解決方案二:自行編寫測試程序

            對于特定的模塊或者插件也可以進行針對性進行代碼編寫,進行相關性能測試。在此我僅舉一個例子,記得在開發(fā)一個汽車定損行業(yè)管理軟件時,系統(tǒng)需 要以FTP方式傳送汽車損壞情況照片,決定采用第三方提供的FTP服務器組件。需要對該FTP服務組件進行系統(tǒng)穩(wěn)定性和并發(fā)性測試。經過項目組協(xié)商決定采 用自行編寫多線程程序模擬多個客戶端進行不間斷的持續(xù)FTP上傳和下載操作。自行編寫測試程序也不失為另一種性能測試的方法,但是在您進行程序編寫的時候 一定要注意您所應用的組件是否是線程安全的,如果線程不安全將會出現問題。

            解決方案三:專業(yè)性能測試機構為系統(tǒng)測試

            如果在時間緊、任務重以及在企業(yè)條件允許的情況下,請專業(yè)的性能測試機構為系統(tǒng)做測試也不失為一個辦法,其優(yōu)勢不再贅述。

            小型企業(yè)、小型項目的應用策略

            小型應用的軟件系統(tǒng),業(yè)務比較簡單、用戶數也不是很多、存在并發(fā)情況,對業(yè)務的響應時間、穩(wěn)定性等都有一定的要求。

            小型企業(yè)一般管理不是很規(guī)范、人員儲備不太充足、有一定的經濟實力,在涉足的領域有些名氣,對性能有一定的要求。在此僅舉一個進銷存管理系統(tǒng)的 例子:該系統(tǒng)為一個大型商場對日常進銷存業(yè)務的管理,通常有10-30人應用此系統(tǒng)。用戶操作的最多的就是查詢與銷售商品的操作。這是一個典型的中、小型 項目。用戶并發(fā)數量不大,涉及到頻繁的查詢和出庫操作,對系統(tǒng)的響應時間和系統(tǒng)的穩(wěn)定性有一定要求。

            鑒于小型企業(yè)有一定的經濟實力、管理不是很規(guī)范、人員儲備也不是很充足,筆者認為主要可以有兩種方式解決小型企業(yè)的性能測試問題。

            解決方案一:臨時組建性能測試團隊

            臨時組建由資深的程序員、數據庫專家、網絡專家和系統(tǒng)軟件管理員構成的性能測試團隊,有的公司可能存在上述提及人員不完整的情況,那么可以針對 項目的重要程度,適當增加相應的專家人員,必要時應該外聘一些專職或者兼職的專家。性能測試團隊不是一個獨立的部門,分別由隸屬于開發(fā)等部門的專家構成。 在進行性能測試時,需要制定詳細的性能測試計劃、測試用例,而后依據測試用例執(zhí)行性能測試、分析性能測試結果,提出性能調整建議、書寫性能測試總結報告。 在工具的選用方面,可以考慮選擇商業(yè)性能測試工具,購買單協(xié)議的Mercury LoadRunner、IBM Rational Performance Tester等工具、或者購買具有一個月或者幾個月許可協(xié)議的商業(yè)性能測試工具。也可以選擇適合項目的開源、免費性能測試工具。

            解決方案二:專業(yè)性能測試機構為系統(tǒng)測試

            如果在時間緊、任務重或者軟件性能測試要求較高以及在企業(yè)條件允許的情況下,請專業(yè)的性能測試機構為系統(tǒng)做測試也不失為一個辦法,其優(yōu)勢不再贅述。

          posted on 2012-07-17 10:20 順其自然EVO 閱讀(167) 評論(0)  編輯  收藏 所屬分類: 性能測試

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 达尔| 深水埗区| 房产| 岳阳县| 孟津县| 兰州市| 七台河市| 鹤峰县| 乃东县| 盖州市| 日照市| 来安县| 大余县| 永康市| 克东县| 阿鲁科尔沁旗| 安宁市| 牟定县| 河南省| 嵊泗县| 马边| 新干县| 务川| 奉节县| 鹤山市| 井陉县| 纳雍县| 兴化市| 乌兰县| 义马市| 万荣县| 随州市| 波密县| 阿荣旗| 湘乡市| 菏泽市| 都昌县| 博罗县| 来宾市| 沅江市| 宜黄县|