版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用 VSTS 進行構建下面將通過一個例子來講解 VSTS 是如何進行構建的!1、創(chuàng)建團隊生成類型在VSTS2005 團隊資源管理器-團隊項目生成下生成一個新的團隊類型,具體生成過程如下:第一步:生成類型命名第二步:略第三步:略第四步;略第五步:設置構建過的測試項第六步:略。當進行完以上六步后,一個新的團隊類型將生成。2、 進行構建設置當一個團隊類型生成,此時需要按自己的設置(一天,一周,一個月)進行團隊項目的生成(此處是利用WINDOWS 系統的自動執(zhí)行功能來執(zhí)行用戶自定義的任務)在目標機上“C:Program FilesVisual Studio 8Common7IDE”文件夾下新建一個批處
2、理文件,批處理內容為:“C:Program FilesVisualStudio 8Common7IDE TFSBuild.exe”start 計算機名 “項目名稱” “團隊類型名稱”給系統新建一個任務,然后配置其“日程安排”項。(下圖配置了任務執(zhí)行時間是:每天的 10:20 系統自動開始執(zhí)行任務,也可以設置為每擱幾分鐘或幾小時執(zhí)行一次任務,詳細設置在“高級”中。)3、 當構建完成后,查看構建信息。1) 構建版本定位到團隊生成類型第四步中的物理位置,可以看到構建成功的可執(zhí)行應用程序如下,其中通過目錄可以看到此版本號:AddBuild_20071105.12)查看構建日志(部分日志截圖如下,通過日
3、志可以分析在構建的過問題)結論:通過構建,可以方便測試及早拿到一個可測試的版本,這樣方便了測試進試工作,對發(fā)現也可以及早的提交到程序員手中,進行及時的更改,促進了項目的推進。比較二個數據庫的架構一、打開 VS2008,點擊菜單上的 Data=Schema Compare=NewSchema Comparison二、在彈出窗體中,按下圖分別在 Sourchema 下和Schema 下選擇相應的 Database,其中 Sourchema 下選擇的數據庫【ISACADB-S】是待比較的數據源,是Schema 下選擇的數據庫【ISACADB】被更新的依據。三、選擇好數據庫后,點擊 OK 按鈕,開始執(zhí)
4、行架構比較,完成后,顯示如下界面。選擇圖中上面的數據庫表或過程,下面的窗口二側會分別以不同顏色顯示Source 和Database 中不相同部分的內容。四、點擊 VS2008 中如下圖的中的紫色方框內的按鈕【Show SchemaUpdate Script】,會在 vs2008 的下方顯示整個數據庫的全部更新;點擊其右側的刷新【Refresh】按鈕,則會重新進行比較;點擊 Write Updates 按鈕,會直接執(zhí)行更新,使Database 的架構與 Source Database 一致,點擊Write Updates 左側的按鈕,可以重新設置 Compare 的二個 Database;最左側
5、的按鈕可以設置顯示那些比較的結果。五、導出,可以直接上衣步驟中的,也可以點擊 VS2008 中如下圖的的二個按鈕,Export To Editor 是將導出到 VS2008 中的編輯器中,Export To File 則是將導出到文件中。六、執(zhí)行上一步導出的,將Database 的架構更新到與 SourceDatabase 的架構一致。七、在Database 執(zhí)行更新成功后,檢查Database 的架構更新是否正確。方法是:將更新后的Database 與 Source Database 進行架構比較,看比較結果是否完全一致,如果不一致,則檢查錯誤原因;或者恢復原來的Database【已備份】,
6、重新進行更新,直到更新正確。比較二個數據庫的數據一、打開 VS2008,點擊菜單上的 Data= Dompare=New DataComparison二、在彈出窗體中,按下圖分別在Source Database 下和Database 下選擇相應的Database,其中 Source Database 下選擇的數據庫【ISACADB-S】是待比較的數據源,是Database 下選擇的數據庫【ISACADB】被更新的依據。并在下面設置比較條件,點擊Next 按鈕則可以進一步設置要比較的Tables、StoredProcedures、Views 等,點擊 Finish 則直接按默認【只比較Table
7、s】進行數據比較。三、點擊 Finish 按鈕后,開始執(zhí)行數據比較,完成后,顯示如下界面。四、下面的所有步驟和上面的架構比較時基本一樣,此處省略。補充:Visual Studio 2005 Team System 版本中默認是沒有上面的功能的,需要安裝下面的插件才能使用以上功能。Visual Studio 2005 Team Edition for Database Profesals Add-on forVisual Studio 2005 Team Suite Edition地址:http:/downloads/details.aspx?familyid=7de00386-893d-414
8、2-a778-992b69d482ad&displaylang=en用 VSTS 寫單元測試的開發(fā)VSTS(Visual Studio Team System) 集成了單元測試框架(Team Test),即:VSTS 單元測試。它支持:1. 生成測試代碼框架;2. 在IDE 中運試;3. 支持從數據庫中加載數據的測試;4. 測試運行完成后,進行代碼分析覆蓋。使用VSTS 寫單元測試的步驟如下:1. 創(chuàng)建測試;2. 編寫測試;3. 運試;4. 代碼覆蓋。1. 創(chuàng)建測試打開解決方案中的.cs 類文件(如:StudentManager),在其中的一個方法(如:AddStudent() )上右擊,選擇
9、“創(chuàng)建單元測試”命令。在彈出的“創(chuàng)建單元測試”框中的“輸出項目”下拉框中選擇“創(chuàng)建新的 Visual C# 測試項目”,單擊“確定”按鈕,并在“新建測試項目”框中輸入測試項目的名稱(如:MySchoolTest),單擊“創(chuàng)建”按鈕后,就看見在原有的解決方案中生成了一個新的項目“MySchoolTest”。測試項目創(chuàng)建成功后,會同時生成 4 個與測試相關的文件:AuthoringTest.txt提供創(chuàng)建測試的說明,包2. 編寫測試創(chuàng)建測試完畢后,VSTS 為自動生成的只是一個測試框架,默認代碼中 Assert.Inconclusive 表明這是一個驗證的單元測試。打開生成的測試文件“Studen
10、tManagerTest.cs”,如示例 1:TestMethodpublic void AddStudentTest()global:MySchool.BLL.StudentManager= new global:MySchool.BLL.StudentManager();/ TODO:初始化為適當的值global:MySchool.Ms.Student student = null; string expected = null;string actual;actual =.AddStudent(student);Assert.AreEqual(expected, actual,括向項目增
11、加其他測試的說明;StudentManagerTest.cs包含 AddStudent()的測試,以及測試初始化和測試清除的方法;MySchoolPro.vsmdi測試管理文件;localtestrun.testrunconfig本地測試運行配置文件。單元測試中,幾個變量的簡單介紹:單元測試中,常用的斷言方法介紹:Assert.AreEqual()測試指定的值是否相等,如果相等,則測試通過;Assert.Inconclusive()表示一個未驗證的測試;Assert.IsTrue()測試指定的條件是否為 True,如果為 True,則測試通過;Assert.IsFalse()測試指定的條件是否
12、為False,如果為 False,則測試通過;Assert.IsNull()測試指定的對象是否為空,如果為空,則測試通過;Assert.IsNotNull()測試指定的對象是否為非空,如果不為空,則測試通過;表示測試目標對象,通過這個目標對象可以測試該類中的各個方法;expected表示期望得到的值;actual表示實際得到的值;MySchool.BLL.StudentManager.AddStudent 未返回所需的值。);Assert.Inconclusive(驗證此測試方法的正確性。);通過對示例 1 添加測試所需的初始值,并對斷言進行簡單的修改后,便得到一個正式的單元測試。如示例 2:
13、TestMethodpublic void AddStudentTest()global:MySchool.BLL.StudentManager= new global:MySchool.BLL.StudentManager();/ TODO:初始化為適當的值global:MySchool.Ms.Student student = new global:MySchool.Ms.Student(); / 修改 1student.LoginId = 003;student.LoginPwd = test003; student.UserSeId = 1; student.studentName =
14、 test003; student.studentNo = test003; student.Sex = 男;student.Cla= 1;string expected = 學員帳戶創(chuàng)建成功!; /修改 2 string actual;actual =.AddStudent(student);Assert.AreEqual(expected, actual,MySchool.BLL.StudentManager.AddStudent 未返回所需的值。);/ Assert.Inconclusive(驗證此測試方法的正確性。);這樣,便得到了一個正式的單元測試。用斷言 Assert.AreEqu
15、al()比較 expected、actual 是否相等。如果相等,測試通過。配置文件中的設置由于的測試需要和數據庫打交道,并且數據庫的連接字符串是從配置文件中的,所以需要在測試項目中添加配置文件(app.config)。如示例 3:用 VSTS 進行壓力測試VSTS 提供了一個豐富、強大的工具,融合了開發(fā)領域的各個角色,涵蓋開發(fā)生命周期的各個階段,包括設計,開發(fā),測試,管理,而這一整套構件的融會貫通,讓它可以有效地改善各個階段的弊端,提高團隊之間不同的角色的協調能力,提高工作效率。開發(fā)過本文就簡單介紹一下如何利用 VSTS 給一個做壓力測試。1 建立一個測試項目,起名MyTest/數據庫連接字
16、符串設置2 建立一個Web Test點擊Web Test.IE 馬上就會彈出一個窗口,這樣錄制3 在IE 里輸入要測試的地址: 比如工作就可以開始了。對該錄制做一些操作, 此時VSTS 會畢,點擊 STOP下你的這些操作,用以作為壓力測試的場景。6 點擊生成代碼,可以看到剛才錄制的類似如下的代碼:/ / This code was generated by a tool./ Runtime Ver/:2.0.50727.42/ Changes to this file may cause incorrect behavior and will be lost if/ the code is r
17、egenerated./ /namespace MyTestusing System;using System.Collections.Generic; using System.Text;usingusing.VisualStudio.TestTools.WebTesting;.VisualStudio.TestTools.WebTesting.Rules;public class WebTest1Coded : WebTestpublic WebTest1Coded()this.PreAuthenticate = true;public override IEnumerator GetRe
18、questEnumerator()WebTestRequest request1 = new WebTestRequest( request1.ThinkTime = 1688;ExtractHiddenFields rule1 = new ExtractHiddenFields();rule1.ContextParameterName = 1;);request1.ExtractValues += new Evenyield return request1;ndler(rule1.Extract);WebTestRequest request2 = new WebTestRequest(re
19、quest2.ThinkTime = 2;);request2.Method = T;FormtHttpBody request2Body = new FormtHttpBody();request2Body.Formrequest2Body.Form request2Body.FormtParameters.Add( VIEWSE, this.Context$HIDDEN1. VIEWSE.ToString();tParameters.Add(Button1, Go to Test Page);tParameters.Add( VIEWSEENCRYPTED,this.Context$HID
20、DEN1. VIEWSEENCRYPTED.ToString();request2Body.FormtParameters.Add( EVENTVALIDATION,this.Context$HIDDEN1. EVENTVALIDATION.ToString();request2.Body = request2Body;ExtractHiddenFields rule2 = new ExtractHiddenFields(); rule2.ContextParameterName = 1;request2.ExtractValues += new Evenyield return reques
21、t2;ndler(rule2.Extract);WebTestRequest request3 = new WebTestRequest();request3.Method = T;FormtHttpBody request3Body = new FormtHttpBody();request3Body.Formrequest3Body.Form request3Body.FormtParameters.Add( VIEWSE, this.Context$HIDDEN1. VIEWSE.ToString();tParameters.Add(Button1, Go to default page
22、.);tParameters.Add( EVENTVALIDATION,this.Context$HIDDEN1. EVENTVALIDATION.ToString();request3.Body = request3Body; yield return request3;7 添加一個 Load Test .8 填寫好Load Test 的各項參數第一步是填寫場景名第二步是填寫裝載的樣式如果選擇一次裝載固定的用戶數,選擇第一項Constant Load如果選擇Setp Load,表示步增,設置好開始時的用戶數,以及經過多久每次增加的用戶數Test MixBrowser MixNetwork M
23、ix在Counter Sets 選擇Add Compuer.,表示要對某個 PC 進行Run Settings9 點擊Finish10 點擊Run Test,測試就開始了。壓力測試運行后,就可以選中某個參數,查看某個時刻機器個方面的性能。參看下圖:也可以運行perfmon,通過 Performance 查看機器的各項指標。VSTS 端口設置必須開放的TCP 端口,這樣Team Foundation 組件之間才能進行通訊。1)SQL Server 2005 用到的端口SQL Server 2005 (Developer, Standard, orEntrise Edition) 用到如下 TCP
24、ports:Server or Application ServiBrowser ServiMonitoringContextKeynameQL_SERVI QL_BROWSERhemsiproperty.iniFile TCP Port 14331434144423822383SQL SQL SQL SQLSQLSQL_MONITORINGServerServerysis Service Redirector SQL_YSIS_REDIRECTORYSISysis ServiQL_SQL Server Reporting ServiceVSTF_WSSSQL_PORT802)Windows
25、SharePoImportantServi用到的端口如果你選擇連接一個已經存在的 Windows SharePoServi部署,這些端口可能會不同。你可以自己確定這些端Server or Application Context。TCPPortKeynamehemsiproperty.iniFileWindows SharePoServiVSTF_WSSSQL_PORT80SharePoCentralVSTF_WSS_ADMIN_PORT17012AdministrationImportant在安裝完 WWS 后,你要自己手動添加這些端口到Team Foundation Server 需要的端口
26、。Server or Application ContextKeynamehe msiproperty.iniFileTCP Port 80808081Team TeamTeamFoundation FoundationFoundationServerServroxy Build Remoting1VSTF_WEBSITE_PORTVSTF_WEBSITE_PORTNot set in.inifile2自定義簽入代碼策略建立自定義策略項目1. 打開VS2008:2. 選擇文件下的新建菜單中的項目:3.在新項目中選擇Visual C#Windows類庫:4.輸入項目名為CopyrightChec
27、kinPolicy:5.選擇確定按鈕保存.6.重命名Clase1為CopyrightPolicy.cs:7.右擊項目選擇添加:8.在.NET選項卡選擇System.Windows.Forms選擇確定:9.再右擊項目, 選擇添加選擇瀏覽選項卡, 找到下面路徑的文件:C:Program FilesVisual Studio 9.0Common7IDEPrivateAssembs.TeamFoundation.VerControl.Cnt.dll并添加:10. 在類中輸入下面代碼: using System.Windows.Forms; using System.Collections; using
28、 System.IO; using System.Collections.Generic; using System.Text; namespace CopyrightCheckinPolicy Serializableget return Strings.policyDescription; public override bool Edit(IPolicyEditArgs policyEditArgs)public override string Descriptionpublic class CopyrightPolicy : PolicyBaseusing System;using.T
29、eamFoundation.VerControl.Cnt;if (Path.GetExten(change.LocalItem) = .cs)foreach (PendingChange change in checkedFiles)kedPendingChanges;PendingChange checkedFiles = this.PendingCheckin.PendingChanges.ChecArrayList changes = new ArrayList();sedMessage);throw new ObjectDisedException(Strings.policyType
30、, Strings.policyDispoif (this.Dised)public override PolicyFailure Evaluate()return false;get return Strings.policyType; public override string Typereturn (PolicyFailure)changes.ToArray(typeof(PolicyFailure);changes.Add(failure);hange.LocalItem, this);PolicyFailure failure = new PolicyFailure(Stringi
31、vateMessage + : + cif (IsFileMissingCopyrightNotice(change.LocalItem)hange.ChangeType.ToString().Contains(ChangeType.Add.ToString()if (change.ChangeType.ToString().Contains(ChangeType.Edit.ToString() | cMessageBox.Show(Strings.policyHelp);public override void DisplayHelp(PolicyFailure failure)return
32、 false;getpublic override bool CanEditget return Strings.policyTypeDescription; public override string TypeDescriptionprotected override void OnPolicySeChanged(PolicyFailure failures)MessageBox.Show(StringivateMessage);public override void Activate(PolicyFailure failure)Strings.policyInstallationIns
33、tructions = value;setreturn Strings.policyInstallationInstructions;getpublic override string InstallationInstructionsw EvenndlendingCheckin_CheckedPendingChangesChanged); public override void Dise()w EvenndlendingCheckin_CheckedPendingChangesChanged); base.Dise(); private void pendingCheckin_Checked
34、PendingChangesChanged(Objecder, EventArgs e)PendingCheckin.PendingChanges.CheckedPendingChangesChanged -= nependingCheckin.PendingChanges.CheckedPendingChangesChanged += nebase.Initialize(pendingCheckin);public override void Initialize(IPendingCheckin pendingCheckin)base.OnPolicySeChanged(failures);
35、return false;catch (Exception)return result;sr.Close();bool result = !sourceCode.Contains(Copyright);string sourceCode = sr.ReadToEnd();StreamReader sr = new StreamReader(fullFileName, true);tryprivate bool IsFileMissingCopyrightNotitring fullFileName)OnPolicySeChanged(Evaluate();e Files include a Copyright Notice.; public sic string policyInstallationInstructions = Sorry, No instructions are available at t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲行業(yè)技術指導與服務協議
- 智能門禁系統安裝服務合同
- 消防工程施工合同協議(2025年)
- 二手房買賣合同補充協議與二手房買賣定金合同
- 2025轉讓協議書范本模板
- 產品試用協議書(2025年)
- 個人投資分紅合同協議2025年
- 幼兒油畫板創(chuàng)意課程設計
- 商業(yè)演出活動組織協議
- 智能玩具設計開發(fā)合同
- 抖音快手短視頻創(chuàng)業(yè)項目融資商業(yè)策劃書
- 滬教版英語八年級上冊知識點歸納匯總
- 裝飾裝修工程售后服務具體措施
- 軟件設計說明書通用模板
- 酒店治安安全培訓
- 糖皮質激素類藥物臨床應用指導原則(2023年)
- 我的家鄉(xiāng)-東營
- 世界的海陸分布、世界的地形復習提綱
- SMT電子物料損耗率標準 貼片物料損耗標準
- NFPA-2010 固定式氣溶膠滅火系統標準(譯文)
- 釣魚郵件專項安全意識隨堂測試
評論
0/150
提交評論