軟件功能測試和性能測試經驗談
可以說,誰掌握了功能測試和性能測試的精髓,誰就能在測試外包市場中占據技術制高點。本文正是為這類軟件服務型企業出謀劃策、提供測試技術決策參考。
雖然功能測試是絕大多數軟件都無法回避的,但多數開發企業不諳其中滋味,所以,測試外包市場才會如此繁榮而且規模日益壯大。目前,功能測試已跨越了單靠手工敲敲鍵盤、點點鼠標就可以完成的階段,正朝著自動化和智能化方向發展。自動化是指各類測試工具已經得到日益廣泛的應用; 智能化是指測試人員從腳本編制、運行、調試到結果分析乃至測試方案改進,都需要有深入的了解。
而性能測試的重要性是隨著網絡應用的發展而發展的,由于網絡環境、數據庫環境、應用服務器環境、系統平臺和技術等的復雜性和多樣性,軟件性能非常難于控制。雖然,改善系統性能不是單單依靠性能測試就能完成的,但性能測試至今仍是控制性能的非常有效的手段,在軟件的能力驗證、能力規劃、性能調優、缺陷修復等方面都發揮著重要作用。
功能測試工具的選擇
那么,如何高效地完成功能測試?選擇一款合適的功能測試工具并培訓一支高素質的工具使用隊伍無疑是至關重要的。盡管現階段存在少數不采用任何功能測試工具,從事功能測試外包項目的軟件服務企業。短期來看,這類企業盈利狀況尚可,但長久來看,它們極有可能被自動化程度較高的軟件服務企業取代。
目前,用于功能測試的工具軟件有很多,針對不同架構軟件的工具也不斷推陳出新。這里重點介紹的是其中一個較為典型自動化測試工具,即Mercury公司的WinRunner.
WinRunner是一種用于檢驗應用程序能否如期運行的企業級軟件功能測試工具。通過自動捕獲、檢測和模擬用戶交互操作,WinRunner能識別出絕大多數軟件功能缺陷,從而確保那些跨越了多個功能點和數據庫的應用程序在發布時盡量不出現功能性故障。
WinRunner的特點在于: 與傳統的手工測試相比,它能快速、批量地完成功能點測試; 能針對相同測試腳本,執行相同的動作,從而消除人工測試所帶來的理解上的誤差; 此外,它還能重復執行相同動作,測試工作中最枯燥的部分可交由機器完成; 它支持程序風格的測試腳本,一個高素質的測試工程師能借助它完成流程極為復雜的測試,通過使用通配符、宏、條件語句、循環語句等,還能較好地完成測試腳本的重用; 它針對于大多數編程語言和Windows技術,提供了較好的集成、支持環境,這對基于Windows平臺的應用程序實施功能測試而言帶來了極大的便利。
WinRunner的工作流程大致可以分為以下六個步驟:
1.識別應用程序的GUI
在WinRunner中,我們可以使用GUI Spy來識別各種GUI對象,識別后,WinRunner會將其存儲到GUI Map File中。它提供兩種GUI Map File模式: Global GUI Map File和GUI Map File per Test.其最大區別是后者對每個測試腳本產生一個GUI文件,它能自動建立、存儲、加載,推薦初學者選用這種模式。但是,這種模式不易于描述對象的改變,其效率比較低,因此對于一個有經驗的測試人員來說前者不失為一種更好的選擇,它只產生一個共享的GUI文件,這使得測試腳本更容易維護,且效率更高。
2.建立測試腳本
在建立測試腳本時,一般先進行錄制,然后在錄制形成的腳本中手工加入需要的TSL(與C語言類似的測試腳本語言)。錄制腳本有兩種模式: Context Sensitive和Analog,選擇依據主要在于是否對鼠標軌跡進行模擬,在需要回放時一般選用Analog.在錄制過程中這兩種模式可以通過F2鍵相互切換。
只要看看現代軟件的規模和功能點數就可以明白,功能測試早已跨越了單靠手工敲敲鍵盤、點點鼠標就可以完成的階段。而性能測試則是控制系統性能的有效手段,在軟件的能力驗證、能力規劃、性能調優、缺陷修復等方面都發揮著重要作用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/