網站測試自動化系統—執行測試用例

發表于:2011-09-09來源:未知作者:領測軟件測試網采編點擊數: 標簽:自動化測試
在前面幾篇文章網站測試自動化系統—基于Selenium和VSTT、數據驅動測試、在測試代碼中硬編碼測試數據里,已經編寫了一部分測試用例的代碼了。我在文章自動化系統該有的功能里,也提到了,自動化測試用例代碼應該能夠被系統自動執行起來。我們總不能要求測試人

  在前面幾篇文章網站測試自動化系統—基于Selenium和VSTT、數據驅動測試、在測試代碼中硬編碼測試數據里,已經編寫了一部分測試用例的代碼了。我在文章自動化系統該有的功能里,也提到了,自動化測試用例代碼應該能夠被系統自動執行起來。我們總不能要求測試人員每天下班之前把最新的測試代碼下載到自己本機,用VSTS打開,然后選擇要批次執行的測試用例。這種重復機械的勞動是應該要被程序消滅的,畢竟機器的成本要比人工的成本低多了。

  首先先分解一下執行測試用例的步驟,編碼實現每一個步驟,然后使用批處理的形式將工作流串起來:(當然啦,我們也可以使用.NET里面的Workflow來實現,只不過那樣的話我們需要格外添加一個命令—安裝.NET Framework 3.0。)

  1.安裝最新版本的產品,在這次測試過程中,由于開發團隊沒有使用什么自動化每日編譯系統,所有的程序員都是從代碼服務器下載最新的代碼,在 Visual Studio里面編寫調試網站。所以我們測試團隊也是直接下載最新的代碼,使用Visual Studio編譯產品代碼 。

  當然啦,在自動化測試系統里面,不可能要求有一個專人按什么“F5”之類的按鈕編譯整個網站的。幸好Visual Studio只是一個集成開發環境(IDE),它編譯程序的實際工作是由MSBUILD這個程序完成的,Msbuild這個程序類似于Ant和Make等軟件。你只要提供代碼的解決方案文件(.sln文件)或者項目文件(.csproj文件),Msbuild自己會根據項目之間的依賴關系編譯代碼。因此安裝最新版本產品的工作就被分解成:

  1.1下載最新的源代碼,所有的文件版本服務器的客戶端程序都提供了這個功能。我們這個項目使用的是hg,這個命令獲取最新的代碼:

  hg.exe update

  1.2編譯代碼:

  Msbuild /nologo productcode.sln

  1.3發布編譯好的網站,或者使用xcopy命令更新網站文件夾,或者在IIS里面將網站的根目錄直接指向產品代碼的文件夾。

  2.下載并且編譯最新的測試代碼,這個步驟跟第1步類似,所以就省略相關命令了。

  3.運行所有的自動化測試用例。VSTT提供了一個叫做用例列表(Test List)的功能,因為是SCRUM的第一個Spring,所以我們在工作時,將所有自動化好了的測試用例都歸檔到一個叫做Automation的用例列表(Test List)里。

  當自動化測試工程師在VSTT批量執行測試用例的時候,通常的步驟是通過執行下面這些步驟實現的:

  a)在VSTT里面打開測試工程文件。

  b)點擊Visual studio菜單里的“測試(Test)”—> “窗口(Windows)”—> “Test List Editor”。

  c)展開“Lists of Tests”,勾上“Automation”這個用例列表(Test List),這樣就選擇了所有自動化的測試用例。如下圖所示:

  d)最后點擊Visual studio菜單里的“測試(Test)”—> “運行(Run)”—> “Tests in Current Context”,就可以運行所有的用例了。

  前面已經講到過,Visual Studio只不過是一個集成開發環境,基本上所有界面上的操作都可以使用命令行工具完成,例如編譯程序可以使用msbuild.exe,調試程序可以使用mdbg.exe(當然Visual Studio的調試器是窗體程序,不是命令行程序),執行測試用例是通過Mstest.exe完成的。上面a,b,c,d四個步驟,可以使用下面這個命令實現:

  mstest /runconfig:TestRunConfig.testrunconfig /testmetadata:Test.vsmdi /testlist:Automation /resultsfile: \TestResults\%SELENIUMHOST%_%ORCHARDSERVICE%_%1.trx

  下表列出了上面的命令里使用的參數的意義。

  參數名說明

  Runconfig當你在Visual Studio里創建了一個測試工程(Test Project),VS會自動在你的項目解決方案添加一個.testrunconfig文件。這個文件是用來配置執行一遍測試過程(Test Run)所需要準備的環境的。例如:

  測試用例是在本機執行,還是在其他機器上執行。

  要拷貝的測試數據。

  在所有測試用例執行前后要運行的命令—用來準備測試環境。

  是否要進行代碼覆蓋率統計。

  等等。

  使用.testrunconfig的過程我會在后面講到。

  TestmetadataVS除了添加一個.testurnconfig文件以外,它還會添加一個叫做測試用例元數據(test meta data)的.vsmdi文件。這個文件嘛,就像是所有元數據所標榜的那樣,用來描述測試用例的信息。例如測試用例屬于哪一個用例列表(test list)啦,測試用例的負責人(Owner)是誰啦等等。

  .vsmdi文件的詳細信息我也會在后面的文章中講解。

  testlist用例列表,通過這個參數,可以指定要執行的測試用例列表,用例列表是一個樹形結構,即用例列表可以包含其他用例列表,具體的示例請看上圖。

  resultsfile測試用例執行完畢以后,測試結果文件保存的位置。

  備注:mstest.exe的其他參數請參考MSDN文檔:

  http://msdn.microsoft.com/zh-cn/library/ms182489%28VS.80%29.aspx

  4.收集測試結果,這一步驟的詳細描述放在下一篇文章中講解。

  既然已經知道替代每一個步驟所使用的命令,剩下的工作,無非就是用PowerShell,或者WMI,或者批處理將這些命令結合起來運行罷了

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97