• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 對性能測試更快處理大量的測試數據參數

    發表于:2012-04-06來源:IBM作者:Bharath Raj點擊數: 標簽:性能測試
    在運行時測試使用系統內存以測試數據參數 如果處理的是非常大的數據匯,對于每種類型的測試數據記錄的數量是 100,000,帶有特定的模式,更好地使用通用代碼,邏輯建立在模式的基礎之上,將腳本中的運行時數據參數化

      在運行時測試使用系統內存以測試數據參數

      如果處理的是非常大的數據匯,對于每種類型的測試數據記錄的數量是 100,000,帶有特定的模式,更好地使用通用代碼,邏輯建立在模式的基礎之上,將腳本中的運行時數據參數化,而不是創建一個數據匯。數據匯 就是包含測試數據的一個文件。它需要從工作臺機器上轉移至代理,并且代理使用文件中的測試數據在運行時讀取。這些讀取操作涉及到高通過請求期間的繁重 I/O 活動,導致操作系統對 CPU 過度使用。

      在這個事件中,您不能使用性能測試軟件來獲得需要數量的高通過負載,因為這會“阻塞”系統資源,并成為運行性能測試的一個瓶頸。為了完全緩和該 I/O 活動,您可以使用測試腳本之中的通用代碼,通過快速地計算來生成數據(基于邏輯),而數據是從物理內存之中存儲和讀取的。物理內存讀取/寫入操作要比硬盤上的操作更為快捷,所以這可以有效地提高負載生成請求的總體性能。

      范例:從系統內存之中生成數據匯

      考慮一個簡單的范例,一個網絡程序的用戶名需要進行參數測試。如果用戶的數量是 100,000 或者更多。那么您最好使用一個公共的模式來執行邏輯,來對每一次迭代生成一個用戶名 ID。按照這里描述的步驟來實施 –

      識別一個公共的模式

      讓我們說所有的用戶名以詞語 username 開始,接著是一個數字。例如:username1,username2,username3。

      創建一個新的測試變量,并將它的值初始化為 Username1,如圖 1 所示:

      打開測試腳本。

      點擊 Test Variables 部分并將其展開。

      注意 Test Variables 部分下面所列出的測試變量。如果沒有,當 Test Variables 被選中時點擊 Add。

      點擊 Variable Declaration 這樣您就可以添加一個新的變量了。

      圖 1. 在 Rational Performance Tester 中創建一個新的測試變量

    Test Contents 視圖,選中的 Variable Declaration

      圖 2. 注意您可以將一個測試變量初始化為一個文本或者數據匯值

    只是在需要時初始化用戶名變量

      創建通用代碼

      登錄到程序之后在載人的頁面上創建一個通用代碼,然后將代碼清單 1 之中的代碼粘貼到通用代碼類之中的 exec 方法中。

      清單 1. 通用代碼之中的 Exec 方法

    				
    public String exec(ITestExecutionServices tes, String[] args) {
    	
      /**
      * This code snippet obtains the previously used username for logging into the 
        application and increments it by 1 to get the next username in the test data 
      */
    	
      String number = "";
    	
      /**
      * The assumption here is that all usernames begin with the word - "Username" and 
        has '8' characters in it.
      * Variable "number" is the value 'n' for 'nth' user or nth row of the data pool or can 
        be also thought of as the 'nth' iteration of the test
      */
    	
      for (int i=0;i<((args[0].length())-8);i++)
      {
        number+=Character.toString(args[0].charAt(8+i));
      }
      int num = Integer.parseInt(number);
      num++;
    	
      return "Username"+Integer.toString(num);
    	
      /**
      * This returns the username appended with the next value of 'n' in the 'nth' iteration
      */
    }

      在 Custom Code – Select Arguments 窗口之中,Test Variables 之下,選中 Username_Variable 以添加它作為該通用代碼之中的論斷,如圖 3 所示。

      圖 3.添加 Username 變量作為通用代碼之上的論斷

    選擇的 Username_Variable 復選框

      登錄之后,在載人頁面的數據匯變量列表之中選擇 Username 變量,然后按照圖 4 之中所顯示的進行編輯:

      選擇顯示 Username 變量的頁面作為測試數據。提示: 另外一種探明 Username 變量是否是測試數據的方式,就是查看其顏色模式。Rational Performance Tester 軟件中運行時進行參數化變量所采用的顏色代碼是綠色。

      在測試數據表下選擇用戶名變量。

      點擊 Substitute 按鈕并在顯示的選項列表之中選擇 Custom code。

      圖 4. 在不輸出通用代碼的情況下替換用戶名變量

    使用代碼輸出替換 Username 變量

      插入 Variable assignment 來向通用代碼分配變量(見于圖 5)。在測試腳本之中必須重復使用測試變量。這意味著需要使用新值來更新它的值,不管何時執行邏輯都可以。您可以按照下面的步驟來更新值:

      執行時選擇將會更改測試變量的通用代碼。

      點擊 Insert,選擇 Variable Assignment。

      圖 5. 分配給通用代碼的 Username 變量

    從下列菜單之中選擇的 Variable Assignment

      從列表的選項之中選擇 Username_Variable,并通過點擊 DataSource Value 單選按鈕,并選擇提供選項之中的通用代碼,來設置 Username_Variable 以輸出通用代碼。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>