在測試技術飛速發展的今天,自動測試工具的使用也越來越廣泛.在這里,將主要介紹三種主流測試工具在實際應用環境中的使用,MI(Mercury Interactive) 公司的自動測試軟件WinRunner,壓力測試軟件LoadRunner和測試管理軟件TestDirector.
LoadRunner
當一個企業自己組織力量或委托軟件公司代為開發一套應用系統的時候,尤其是以后在生產環境中實際使用起來,用戶往往會產生疑問,這套系統能不能承受大量的并發用戶同時訪問? 這類問題最常見于采用聯機事務處理(OLTP)方式數據庫應用,WEB瀏覽和視頻點播等系統.這種問題的解決要借助于科學的軟件測試手段和先進的測試工具.
比如電信計費軟件,眾所周知,每月二十日左右是市話交費的高峰期,全市幾千個收費網點同時啟動.收費過程一般分為兩步,首先要根據用戶提出的電話號碼來查詢出其當月產生費用,然后收取現金并將此用戶修改為已交費狀態.一個用戶看起來簡單的兩個步驟,但當成百上千的終端同時執行這樣的操作時情況就大不一樣了,如此眾多的交易同時發生,對應用程序本身,操作系統, 中心數據庫服務器,中間件服務器,網絡設備的承受力都是一個嚴峻的考驗. 決策者不可能在發生問題后才考慮系統承受力, 預見軟件的并發承受力, 這是在軟件測試階段就應該解決的.
如何模擬實際情況呢? 找若干臺電腦和同樣數目的操作人員在同一時刻進行操作,然后拿秒表記錄下反應時間? 這樣的手工作坊式的測試方法不切實際且無法捕捉程序內部變化情況,這樣就需要壓力測試工具的輔助, LoadRunner便是其中的一種.
LoadRunner可以記錄下客戶端的操作,并以腳本的方式保存,然后建立多個虛擬用戶,在一臺或幾臺PC機上模擬上百或上千虛擬用戶同時操作的情景,同時記錄下每一事務處理的時間,中間件服務器峰值數據,數據庫狀態等,并根據測試結果分析系統瓶頸,輸出各種定制壓力測試報告, 工程項目實踐證明,其測試結果與實際情況完全符合. 預先知道了系統的承受力,就為最終用戶規劃整個運行環境的配置提供了有力的依據.
在各種類型的并發測試中,基于Web 的應用也占了很大的比例.現在有相當數目的聯機事務處理(OLTP) 類型系統采用Web方式,還有一些網站,對并發連接的數量和自己網站對大量訪問的支持能力,都表示出了相當程度的關心. 對于LoadRunner,它更提供了對web頁面壓力測試的完整解決方案,包括用戶模擬,Web服務器監控,頁面每秒鐘點擊率統計,單獨頁面加載時間分析等針對web的特性.
在測試階段使用LoadRunner進行壓力測試,還可以模擬數據庫死鎖情況,結合壓力分析SQL效率,優化應用程序和數據庫配置等工作,使軟件更健壯和高效. 如在測試某省的大型電信業務網上受理系統時,2 00并發用戶同時聯機時速度正常,但當達到用戶量達到500的時候,受理速度明顯變慢,通過監控發現Web服務器的流量卻有所降低, 而表空間對應的數據文件中發生的磁盤物理讀的次數卻大于正常水平.最后通過診斷確定有部分復雜的SQL查詢(如:大表連接操作,嵌套查詢等)沒有利用合適的索引和采用最優的解釋方案,而造成全表掃描.而且數據庫配置參數DB_BLOCK_BUFFERS太小,不能適應500用戶或更大規模并發情況. 經過測試人員和開發人員對系統的共同調整,再次測試的時候一切恢復正常,500用戶的并發測試順利通過. 發現應用程序在效率上的隱患,也是采用LoadRunner的測試目的之一.
WinRunnerWinRunner是比較常用的自動功能測試軟件.其功能是是為了確保應用能夠按照預期設計執行而將業務處理過程記錄到測試腳本中。當應用被開發完成或應用升級時,WinRunner支持測試腳本的編輯、擴展、執行和報告測試結果,并且保證測試腳本的可重復使用,貫穿于應用的整個生命周期。功能測試的結果也是衡量軟件產品是否符合設計需求的標準之一.
當一個應用開發完畢后,程序界面基本定型,這個時候,針對該應用的自動測試應該展開.
傳統的手工測試是測試人來執行測試用例,然后根據實際的結果去和預期的結果相比較并記錄測試結果.自動測試的引入,大大的提高了測試的效率和測試的準確性,而且測試專業人員一次設計的腳本,可以在軟件生命周期的各個階段重復使用. 尤其在軟件交付后,隨著企業的發展,你的應用就會隨續在數量和范圍上增長,為了滿足應你的業務的需求,應用的改變會很頻繁。對于這些需求,將可以通過小范圍修改WinRunner腳本來完成.
對于WinRunner的使用,比較重要的是測試錄制規劃問題, 如何規劃一次錄制使它具有良好的可擴展性,重用性,整個TSL腳本能夠有清晰的層次和最大適應以后的程序的修改?
這些也是在實際工程中用戶最普遍遇到的問題,它的實施就需要有經驗的軟件測試人員介入并結合應用來進行具體分析.
三.TestDirector
TestDirector是一套測試管理軟件.通過它的使用,來規范科學的測試管理流程,建立起針對項目的測試方案和計劃.
測試在類型上包括:功能測試和性能測試。在測試過程中,要涵蓋單元測試,集成測試,系統測試,回歸測試,交付測試的各個階段.如何有效的組織管理起這些不同階段的測試尤為重要.TestDirector與LoadRunner和WinRunner有各自的接口,通過這些接口,來統一的管理各種測試用例,自動測試腳本,運行場景與測試結果,并且可以面向發生問題的部分進行錯誤跟蹤,達到與開發部門實時交互.
文章來源于領測軟件測試網 http://www.kjueaiud.com/