qileilove

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

          性能測試個人經驗小結

           性能測試定義:
            通過一定的工具結合相應的測試方法,對部署的系統應用進行測試,發現系統應用內部存在的代碼邏輯問題及應用部署的機器硬件資源瓶頸問題及應用部署架構存在架構錯誤問題,如:網絡端、客戶端、服務端搭建的架構問題;
            負載測試:是一個分析軟件應用程序和支撐架構、模擬真實環境的使用,從而來確定能夠接收的性能過;
            壓力測試(Stress Testing):是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試;
            性能測試的目的:
            性能測試的目的主要體現在三個方面:以真實的業務為依據,選擇有代表性的、關鍵的業務操作設計測試案例,以評價系統的當前性能;當擴展應用程序的功能或者新的應用程序將要被部署時,負載測試會幫助確定系統是否還能夠處理期望的用戶負載,以預測系統的未來性能;通過模擬成百上千個用戶,重復執行和運行測試,可以確認性能瓶頸并優化和調整應用,目的在于尋找到瓶頸問題;
            項目開發周期:初始時刻,項目更多關注的是功能實現,此時功能測試顯得尤為重要,測試的提前介入,可以提前預測風險,減少項目開發周期、節約開發成本;功能測試后的階段,個人認為應該是性能測試(試想,如果一個項目連功能都實現不了,更何談性能測試);在功能完畢之后,引入性能測試,通過性能測試對開發項目潛在的問題進行排查(功能測試,僅僅是幾個人或者幾十個人簡單的對應用功能的一個測試,對于應用真正上線后的大量用戶使用,應用存在的潛在風險,并不能做很好的預估,尤其是當前空前的競爭壓力下,應用上線后的失敗,很可能導致整個項目的失敗;例如:12306訂票網站,使用量之大,可能全世界前所未有,調動全國人力去測試應用性能問題,肯定是不可能的。如果事先不經過性能測試,貿然上線,在如此之多的用戶使用情況下,系統崩潰將是怎樣的一種后果。);
            案例分享:編者曾經從事過一個項目,伴隨項目的始終。前期階段,由于測試提前介入,以及項目開發采用的敏捷開發方式,項目很快在不到半年的時間內,功能近乎完美完成。項目經理本著穩妥起見,引入性能測試,對項目潛在的風險進行評估,然后就搭建了一套模擬環境,專用于性能測試,搭建的模擬環境30用戶并發運行,項目一點問題沒有,進一步提升并發用戶數,各種問題接踵而來;經過系統調優后(發布的應用系統參數等),部分問題解決;為了進一步測試實際情況下存在問題,性能測試環境由模擬環境切到了生產環境上,此時是大量用戶下的并發,部分業務是沒有問題的,但是更多的問題是集中在涉及到工作流的一些業務場景上,后臺日志各種報錯;通過抓取后臺日志,對問題進行定位分析,很快排查解決了代碼開發中存在的一些邏輯問題;代碼修復后重新上線,問題已基本不存在了;項目也很快結束,大大的縮短了項目開發周期、節約了開發成功、更好的適用于用戶;
            性能測試注意點:
            錄制腳本盡量模擬實際用戶操作,在場景設計時,盡量與實際場景一致,對于用戶使用比較多的業務,應著重關注;
            性能測試盡可能在實際生產環境上進行,普通模擬環境并不能真正發現實際生產環境下,應用存在的問題,但是并非棄用模擬環境;
            性能測試,對于應用系統部署的環境上,可能需要部署一些系統性能監控軟件,在軟件的選取上,盡可能降低軟件自身運行對系統性能的影響;
            性能測試,特別是應用與數據庫交互的業務操作上,需要提前預制符合性能測試業務需求的數據,在此基礎上,盡量讓環境測試環境可多次重復使用,這就要求數據、應用可還原;
            性能測試技能掌握要求:
            測試環境搭建,環境搭建不僅僅是性能測試所需要具備的技能,也是測試人員所需要具備的基本技能;很多測試,包括應用的安裝卸載,都需要測試人員具備這一技能;
            應用搭建使用協議的了解,很多情況下,性能測試人員需要錄制測試腳本,這就要測試人員對應用采用的協議有充分的了解;
            服務器架構的了解,單一的一臺服務器、多臺服務器情況下的集群架構等,了解服務器架構,可以為性能測試人員初期性能調優提供幫助;
            操作系統機能的掌握,特別是Linux操作系統的了解,當前大多數的應用部署在Linux操作系統之上,性能測試人員需要掌握操作系統知識這一基礎技能;
            數據庫知識,面對大數據時代,數據庫機能的掌握不僅僅可以為性能測試服務,還可以為你今后的華麗轉型,提供良好保障,華麗的DBA;
            良好的編碼思量。基礎的編碼知識,對于編碼的了解,可以為你今后沖擊高級性能測試工程師提供有力保障,一個高級性能測試工程師,應當具有性能調優這一技能,編碼就顯得尤為重要;
            對于新技術、新思想的一種追求與掌握;

          posted on 2014-07-30 09:38 順其自然EVO 閱讀(380) 評論(0)  編輯  收藏 所屬分類: 性能測試

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大方县| 广西| 苏尼特右旗| 黎平县| 永济市| 塘沽区| 金塔县| 上高县| 赤水市| 温宿县| 晋中市| 淮安市| 黄石市| 清远市| 武功县| 米林县| 平罗县| 大竹县| 贵州省| 六枝特区| 梁河县| 潮州市| 金昌市| 潼南县| 咸阳市| 广水市| 桐柏县| 青田县| 金昌市| 张家界市| 涿州市| 府谷县| 兴隆县| 南陵县| 海林市| 江永县| 新田县| 会理县| 白沙| 青岛市| 印江|