Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.

因為我們喜歡更改版本名字並不時搬移一些功能,我想試著簡明地概述 Visual Studio 2015 Enterprise 與 Visual Studio 2015 Professional。
作為背景,2015 的版本對 Visual Studio IDE 陣容作出了一些改變,用新的 Enterprise 版本取代了 Premium 與 Ultimate 版本。這表示很多原本使用 Premium 的人現在叫做 Enterprise,而看看那些您會選擇 Enterprise 的原因,這也會有幫助於回答「現在我升級為 Enterprise 了,那裡面到底有什麼?」。
IntelliTest
IntelliTest 是一個 2015 的全新功能,它可以幫助您分析原始碼並建立單元測試,來達到 100% 的程式碼覆蓋率,對於該程式碼的每一個路徑。
這表示您可以更輕易地讓更多程式碼被單元測試所覆蓋,幫助您新增單元測試到沒有單元測試的程式碼,並且讓掌握為新的程式碼建立單元測試很容易。這並不代表您將不用再寫一個單元測試,我認為這是幫助您產生核心的單元測試,讓您能基於您的領域知識專注在一些特別的測試與情境。
您可以設定它允許例外,覆蓋物件的創建等等。

它可以與 MS Tests、NUnit、xUnit 和其他任何在 Visual Studio 中提供 adapter 的測試 framework 一起使用。目前僅限於 C#。
這裡有一個35分鐘的影片來更深入了解 IntelliTest。
IntelliTrace
IntelliTrace 是一個歷程或事後分析的偵錯技術,幫助我們處理「我不能重新產生它」的問題,通常跨越開發與測試環境。它在 2010 被引入所以並不新,而且它可以被使用在開發、測試與生產環境。
一個簡單的使用例子:
測試者在測試環境中發現一個錯誤。測試者啟用 IntelliTrace 再重新產生這個錯誤,而這個錯誤發生時就會包含 IntelliTrace 的記錄檔。這個記錄檔會包含測試環境的呼叫與事件。
開發者在 Visual Studio Enterprise 開啟錯誤與 IntelliTrace 的記錄檔,可以檢視引發的例外與那些例外的堆疊追蹤。開發者可以選擇任何例外來偵錯,Visual Studio 將會進入到偵錯模式,並停止執行在您選擇的例外發生的那行程式碼。開發者可以向前或向後檢查程式碼,來了解發生什麼事。
主要優點 – 開發者不需要為了了解如何修復一個錯誤,而努力產生一樣的條件以複製出相同錯誤。IntelliTrace 讓開發者可以伴隨著偵錯進行,即使這之後才會發生而且在不同的環境。對於基於環境所產生的問題(例如:可以在測試環境被重新產生,但在開發環境不行),這可以節省相當多時間。
這需要 .NET 2.0 或更高的 C# 或 VB.NET 和在 ASP.NET、Microsoft Azure、Windows Forms、WCF、WPF、Windows Workflow、SharePoint 與 64-bit 應用程式下工作。您不需要 Enterprise 來收集 IntelliTrace 的資料,但您需要 Enterprise 來使用它。
這裡有更多相關的內容,MSDN 文件與 12分鐘的概覽影片。
架構工具
Enterprise 包含了架構工具而這些分成兩個陣營;UML 與 non-UML 工具。
UML 工具 提供很多不同種類的圖表,像是 Class、Sequence、Activity、Use Case 與 Component 圖表,而且允許正向與反向工程。
Non-UML 工具為 Code Maps 與 Layer Diagrams。這些不同於 UML 工具,是根本上地涉及底層的原始碼。Code Maps 讓您可以視覺化地了解與探索您的程式碼。

為什麼這很有用?它讓您可以建構對於您程式不同方面關係的理解,而不需要實際去讀那些原始碼。Code Maps 讓您從組件深入到命名空間、類別、方法與深入到底層的原始碼,也可以過濾掉那些您不感興趣的元素,像是測試程式碼或系統組件。
您可以新增您自己的註釋與分組,重新排列圖表與分享給其他人,透過 email、儲存成圖表或直接在 Visual Studio 中。一個 Professional 的使用者可以檢視 Code Maps 但不能編輯它們。
這對於一個剛新加入一個專案的人或是當您要更改您並不熟悉或可能沒辦法記得的程式碼來說相當有幫助。
一個經常被忽略的功能就是您也可以用 Code Maps 來偵錯,而這真的很有幫助,在偵錯時不需要在腦中持續追蹤程式碼。

Code Maps 適用於 .NET 與 C/C++。為了讓您更清楚了解,這裡有一個 9 分鐘的概覽影片與一些相關的文件。
發行管理 Release Management
您想要持續部署您的程式碼到多個異質的環境,無論混合多種您需要的自動與人工審核機制,或者履行各種行為在每個環境之中(預備、佈署、測試等環境)?
這也就是在 Visual Studio 2015 新的版本管理工具所提供的。版本管理組成 Visual Studio DevOps 支援的一個核心部分,提供持續部署的支援與補充新的建置系統、共享同樣的跨平台代理程式。

要建立與編輯發行定義、定義環境、需要的佈署步驟、批准等等是需要 Enterprise 版本。這裡有個 2 分鐘的概覽影片或這個 30 分鐘更深入的影片。
測試工具
來簡單地總結,您可以在 Enterprise 取得所有測試工具。換一種說法:
- 測試案例管理
- 手動測試
- 探勘測試
- 自動化功能測試
- 負載與效能測試
前三個項目包含在 Microsoft Test Professional,是 Enterprise 版本的一部分。我將不會在這提到,但您可以在這裡了解更多相關資訊。對於 Enterprise 來說獨特的是自動化功能測試和負載與效能測試。
Visual Studio 自動化功能測試的工具為 Coded UI。正如它名字暗示的,這會建立自動化測試(即包含自動驗證),並將他們記錄為程式碼 – C# 或 VB.NET。當您執行操作或在程式碼等級用重複使用測試建立測試,您可以記錄它們。您也可以用手動測試來建立自動化測試,然後新增憑證。

Coded UI 讓您可以建置驅動應用程式 UI 測試的回歸套件,而要遠端執行這些回歸測試,如在測試環境,甚至是上面討論的發行管理功能的一部分。請注意,遠端執行 Coded UI 測試並不需要 Enterprise 版本,所以其他使用者可以執行它們。這裡有一些文章讓您更了解 Coded UI。
負載與效能測試已經在 Visual Studio 中很長一段時間了,而且發展了很多年。核心的功能是相同的;建立一個情境來測試效能,用某個數量的虛擬使用者在給定的時間內執行一些測試。您可以把網路狀態納入考量(例如:10% 的使用者是在一個很差的網路連線狀態,而他們的體驗如何?)與收集系統效能計數器資訊(CPU、記憶體、硬碟 I/O 等等):

這裡有一個建立與執行負載測試的教學。
最近的改動包含了選擇使用 Azure 來產生負載的功能,也就是說您不需要自己尋找硬體與設定測試 rig。這不須對負載測試作任何更動,因為它只是一個選擇雲端和內部部署的按鈕而已。選擇雲端代表您就可以選擇要使用哪個 Azure 數據中心作為負載來源:

這裡有一些關於雲端負載測試更詳細的說明,與一個 10 分鐘的影片。
MSDN
最後,您可以從 Enterprise 的 MSDN 取得的額外好處(比起 Professional):
- 更多的 Azure 額度(每個月 NT 4,700 元 vs Professional 每個月 NT 1,600 元),所以您可以免費使用更多 Azure 服務,像是運行虛擬機。
- 合作夥伴 eDevTech 的 modern requirements Management。
- Office 365 開發者訂閱。
- 無限下載,開發測試使用的 SharePoint、Exchange、Dynamics、生產環境可用的 Office 與 PowerBI 。
- 45 堂 Pluralsight 課程 vs Professional 的 30 堂
- 2 組 10 堂的 Microsoft e-learning 課程(Professional 只有 1 組)
- 4 個原廠技術支援點數(vs Professional 版本 2 個)
您可以在這裡取得更多詳細的資訊。
希望這讓您初步地了解這些差異,而如果您正在決定要使用哪個版本或決定升級為 Enterprise,您都將可以對這些主要的額外功能有更多的了解。
資源
- Visual Studio Code: Top 10 questions answered
- 10 Questions about Visual Studio support for Git
- Visual Studio Enterprise: Advanced Features
本文翻譯自 6 differences between VS 2015 Enterprise and Pro
若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922
