軟體測試之功能測試、效能測試經驗談

shbwf發表於2009-05-31

  在當今的軟體測試領域,可以說,誰掌握了功能測試和效能測試的精髓,誰就能在軟體測試外包市場中佔據技術制高點。本文正是為這類軟體服務型企業出謀劃策、提供軟體測試技術決策參考的。

  雖然功能測試是絕大多數軟體都無法迴避的,但多數開發企業不諳其中滋味,所以,軟體測試外包市場才會如此繁榮而且規模日益壯大。目前,功能測試已跨越了單靠手工敲敲鍵盤、點點滑鼠就可以完成的階段,正朝著自動化和智慧化方向發展。自動化是指各類測試工具已經得到日益廣泛的應用; 智慧化是指測試人員從指令碼編制、執行、除錯到結果分析乃至軟體測試方案改進,都需要有深入的瞭解。

  而效能測試的重要性是隨著網路應用的發展而發展的,由於網路環境、資料庫環境、應用伺服器環境、系統平臺和技術等的複雜性和多樣性,軟體效能非常難於控制。雖然,改善系統效能不是單單依靠效能測試就能完成的,但效能測試至今仍是控制效能的非常有效的手段,在軟體的能力驗證、能力規劃、效能調優、缺陷修復等方面都發揮著重要作用。

  功能測試工具的選擇

  那麼,如何高效地完成功能測試?選擇一款合適的軟體測試工具並培訓一支高素質的工具使用隊伍無疑是至關重要的。儘管現階段存在少數不採用任何功能測試工具,從事功能測試外包專案的軟體服務企業。短期來看,這類企業盈利狀況尚可,但長久來看,它們極有可能被自動化程度較高的軟體服務企業取代。

  目前,用於功能測試的工具軟體有很多,針對不同架構軟體的工具也不斷推陳出新。這裡重點介紹的是其中一個較為典型自動化軟體測試工具,即Mercury公司的WinRunner

  WinRunner是一種用於檢驗應用程式能否如期執行的企業級軟體功能測試工具。通過自動捕獲、檢測和模擬使用者互動操作,WinRunner能識別出絕大多數軟體功能缺陷,從而確保那些跨越了多個功能點和資料庫的應用程式在釋出時儘量不出現功能性故障。

  WinRunner的特點在於: 與傳統的手工測試相比,它能快速、批量地完成功能點測試; 能針對相同測試指令碼,執行相同的動作,從而消除人工測試所帶來的理解上的誤差; 此外,它還能重複執行相同動作,測試工作中最枯燥的部分可交由機器完成; 它支援程式風格的測試指令碼,一個高素質的測試工程師能借助它完成流程極為複雜的測試,通過使用萬用字元、巨集、條件語句、迴圈語句等,還能較好地完成測試指令碼的重用; 它針對於大多數程式語言和Windows技術,提供了較好的整合、支援環境,這對基於Windows平臺的應用程式實施功能測試而言帶來了極大的便利。

  WinRunner的工作流程大致可以分為以下六個步驟:

  1.識別應用程式的GUI

  在WinRunner中,我們可以使用GUI Spy來識別各種GUI物件,識別後,WinRunner會將其儲存到GUI Map File中。它提供兩種GUI Map File模式: Global GUI Map FileGUI Map File per Test。其最大區別是後者對每個測試指令碼產生一個GUI檔案,它能自動建立、儲存、載入,推薦初學者選用這種模式。但是,這種模式不易於描述物件的改變,其效率比較低,因此對於一個有經驗的測試人員來說前者不失為一種更好的選擇,它只產生一個共享的GUI檔案,這使得測試指令碼更容易維護,且效率更高。

  2.建立測試指令碼

  在建立測試指令碼時,一般先進行錄製,然後在錄製形成的指令碼中手工加入需要的TSL(與C語言類似的測試指令碼語言)。錄製指令碼有兩種模式: Context SensitiveAnalog,選擇依據主要在於是否對滑鼠軌跡進行模擬,在需要回放時一般選用Analog。在錄製過程中這兩種模式可以通過F2鍵相互切換。

只要看看現代軟體的規模和功能點數就可以明白,功能測試早已跨越了單靠手工敲敲鍵盤、點點滑鼠就可以完成的階段。而效能測試則是控制系統效能的有效手段,在軟體的能力驗證、能力規劃、效能調優、缺陷修復等方面都發揮著重要作用。

本文轉載自51Testing軟體測試網(檢視全文):http://www.51testing.com/html/78/n-117278.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1022616/,如需轉載,請註明出處,否則將追究法律責任。

相關文章