Home | ezMoney | Download | My KB | Job | Contact Me

What’s New in LoadRunner 8.1

Mercury已於2005年9月7日正式發表LoadRunner 8.1,但是一直到最近才有機會試一下LoadRunner 8.1,發現LoadRunner 8.1比8.0多了一些新功能,像是說明文件、支持的protocol、monitor,其中我覺得改變最大的是整個VuGen的使用介面變得更為簡單,而且透過工作流程精靈的方式,一步一步地引導使用者使用VuGen建立腳本,不僅是讓初學者更容易上手,即使你已經很熟悉VuGen的使用,透過工作流程精靈更是可以讓你在整個腳本建立過程中,減少出錯的機會,並大大縮短建立腳本所需花費的時間。


線上說明文件
在說明文件部分,除了原本就有的Tutorial教學文件之外,Tutorial教學文件中使用到的範例檔案(腳本、Scenario、分析結果)也可以在Tutorial目錄下找到。
另外還多了一個20頁的QuickStart文件,快速並且簡單的說明如何使用LoadRunner。
除此之外,說明文件還提供了一份Troubleshooting Guide的線上說明文件,內容清楚的解釋了在Controller output視窗或是VuGen Execution Log中出現的錯誤訊息,而更方便的是你可以直接選取錯誤訊息後,按下F1按鍵就會直接開啟該錯誤訊息的說明文件,省卻另外再搜尋的時間。

支援的Protocol
在支援的protocol部分則是多了ADO.NET以及Oracle 10G的錄製與播放。

支援的Monitor
在monitor部分多了SAP Transaction Breakdown(原本在LoadRunner 8.0就提供了J2EE, .NET, Oracle的Transaction Breakdown)以及與SiteScope(Mercury的系統監控軟體)整合。

VuGen
最後則是VuGen的部份,感覺上Mercury以「讓使用者更容易使用」為目標,做了很大的改進,以下將逐一說明:

工作流程精靈(Workflow Wizard)
首先是新版的VuGen加入了工作流程精靈(Workflow Wizard)的引導模式,這種工作流程精靈的使用介面,其實在另一家壓力測試工具Silk Performer是早就已經提供的。
當你開啟一個新腳本,如Web腳本,首先你會看到以下的畫面,在視窗的左邊會出現一個顯示工作流程的工作窗格,右邊則是顯示建立腳本的流程:Recording → Verification → Enhancements → Prepare for Load。
在工作流程的工作窗格上會列出建立虛擬使用者腳本的詳細流程與工作,同時上面會有個紅色的箭頭,指示你目前是位於流程中哪一階段的工作,同時在右邊的畫面,也會顯示出此工作的相關操作與說明,引導你完成整個建立腳本的流程。當你完成某個工作之後,就可以按一下工作窗格下方的【Next】按鈕,進入下一階段的工作。

當你點一下左邊工作窗格上的【Recording Application】就會出現下面的畫面,說明錄製前的準備動作、什麼是Action、設定Recording Options,然後按下【Start Recording】開始錄製。

在右邊畫面中類似超連結的文字都是可以點選的,點選之後就會開啟相關的視窗或是說明文件。例如按下【Open Recording Options】會開啟【Recording Options】的視窗。
當按下【Start Recording】後,VuGen一樣會開啟【Start Recording】視窗,輸入【URL Address】後按下【OK】就會自動執行瀏覽器並且開啟剛剛輸入的URL。

同樣的錄製時也會有浮動工具列。

當錄製完整個操作動作後,按下【Stop】,進入到下一個工作【Recording Summary】,顯示剛剛是以哪種Protocol錄製腳本,並且錄製在哪個Action中,假如有問題,還可以點【Recording log】看看錄製過程中倒底發生了哪些事件。當然假如錄製的腳本不小心操作作錯了,或是過程中有發生問題,你還可以按下【Record Again】按鈕再重錄一遍。
在畫面的最右邊,你還可以看到錄製過程中,VuGen擷取的縮圖(Thumbnails),這也是VuGen新增加的功能支一,主要是方便你了解剛剛錄製的操作,你可以更改縮圖的名稱或是加上註解,以便讓其它人也可以知道你的腳本在做些什麼。

錄製完成之後,當然就是執行腳本,看看腳本能不能正確執行無誤囉!所以就按一下【Verify Replay】進入下一個工作Verification。在執行腳本前,可以根據需要,點一下【Run-Time Settings】,開啟【Run-Time Settings】視窗,做些設定,像是執行次數、log、think time等。OK後就可以按下【Start Replay】按鈕,執行腳本了。

腳本執行完後,你會看到下面的畫面,顯示最新一次的執行結果,最主要是Replay Status地方有沒有出現Error的字樣,沒有的話,恭喜你,腳本執行是OK的。當然你也可以對照右邊錄製以及執行的縮圖,看看業面對不對,來判斷腳本執行有沒有問題。假如腳本執行有問題,也提示你有可能是伺服器產生的動態資料(Dynamic Server Values)所造成的,這時就需要使用關聯(Correlation)的技巧來解決。

腳本執行都沒問題之後,進入下一工作Enhancement,加強腳本,例如加上交易(Transactions)、加上參數(Parameters)、加上內容檢查(Content Checks)等。

點一下左邊的【Transactions】,就會出現交易編輯器(Transaction Editor),這也是新版VuGen新增的功能。要加上一個交易,只需要簡單的三個步驟。例如要加上一個Login的交易,先按下右邊【New Transaction】按鈕後,滑鼠的游標會改變成Star_Transaction的圖示,然後在登入的頁面左邊點一下,然後滑鼠游標便成End_Transaction圖示後,在登入頁面右邊點一下,最後再輸入交易名稱「Login」,就完成建立一個交易的動作了。
除了建立之外,你也可以在交易編輯器管理並修改所有的交易。在編輯器的右邊會出現腳本所有的交易,方便你選取任一個交易,並且執行更名以及刪除的動作,當然也可以直接跳到腳本中交易的位置。在中間的畫面,你更可以透過拖曳方式任意移動交易的起始結束點,並且做更名的動作。所以透過交易編輯器,對於所有交易的管理,是不是變得更容易了!

加完交易之後,點一下右邊的【Parameterization】,進入參數化的工作。在這邊你可以點選【switch to edit mode】進入腳本的編輯模式進行參數化的動作,之後再點選【Parameter list】開啟參數設定視窗,新增並修改參數值,以及設定參數的行為。
假如你不知道怎麼做參數化,甚至不清楚什麼是參數化,沒關係,點選【Parameterization Tutorial】會開啟參數化的說明文件,一步一步的教你,讓你搞懂如何做參數化。
當然做完之後,記得要按一下【Replay Script】執行腳本,以確保參數化是正確的。

做完參數化之後,你還可以針對頁面內容做檢查點,例如在買完機票後,一定要在Invoice頁面出現「Thank you for booking through Mercury Web Tours.」的字串,你可以在【Content Checks】這個階段加上文字檢查點。

到這邊腳本基本上算是完成了,但是工作流程還是建議你,在真正執行壓力測試之前,在做二個動作,以確保壓力測試能夠成功的執行。一個就是讓腳本執行多個迴圈,另外就是讓腳本執行少量的同時上線使用者。畢竟之前腳本的執行,都是在一個使用者的狀態下執行一個迴圈而已,很難確保執行多次或是多個使用者同時執行的狀況下,腳本還是能正確執行。例如參數化的資料沒有考慮的唯一性,在之前的執行是不會發現的,只有在少量的同時上線使用者一起執行時,問題才會發生。

要讓腳本執行多次迴圈,只要開啟【Run-Time Setting】的【General】>【Run Logic】設定執行的次數即可。

要讓腳本模擬少量同時上線使用者一起執行,就需要開啟LoadRunner的Controller,選擇Manual Scenario,設定2~3個使用者,執行看看有沒有錯誤訊息就可以了。

最後整個腳本的建立與驗證,總算是大功告成,接下就就是使用Controller建立壓力測試的Scenario囉!

以上大致把LoadRunner 8.1 的工作流程精靈的整個流程跑完一遍!!

除錯功能(Debugging Capabilities)
當你想要建立比較複雜的腳本時,就會需要透過寫程式碼的方式修改腳本,這時VuGen的除錯功能就會變得很重要,在新版的VuGen提供了不輸給一般IDE的除錯功能,像是書籤(bookmark)、中斷點(breakpoint)以及執行時期資料(Run Time Data)。書籤的目的是要讓使用者可以方便的在腳本中快速切換位置。中斷點則是方便使用者控制腳本要執行到某個步驟就停止,VuGen除了可以設置中斷點之外,使用者還可以透過中斷點編輯器(Breakpoint editor),管理中斷點的設置、停用與刪除。

例如在上面中斷點編輯器中顯示腳本中有二個中斷點,分別是在第14行以及第25行,打勾表示這二個中斷點都是啟用的。假如你要禁用其中一個中斷點,只要把打勾給取消掉就可以了,不用把中斷點刪除掉。

還有執行時期資料(Run Time Data),可以讓你在VuGen執行腳本時,即時觀察腳本中變數的值,這個功能在做參數化(Parameterize)以及關聯(Correlation)時特別有用。

以上面畫面為例,顯示WCSParam_Diff1這個變數的值在腳本執行時為「91846.2119076549tHctDDQpfcfciDtzpADHVf。」

加強的NTLM認證(Enhanced NTLM Authentication)
在這個版本的VuGen加強了對 NTLM 驗證的支持。VuGen 提供輸入 NTLM 認證資訊的使用者介面,同時自動捕獲網域名稱和使用者帳號,以避免需要透過手動修改腳本的方式來輸入使用者帳號和密碼。

以上是參考LoadRunner 8.1的Readme文件,在加上自己使用的心得所寫成的,我想LoadRunner 8.1的改進也許不只這些,假如有新的發現與體驗,一定會再繼續跟大家報告的!

11 項留言回應 給 “What’s New in LoadRunner 8.1”

  1. andy 如是說:

    謝謝你這麼專業的介紹!
    請教一下:
    1.在Analysis and Reporting 方面,8.1版是不是有什麼更新? 比如Support 繁體中文?
    2.如何發現系統Bottleneck,則是由LoadRunner本身會產出?抑或是還需要Mercury Diagnostics 來進行深入的分析與診斷?

    Thanks

  2. oldsidney 如是說:

    1.LoadRunner 8.1 在 Controller 以及 Analysis 用起來到目前為止並沒有多大的改變,可能是偏重在 bug fix 以及 performance, reliability 的改進上。

    至於語言別方面,不管是繁簡體中文還是 Unicode,LR 在 7.X 就已經支持了。

    2.系統效能的分析、診斷以及調優,就好比是看病一樣,不同的工具有不同的功能,深入的程度也不一樣,例如用聽筒聽以及用X光看,可以診斷的程度就會不一樣,不同工具可能需要互相搭配,好的工具可能可以看的比較廣也比較深,甚至讓醫生更容易找出病因對症下藥。但是要精神科的醫生來看心臟病,就像是請DBA來看AP server有沒有設定好一樣,可能無法正確診斷出病因以對症下藥。現在的系統如此複雜,系統效能的分析、診斷以及調優,實際上是需要好的工具再加上團隊合作努力的成果。以上是我的體驗與想法。

    大陸那邊有一篇文章「讓LoadRunner走下神壇」,大致上也是這樣的意思。

    希望以上有稍微回答到您的問題!!

  3. andy 如是說:

    謝謝您的解答!

    非常同意您所說的工具(tool)只是協助研判”病因”的方式,以醫療作比喻的話,對應用系統作壓力測試就如同是” 預防醫學 “一樣,早期發現早期治療!
    有關於Mecury Disagnostics 是否能協助減少此類有豐富經驗”工程師醫師” 進一步診斷出系統效能瓶頸或是缺陷?

    感謝您的指教!

  4. oldsidney 如是說:

    不同的病因,也需要用不同儀器來診斷。我只能說 Mecury Disagnostics 應該還蠻適合對 J2EE/.NET 的 performance 做比較詳細的診斷。

  5. angie 如是說:

    如果Log一直都收不回來的話
    是不是哪裡需要設定呢?

  6. queene 如是說:

    谢谢您的总结,不过我现在有一个疑问,希望您能够给予指点。
    我现在正在研究loadrunner的使用,不过只有loadrunner 8.0的安装盘,但是却只找到了loadrunner 8.1的完全安装文档。 我没有在网上找到最近的8.1下载。因此我在安装8.0的过程中,出现了一些问题,不知道是我安装的不对,还是由于看了8.1的安装文档,使得我得安装有出入。 请问您有loadrunner8.0的安装说明书吗?可否提供一份以供参考,不胜感激。

  7. Show K 如是說:

    请问有loadrunner 8.1 的license吗?

  8. Show K 如是說:

    你在51网站上的测试白皮书,LR教学连载 QTP 8 Tutorial 中文版 如何在 LoadRunner 腳本中做關聯 (Correlation) 等写得很精彩啊。

  9. oldsidney 如是說:

    謝謝!沒有 LR 8.1 的 license

  10. Show K 如是說:

    好的。:)

  11. jazziezhang 如是說:

    请问对于LR8.0的如何测试基于Windows的AD进行用户验证的应用?
    用LR8.0生成的脚本不能回放,而且加了web_set_user,仍然不行,不知道怎么办?

留言回應

你必須要 登入 才能留言回應。


觀看訪客統計報表