軟件自動化測試基礎課件_第1頁
軟件自動化測試基礎課件_第2頁
軟件自動化測試基礎課件_第3頁
軟件自動化測試基礎課件_第4頁
軟件自動化測試基礎課件_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件自動化測試基礎軟件測試自動化簡介軟件測試自動化是一項讓計算機代替人進行軟件測試的技術。那么我們為什么要引入自動化測試呢?為什么要引入軟件測試自動化呢?軟件測試是一項繁重的任務,全靠手工去完成測試是很難按時保質保量的完成。有些測試在成本一定的情況下,幾乎不可能去完成。例如:需要多次回歸測試的軟件(例如迭代開發或增量開發的軟件,某些精確度要求比較高的重要軟件)。頻繁回歸測試使測試人員的工作熱情受損,工作質量降低。測試時間比較長甚至需要幾個通宵去進行測試的功能并發性測試,可靠性測試,白盒邏輯覆蓋測試等手工很難完成的測試。自動化測試帶來的優點提高軟件測試效率。自動化測試執行用例的速度比手工測試快的多。方便回歸測試。可執行更多、更繁瑣測試。提高測試人員的積極性,測試人員把時間和精力放在軟件中新的項目上。提高測試的準確性,從而使軟件測試的可信度提高。測試的主觀因素和誤操作少了。測試具有一致性和可重復性。自動化測試帶來的優點測試的復用性。(這與軟件開發里的代碼復用性意思相同,測試用例是以腳本—一種代碼的形式存在)可執行一些手工測試困難或不可能進行的測試。例如:并發行測試等軟件測試自動化存在的不足既然軟件測試自動化這么多優點,是不是我們的測試活動的目標就是追求100%的自動化測試呢?軟件自動化測試的缺點:需要一定的時間去編寫、調試和維護腳本。需要測試人員的水平要高。不能實現某些需要人腦去判斷結果的測試用例。(例如,界面是否人性化的測試)工具本身沒有想象力完全依賴測試設計,因此,自動化測試對測試設計依賴太大。手工測試發現的錯誤比自動化測試要多的多。自動化測試的認識誤區1/5錯誤期望一:自動化測試應完全取代人工測試。測試過程中80%以上的缺陷是手工測試發現的,僅有不到20%的缺陷是自動測試發現的,而且這20%的發現要求測試人員合理的運用工具。在測試前,分析下軟件的需求,確定哪些功能、性能等因素需要用到自動化測試,然后有針對性的在項目中使用自動化。一味的追求測試自動化,會使測試工作的成本增加。(例如:手工測試1分鐘可以完成,自動化測試得好幾個小時才可以)自動化測試的認識誤區2/5錯誤期望二:測試用例可完全由測試工具生成白盒測試中,利用某些測試工具可以自動生成部分測試用例,(例如邏輯覆蓋測試),但是由于測試工具無法自動了解程序的功能,仍然需要測試人員手工干預測試用例的設計和生成。黑盒測試中,幾乎所有測試用例都需要手工去設定。例如:網站并發性測試,需要測試員分析需求,找到被測的業務流程,編寫腳本,設定預期結果等等。自動化測試的認識誤區3/5錯誤期望三:測試工具可以在任何場合使用。工具都是針對解決某些特定的問題而開發的,所以必然有其局限性。而且測試工具自身同時也是軟件,因此也會存在軟件兼容性等不可避免的軟件通病。例如:某些測試工具只能在windows上運行;某些白盒測試工具只是針對某幾種語言;某些網絡測試工具只是針對某幾種網絡等等。自動化測試的認識誤區5/5錯誤期望五:自動化測試順利引入后就一勞永逸了。自動化測試能否達到應有的效果還取決于實施過程中的多方面因素。⑴自動化測試不會創造性地發現測試方案里沒有的設計缺陷。因此,需要有經驗的測試人員對測試方案進行系統、周密的設計和不斷修改。⑵自動化測試代碼需要使用配置工具來管理和維護。此外,還應該對自動化測試工作流程的規范性進行考查,從而對自動化測試的實施進行監督和評估。實戰中,如何運用自動化測試和手工測試1/2在軟件測試活動中,通常需要把自動化測試和手工測試結合起來,對被測軟件進行測試。在現實中,根據被測軟件的需求,判定哪些需要自動化測試,哪些不需要。要充分發揮自動化測試和手工測試的優勢,既能盡可能多的發現軟件的缺陷,又能節省軟件測試的時間和人力。那么哪些部分需要自動化測試呢?值得我們去用自動化測試呢?這里引入一個名詞“投資回報率”。實戰中,如何運用自動化測試和手工測試2/2投資回報率是指節省的時間成本、人員成本以及其它成本與投入測試工具的費用之比。投資回報率越高,引入的自動化技術越成功。例如:用戶登錄功能(只進行2次測試)。某功能,10分鐘點擊150次。從投資回報率上看,1不必用自動化測試,2建議使用自動化測試。我們一般什么時候使用自動化測試呢??一般來說,投資回報率高的或者手工難以進行的測試優先選擇自動化測試工具。我列了幾種可以考慮使用自動化工具的情況:白盒測試大型軟件的回歸測試某些需要頻繁測試的功能或性能準確度和精確度比較高的軟件某些需要長時間運行的測試手工很難完成的測試自動化測試工具的選取需要考慮如下幾個因素:1、與被測軟件是否兼容2、經費是否允許3、售后技術支持質量4、自動化工具的資料是否容易獲得總之,不必選最貴的,只選最合適的自動化測試的實施流程自動化測試的原理和方法軟件測試自動化實現的基礎是可以通過設計的特殊程序模擬測試人員對計算機的操作(黑盒測試),或者類似于編譯系統那樣對計算機程序進行檢查(白盒測試)。軟件測試自動化實現的原理和方法主要有:對代碼進行靜態和動態分析、測試過程的捕獲和回放、測試腳本技術、虛擬用戶技術和測試管理技術。自動化測試的原理和方法(2)捕獲和回放(黑盒測試的自動化測試)

捕獲是將用戶每一步操作都記錄下來(包括被測軟件的窗口和控件的位置以及相對應的操作、狀態變化或是屬性變化)。所有的記錄轉換為一種腳本語言所描述的過程,以模擬用戶的操作。

回放時,將腳本語言所描述的過程轉換為屏幕上的操作,然后將被測系統的輸出記錄下來同預先給定的標準結果比較,最后得出測試結果,有些自動化測試軟件可以根據測試結果對被測軟件進行評估。這可以大大減輕黑盒測試的工作量,尤其是在回歸測試中。自動化測試的原理和方法關于自動化測試中的“錄制—回放”技術舉例目前的網站并發性測試幾乎都是采用“錄制-回放”的技術。所謂的“錄制-回放”技術,就是先由手工完成一遍需要測試的流程,同時由計算機記錄下這個流程期間客戶端和服務器端之間的通信信息,并形成特定的腳本程序(Script)

。然后在系統的統一管理下同時生成多個虛擬用戶,并運行該腳本,監控硬件和軟件平臺的性能,提供分析報告或相關資料。這樣,通過幾臺機器就可以模擬出成百上千的用戶對應用系統進行負載能力的測試。自動化測試的原理和方法(3)測試腳本技術測試腳本是與特定測試對應的一系列指令(及數據),這些指令可以被測試工具自動執行。腳本一種形式的程序。不同的工具,腳本程序的規則有所不同。將loadrunner腳本用的類C語言,QTP用的VBscript語言。腳本可以通過錄制測試的操作產生,然后再做修改,這樣可以減少腳本編程的工作量。當然,也可以直接按照腳本語言的規則編寫腳本。由于支持錄制,所以學習腳本語言相對容易些腳本技術分類共享腳本——是指某個腳本可被多個測試使用,一個腳本可以被另一個腳本調用。減少了腳本的數量,也使腳本容易維護。數據驅動腳本——將測試輸入存儲在獨立的數據文件中,實現了數據和腳本的分離。(例如使用QTP,登錄系統測試中,可以將用戶名和密碼數據存儲在外部的excel文件。)關鍵字驅動腳本——是數據驅動腳本的邏輯擴展。通過外部的一系列關鍵字數據去驅動測試的運行。虛擬用戶技術和測試管理技術虛擬用戶技術,是指在有限的測試主機上,虛擬出成千上萬或者更多個用戶的技術。例如:網站并發性測試,我們可以用性能測試工具loadrunner虛擬多個用戶。測試管理技術,通過測試管理工具(例如:TestManager)對整個測試流程進行管理,包括需求分析、計劃測試、設計測試用例、缺陷處理、測試報告等內容。軟件自動化測試的運用測試用例的生成測試的執行與控制測試結果與標準輸出的對比不吻合測試結果的分析處理測試狀態的統計和報表的生成采用自動化比較技術(例如:檢查點技術)測試管理工具 測試管理工具是對測試配置和測試過程進行管理,對缺陷進行跟蹤管理。QualityCenter簡稱QC,其前身是大名鼎鼎的TestDirector,簡稱TD(HPMercury公司)主要功能:需求管理;計劃測試;安排和執行測試;缺陷管理;圖形化和報表輸出TestManager(IBMRational)TestDirector功能測試工具Winrunner(HPMercury公司)自動錄制-檢測-回放,側重于測試c/s架構QuickTestPro,簡稱QTP(HPMercury公司)自動錄制-檢測-回放,側重于測試b/s架構目前Winrunner不再發布新版本,已經完全被QTP給取代,在后續的課程中我們會學習使用QTP。Robot(IBMRational公司)

功能和性能測試軟件,可以去TestManager完美結合RobotWinRunnerQTP性能測試工具LoadRunner(HPMercury公司)當前市場上最強大的性能測試工具,在后續的課程中,我們會學習loadrunner工具的使用。Robot(IBMRational公司)Loadrunner工作過程(了解)①通過VuGen來設計腳本②通過Control設計場景③通過負載發生器實現虛擬用戶并發執行④通過Control監控場景⑤通過分析器分析結果LoadRunner的虛擬用戶發生器白盒測試工具Parasoft公司JtestJava代碼分析和動態類、組件測試JcontractJava實時性能監控以及分析優化C++TestC,C++代碼分析和動態測試CodeWizardC,C++代碼靜態分析.代碼分析和動態測試工作IBMRational工具集中的puricoverage和purify、quantifyCompuware白盒測試工具集

JtestNuMegaBoundsCheckerRationalPurify聯機幫助是我們最好的朋友之一;從錄制生成的腳本中,或者其他可以獲得的腳本中學習;相互交流;多嘗試。我建議新手這樣學習腳本語言:1、錄制腳本,然后在其基礎上讀腳本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論