qileilove

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

          通軟件性能測試與LoadRunner最佳實戰(zhàn) 連載一

          6.15  關于事務相關信息部分內(nèi)容

            事務的響應時間是我們平時經(jīng)常關注的一項性能指標,除此之外,在結果概要信息圖表中,您還會經(jīng)常看到事務的最小值(Minimum)、平均值(Average)、最大值(Maximum)、標準偏差(Std. Deviation)和90%事務(90 Percent)等相關信息內(nèi)容,這些數(shù)值代表什么?又是怎樣得來的呢?

            6.15.1  關于分析概要事務相關信息問題提出

            盡管我們都是性能測試的從業(yè)人員,可是作為測試人員通常都有一個對事物“懷疑”的心理,在這里就表現(xiàn)為LoadRunner給出的這個結果信息是否可信?以及相應的結果信息是如何得到的?

            這確實是一個很好的問題,但是,如何去證明LoadRunner 11.0的結果信息是正確的呢?大家在平時做功能測試的時候,是如何證明被測試的功能模塊是正確的呢?相信作為測試從業(yè)者,我們都會異口同聲地說:“我們都會設計很多測試用例,用例包括兩部分:輸入和預期的輸出,如果根據(jù)測試用例在被測試的功能模塊輸入相應的數(shù)據(jù),實際執(zhí)行結果和預期結果一致,那么就認為此功能模塊是正確的,否則就是失敗的。”回答得非常好,那么性能測試是不是可以效仿功能測試呢?回答是肯定的,為了驗證性能測試的執(zhí)行結果的正確性和各個結果信息的數(shù)據(jù)來源,我們也需要事先組織一些數(shù)據(jù),然后根據(jù)這些數(shù)據(jù)的內(nèi)容算出預期的結果,再通過LoadRunner 11.0去實現(xiàn)我們的想法,觀察最后執(zhí)行的結果是否和我們預期的一致,當然,如果一致就是正確的了,不一致,當然就證明兩者之間有一個是錯誤的,結合我們預期的設定來講,當然是LoadRunner 11.0是錯誤的。

            6.15.2  關于結果概要事務相關信息問題分析

            這里我有一個想法就是,我們事先準備10個數(shù)字,即:1、2、3、4、5、6、7、8、9、10,從這組數(shù)字當中不難發(fā)現(xiàn),最小的數(shù)值應該是1,最大的數(shù)值應該是10,這些數(shù)值的平均值為(1+2+3+4+5+6+7+8+9+10)/10=55/10=6.5,在這組數(shù)值里邊90%的數(shù)值都會小于或等于9,只有1個數(shù)值大于9,即:數(shù)值10。

            也許,聰明的讀者朋友們已經(jīng)想到了,我們是否可以借助LoadRunner 11.0的事務和思考時間來將我們的想法實現(xiàn)。“嗯,確實如此,我們的想法不謀而合”。

            6.15.3  關于結果概要事務腳本設計及其相關設置

            首先,我們可以在Virtual User Generator中編寫一個腳本,即:

          Action()
          {
           lr_start_transaction("思考時間測試事務");
           lr_think_time(atoi(lr_eval_string("{thinktime}")));
           lr_end_transaction("思考時間測試事務", LR_AUTO);
           return 0;
          }

            其中,“thinktime.dat”參數(shù)化文件內(nèi)容包括數(shù)值1到10,共計10個整數(shù)值,如圖6-178所示。

          圖6-178 “thinktime.dat”參數(shù)化文件內(nèi)容

            然后,設置“thinktime”參數(shù)的“Select next row:”為“Unique”,“Update value on:”為“Once”。

            接下來,啟動“Controller”讓我們來設定一個場景,我們在參數(shù)化的時候一共參數(shù)化了10條數(shù)據(jù)記錄,在場景設計的時候,也取10個虛擬用戶,如圖6-179所示。

          圖6-179 “Controller”場景設計對話框

           當然,如果您關心在負載的時候,每個虛擬用戶分別取到了哪些值,可以將測試執(zhí)行日志打開,根據(jù)需要,這里我們單擊圖6-180紅色區(qū)域所示按鈕,則出現(xiàn)“Run-Time Settings”對話框,如圖6-181所示。然后,選擇“Log”頁,請您根據(jù)自己的情況,選中日志的擴展情況,這里我們選中“Parameter substitution”選項。

          圖6-180  場景設計對話框

          圖6-181 “Run-Time Settings”對話框

            而后,單擊“Run”頁,如圖6-182所示,再單擊圖6-183的“Start Scenario”按鈕,則開始執(zhí)行場景。

          圖6-182  場景設計對話框

          圖6-183  場景執(zhí)行對話框

            您可以單擊“Results>Analyze Results”菜單項或者單擊工具條對應的功能按鈕,如圖6-184所示,就可以將執(zhí)行完成后的結果調(diào)出來。

          圖6-184  場景執(zhí)行對話框

          6.15.4  如何解決結果概要信息不計入思考時間問題

            測試結果出來后,首先,映入眼簾的是“Analysis Summary”圖表信息,但是您是不是被“Transaction Summary”的數(shù)據(jù)驚呆了呢?參見圖6-185所示,為什么圖中所有的數(shù)值均為“0”呢?相信有很多朋友對這個結果也感到莫名其妙,再回頭看看我們的腳本,腳本中使用了思考時間,即“lr_think_time()”函數(shù),而在“Analysis”應用中在默認的情況下,是忽略思考時間的,所以就出現(xiàn)了這樣的一個結果。那么如何使響應時間中包括思考時間呢?非常簡單,您可以單擊屬性“Filter”,默認情況下該屬性值為“do not Include Think Time”,單擊該屬性值后面的按鈕,如圖6-186所示。

          圖6-185  結果分析應用界面

          圖6-186  結果分析應用界面

            單擊按鈕后,則出現(xiàn)圖6-187所示界面,單擊“Think Time”過濾條件,在“Values”列選中“Include Think Time”復選框。

          圖6-187  結果概要分析過濾對話框

            設定好過濾條件后,單擊“Analysis Summary Filter”對話框的“OK”按鈕,此時您會發(fā)現(xiàn)結果信息的內(nèi)容發(fā)生了改變,先前為“0”的數(shù)值項現(xiàn)在已經(jīng)有了數(shù)值,如圖6-188所示方框部分內(nèi)容。

          圖6-188  事務概要信息內(nèi)容

            (未完待續(xù))

          版權聲明:51Testing軟件測試網(wǎng)及相關內(nèi)容提供者擁有51testing.com內(nèi)容的全部版權,未經(jīng)明確的書面許可,任何人或單位不得對本網(wǎng)站內(nèi)容復制、轉(zhuǎn)載或進行鏡像。51testing軟件測試網(wǎng)歡迎與業(yè)內(nèi)同行進行有益的合作和交流,如果有任何有關內(nèi)容方面的合作事宜,請聯(lián)系我們。


          posted on 2013-06-25 10:29 順其自然EVO 閱讀(344) 評論(0)  編輯  收藏 所屬分類: loadrunner

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 南宫市| 阜宁县| 汝州市| 曲阜市| 多伦县| 鄱阳县| 韶关市| 安塞县| 新安县| 黄骅市| 东丰县| 页游| 延边| 防城港市| 乃东县| 卢氏县| 宁德市| 滦平县| 肇源县| 家居| 增城市| 鲜城| 翁牛特旗| 革吉县| 海丰县| 平山县| 休宁县| 富民县| 肃南| 宜兰市| 张家口市| 郸城县| 晋江市| 樟树市| 隆回县| 博罗县| 望城县| 长葛市| 南昌县| 奈曼旗| 夏邑县|