qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          性能測試中如何選取被測對象的業(yè)務(wù)邏輯

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

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 三台县| 玛沁县| 黑水县| 麻江县| 胶南市| 同心县| 商洛市| 荣成市| 太湖县| 城口县| 苏尼特左旗| 汤阴县| 洪洞县| 南部县| 建平县| 宁乡县| 平江县| 简阳市| 清新县| 昭觉县| 固镇县| 上高县| 南充市| 元朗区| 曲阳县| 綦江县| 漳州市| 余姚市| 东阳市| 额尔古纳市| 宁明县| 太康县| 凌海市| 东乌| 青神县| 河间市| 龙泉市| 云林县| 黄梅县| 新龙县| 玉门市|