qileilove

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

          性能測試中如何選取被測對象的業務邏輯

          很多搞性能測試的人員,只會跟著網上、前輩教導的方法進行測試:挑選業務邏輯中并發量、訪問量最高的業務邏輯、結合讀寫等業務進行測試,然后取整條業務邏輯(模擬用戶全流程動作)的邏輯進行測試;結果就是:準備大堆的測試數據,復雜的準備工作;其實那些數據只是用來滿足業務流中的條件,而不是真的能產生壓力的部分;
            筆者采用的方法:
            1、B/S結構中,用戶操作功能流程其實是前端js依次調用不同的CGI接口,后臺實現上面其實并沒有強依賴關系(只要滿足對應條件進行發包都能執行)。
            所以,首先挑選業務邏輯中用戶訪問最高的流程,然后從流程中挑選調用次數、壓力最大的CGI接口;這樣聚焦于對應的測試對象,可以避免很多無用的測試數據;
            2、根據業務邏輯,分析被測對象券流程中,所調用的接口,對于安全旁路、分支判斷等,根據情況進行取舍(有些業務只測試某個CGI,有些是測試全平臺,測試中根據情況進行聚焦)。
            3、根據分析情況直接修改被測對象代碼:通常接口調用形式都會使用iret方式來判斷,例如:
          /*原有代碼----begin*/
          iret=xxx.call(args1,args2,args3);
          if(iret != 0){
          print("xxxxx");
          break;
          }
          /*原有代碼----end*/
          iret=0 ---------- 添加iret=0,讓程序繼續走。
            這樣不會影響外部接口調用次數,不會影響網絡發包次數,但可能會影響單個網絡包大小進而影響網絡流量;同時稍微增加cpu負擔(賦值造成內存讀寫)。但其實我們要測的是業務主流程,而不是外部接口(外部接口如果有需要可單獨進行壓測),所以筆者認為也是可以采取此種方案,而不需要準備一大堆無用的數據,只需有針對性的進行業務邏輯選取即可;

          posted on 2014-09-26 10:07 順其自然EVO 閱讀(217) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 雅江县| 依兰县| 兴国县| 同德县| 延寿县| 湘西| 大足县| 屏山县| 女性| 灌阳县| 淅川县| 彭州市| 西青区| 新宾| 边坝县| 德阳市| 宝兴县| 茂名市| 定结县| 龙里县| 威信县| 桃源县| 漯河市| 宁波市| 旅游| 广州市| 茶陵县| 大冶市| 庄河市| 稷山县| 二手房| 吴川市| 青河县| 安阳市| 杂多县| 大丰市| 远安县| 四川省| 西乡县| 新余市| 天门市|