自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用Visual Studio實現(xiàn)自動化測試

開發(fā) 后端 自動化
Visual Studio中實現(xiàn)自動化測試,也屬于實現(xiàn)敏捷開發(fā)的一部分。這一系列的工具將完成單元測試、編碼UI測試、壓力測試、網(wǎng)頁性能測試、數(shù)據(jù)庫單元測試等功能

自動化測試的實現(xiàn)

編寫自動化測試也許對很多測試人員來說比較陌生。所幸的是Visual Studio中為實現(xiàn)自動化測試提供了一系列的工具,單元測試(Unit Test)、編碼UI測試(Coded UI Test)、壓力測試(Stress Test)、網(wǎng)頁性能測試(Web Performance Test)、數(shù)據(jù)庫單元測試(Database Unit Test)等等,讓實現(xiàn)自動化測試變得輕松。這里我想著重介紹2種最基本的,也是在我們的產(chǎn)品開發(fā)中最常用的測試:單元測試和編碼UI測試。

1. 單元測試

單元測試是Visual Studio中最基本、應(yīng)用最廣泛的一種測試。通常開發(fā)人員可以選擇為一個方法或是一個部件創(chuàng)建單元測試,來保證其邏輯正確。

要在Visual Studio中創(chuàng)建單元測試,可以在源代碼的上下文菜單中選擇“創(chuàng)建單元測試”,并在彈出的窗口中選擇需要為其創(chuàng)建單元測試的方法(如圖一、圖二所示)。這樣Visual Studio就會自動創(chuàng)建出一系列單元測試的代碼框架,以及針對private/internal等無法直接調(diào)用的方法的訪問器(Accessor),用戶只需修改或添加具體測試邏輯即可。訪問器會隨著源代碼的每一次編譯自動更新,為用戶節(jié)省了不少麻煩。當(dāng)然,用戶也可以使用單元測試向?qū)?chuàng)建,或是直接添加一個單元測試(測試->新建測試)文件再自行添加邏輯代碼。

clip_image002

圖一 創(chuàng)建單元測試

clip_image004

圖二 創(chuàng)建單元測試對話框

單元測試通常以[TestClass]屬性來表示一個測試類,在測試類中使用5種不同的屬性標(biāo)示方法:[ClassInitialize]、[TestInitialize]、[TestMethod]、[TestCleanup]、[ClassCleanup]。一個測試類中可包含多個測試方法(Test Method),但是僅可以有一個類初始化方法(Class Initialize)、一個測試初始化方法(Test Initialize)、一個測試清理方法(Test Method)、一個類清理方法(Class Cleanup)。在測試運行時,類的初始化會被首先調(diào)用,然后在運行每一個測試方法之前運行測試初始化,之后運行測試清理,在測試方法運行結(jié)束后,類清理方法將被運行。除測試方法外,其他的輔助方法都不是必須的。大家可以根據(jù)實際需要來安排代碼邏輯。

成功編譯后,所有測試方法都會在測試視圖(Test View)窗口中列出,在該窗口中還可以對測試方法進行過濾、查詢和排序,選擇一個或多個測試方法后,可以運行或調(diào)試測試用例。測試的結(jié)果(是否通過)會顯示在測試結(jié)果(Test Result)窗口中,雙擊任意一條測試結(jié)果都會打開具體的測試結(jié)果日志以獲取更詳細(xì)的信息,如圖三所示。單元測試還可以通過直接在測試方法代碼中右鍵選擇“運行測試”,或是在命令行中直接執(zhí)行mstest命令來運行。

clip_image006

圖三 測試視圖和測試結(jié)果

此外,單元測試工具不僅可以用作單元測試的目的,也可以作為一種載體,來實現(xiàn)驗收測試或是功能測試。我們在實踐中大量利用了Visual Studio對單元測試的管理、運行、日志等功能,通過在測試代碼中實現(xiàn)驗收測試、功能測試的具體邏輯來完成各種不同類型的測試。

2. 編碼UI測試

雖然單元測試框架適用于各種不同的測試,不過其本身卻沒有提供太多對測試代碼實現(xiàn)上的支持。對于自動化測試中常常令人無從下手的UI操作的自動化,Visual Studio 2010中添加了一種新的測試類型——編碼UI測試,以幫助用戶克服這一難題。編碼UI測試是一種能輕松上手,迅速創(chuàng)建出UI測試的框架。

一種最簡單的創(chuàng)建UI測試的方法是直接從手動測試入手。如果此前我們曾在Test Manager中創(chuàng)建了測試用例,并曾在手動執(zhí)行時錄制過其測試步驟,那么我們就可以直接將錄制的步驟轉(zhuǎn)化為編碼UI測試的代碼。在Visual Studio中選擇創(chuàng)建一個編碼UI測試后,會跳出一個對話框詢問用戶是使用已有的操作錄制還是重新錄制,選擇第二項“Use an existing action recording(使用現(xiàn)有操作錄制)”后即可通過查詢測試用例工作項將相應(yīng)的測試轉(zhuǎn)化為自動化測試代碼(見圖四)。

clip_image008

圖四 創(chuàng)建編碼UI測試

如果之前沒有錄制過測試步驟,或是想重新創(chuàng)建測試的話,可以在圖四對話框中選擇第一項“Record actions, edit UI map or add assertions(錄制操作、編輯 UI 映射或添加斷言)”,這樣編碼UI測試生成器(Coded UI Test Builder)就會出現(xiàn)。在編碼UI測試生成器中,用戶可以自由選擇為測試錄制操作步驟(圖五)、手動添加某些UI控件或是斷言(圖六),然后就可以為這些內(nèi)容生成代碼。這一過程可以通過在代碼的上下文菜單中選擇“Generate Code for Coded UI Test(為編碼UI測試生成代碼) ”反復(fù)執(zhí)行,需要提醒用戶的一點是每一次所有的代碼都將被重新生成,所以手動修改生成的代碼是沒有意義的,除非此后不再借助編碼UI測試生成器生成代碼。

clip_image009

圖五 編碼UI測試生成器——錄制

clip_image011

圖六 編碼UI測試生成器——添加UI控件和斷言

此外,用戶還可以不借助Visual Studio提供的這些工具,直接利用編碼UI測試提供的API(Microsoft.VisualStudio.QualityTools.CodedUITestFramework等)編寫代碼,實現(xiàn)UI自動化測試。

編碼UI測試的運行方法、運行結(jié)果等都與單元測試類似,此處不再贅述。

這里要強調(diào)的是自動生成的自動化UI測試并不能解決UI測試固有的不穩(wěn)定的問題。尤其是這種編碼UI測試是通過UI控件之間的包含關(guān)系來尋找控件并對其執(zhí)行操作的,就導(dǎo)致了如果運行測試時UI排列與錄制時不盡相同時,測試可能無法正確運行。確保運行時UI環(huán)境的一致、在各操作步驟之間添加對UI控件狀態(tài)的判斷、在生成的代碼的基礎(chǔ)上編寫自己的代碼是能提高編碼UI測試穩(wěn)定性的一些方法。

3. 其他類型測試

除了上述兩種常用的測試類型之外,Visual Studio針對不同類型的測試以及測試對象,提供了各種其他的測試工具。例如,網(wǎng)頁性能測試通過記錄用戶每一步操作選擇的地址和發(fā)送的信息來實現(xiàn)網(wǎng)頁測試的自動化;負(fù)載測試幫助用戶模擬多用戶各種不同測試環(huán)境下的負(fù)載;數(shù)據(jù)庫單元測試提供了直接針對數(shù)據(jù)庫的測試支持。這里我就不再一一詳細(xì)介紹了,有興趣的讀者可以自己在MSDN上查詢使用方法或者直接試用這些功能。

自動化測試的管理

對于手動測試,測試用例工作項已經(jīng)能很好的描述測試的內(nèi)容以及記錄測試的結(jié)果。而自動化測試的不同之處在于其需要代碼的支持。我們通常將測試代碼和產(chǎn)品代碼一起保存在Team Foundation Server的源代碼控制中,這樣一方面便于代碼的統(tǒng)一管理,另一方面讓測試用例也能利用到TFS提供的版本控制、擱置集等功能。另外,我們還可以通過設(shè)置TFS的測試用例工作項中包含的“關(guān)聯(lián)的自動化測試”域的值將測試計劃中的測試用例和實際的代碼聯(lián)系起來。

小結(jié)

在這一篇中,我們討論了手動測試和自動化測試各自的優(yōu)勢和局限性,兩者互補和平衡能幫助測試人員更好的在敏捷開發(fā)的環(huán)境中完成測試任務(wù)。此外,我們還了解了如何借助Visual Studio中提供的一些工具來實現(xiàn)并管理自動化測試。在介紹了自動化測試的方法和工具后,我將在下一篇中進一步為大家介紹如何計劃和執(zhí)行自動化的測試用例。

原文鏈接:http://www.cnblogs.com/stbchina/archive/2010/09/27/agile-testing-on-visual-studio-part-III-b.html

【編輯推薦】

  1. Visual Studio 2010 TFS探索之旅
  2. Visual Studio 2010讓敏捷開發(fā)和云計算落地
  3. Visual Studio 2010敏捷之道 
  4. 詳解Visual Studio 2010敏捷功能(上) ALM探秘
  5. 詳解Visual Studio 2010敏捷功能(下) 強化測試功能
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-05-25 13:50:35

Visual Stud

2011-03-23 08:42:36

Visual Stud

2011-01-20 10:17:25

ibmdwWeb

2011-11-16 08:45:36

Visual Stud

2017-12-17 21:58:18

2020-03-18 09:23:24

Python數(shù)據(jù)SQL

2010-04-01 14:51:52

Visual Stud

2023-02-15 08:21:22

2024-04-30 08:00:00

人工智能自動化文件處理

2021-11-01 10:26:08

傳感器農(nóng)業(yè)自動化物聯(lián)網(wǎng)

2011-08-16 15:36:47

iPhone應(yīng)用測試

2024-03-20 13:19:53

2022-02-17 10:37:16

自動化開發(fā)團隊預(yù)測

2012-02-27 17:34:12

Facebook自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2013-05-16 10:58:44

Android開發(fā)自動化測試

2014-04-16 14:15:01

QCon2014

2011-12-23 17:09:57

自動化測試

2011-09-29 10:58:51

rBuilderLinux

2021-06-30 19:48:21

前端自動化測試Vue 應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號