偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

利用Visual Studio實(shí)現(xiàn)自動(dòng)化測(cè)試

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

自動(dòng)化測(cè)試的實(shí)現(xiàn)

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

1. 單元測(cè)試

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

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

clip_image002

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

clip_image004

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

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

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

clip_image006

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

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

2. 編碼UI測(cè)試

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

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

clip_image008

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

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

clip_image009

圖五 編碼UI測(cè)試生成器——錄制

clip_image011

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

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

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

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

3. 其他類型測(cè)試

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

自動(dòng)化測(cè)試的管理

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

小結(jié)

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

原文鏈接: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ā)和云計(jì)算落地
  3. Visual Studio 2010敏捷之道 
  4. 詳解Visual Studio 2010敏捷功能(上) ALM探秘
  5. 詳解Visual Studio 2010敏捷功能(下) 強(qiáng)化測(cè)試功能
責(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

2024-04-30 08:00:00

人工智能自動(dòng)化文件處理

2023-02-15 08:21:22

2021-11-01 10:26:08

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

2024-03-20 13:19:53

2011-08-16 15:36:47

iPhone應(yīng)用測(cè)試

2012-02-27 17:34:12

Facebook自動(dòng)化

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2022-02-17 10:37:16

自動(dòng)化開發(fā)團(tuán)隊(duì)預(yù)測(cè)

2013-05-16 10:58:44

Android開發(fā)自動(dòng)化測(cè)試

2014-04-16 14:15:01

QCon2014

2011-12-23 17:09:57

自動(dòng)化測(cè)試

2012-12-24 22:54:31

2021-06-30 19:48:21

前端自動(dòng)化測(cè)試Vue 應(yīng)用
點(diǎn)贊
收藏

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