From d0a1e79fbd0e6bfeceda1e8b7ba2cdd3b003d81d Mon Sep 17 00:00:00 2001 From: aksh-h Date: Mon, 13 Jan 2025 13:30:10 +0530 Subject: [PATCH 1/6] Update readme.md to reflect SonarQube Cloud terminology --- labs/azuredevops/sonarcloud/readme.md | 46 +++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/labs/azuredevops/sonarcloud/readme.md b/labs/azuredevops/sonarcloud/readme.md index 8b50570f01..5b88358983 100644 --- a/labs/azuredevops/sonarcloud/readme.md +++ b/labs/azuredevops/sonarcloud/readme.md @@ -1,8 +1,8 @@ --- -title: Managing Technical Debt with Azure DevOps and SonarCloud +title: Managing Technical Debt with Azure DevOps and SonarQube Cloud layout: page sidebar: vsts -permalink: /labs/azuredevops/sonarcloud/ +permalink: /labs/azuredevops/SonarQube cloud/ folder: /labs/azuredevops/sonarcloud/ version: Lab version - 15.8.2 updated: Last updated - 9/6/2018 @@ -12,34 +12,34 @@ updated: Last updated - 9/6/2018 ## Overview ## -In this lab, you will be introduced to technical debt, how to configure your Azure Build definitions to use SonarCloud, how to understand the analysis results, and finally how to configure quality profile to control the rule set used by SonarCloud for analyzing your project. +In this lab, you will be introduced to technical debt, how to configure your Azure Build definitions to use SonarQube Cloud, how to understand the analysis results, and finally how to configure quality profile to control the rule set used by SonarQube Cloud for analyzing your project. Technical debt is the set of problems in a development effort that make forward progress on customer value inefficient. Technical debt saps productivity by making code hard to understand, fragile, time-consuming to change, difficult to validate, and creates unplanned work that blocks progress. Technical debt saps an org's strength due to high costs in customer support, and, eventually, some combination of these issues creates a larger problem that someone runs into. Technical debt is insidious. It starts small and grows over time through rushed changes, lack of context and lack of discipline. It can materialize out of nowhere even for a project regarded as clean at some point in time, due to a change in project circumstances: prototype code may be promoted to serve as the basis for a feature; code produced for the U.S. market may be proposed for international, instantly creating debt related to localizability; technologies evolve, but the app doesn't keep up. ### Prerequisites ### -- A SonarCloud account from [https://sonarcloud.io](https://sonarcloud.io/). +- A SonarQube Cloud (SaaS) account from [https://www.sonarsource.com/](https://www.sonarsource.com/). - This lab requires you to complete task 1 from the prerequisite instructions. -## Exercise 1: Managing Technical Debt with Azure DevOps and SonarCloud ## +## Exercise 1: Managing Technical Debt with Azure DevOps and SonarQube ## -### Task 1: Install and configure the SonarCloud extension ### +### Task 1: Install and configure the SonarQube extension ### 1. Navigate to your team project on Azure DevOps. -1. SonarCloud is provided as a marketplace extension. From the **Marketplace** navigation dropdown, select **Browse Marketplace**. +1. SonarQube is provided as a marketplace extension. From the **Marketplace** navigation dropdown, select **Browse Marketplace**. ![](images/000.png) -1. Search for **"SonarCloud"**. +1. Search for **"SonarQube Cloud"**. ![](images/001.png) -1. Select the **SonarCloud** option. +1. Select the **SonarQube Cloud** option. ![](images/002.png) @@ -47,7 +47,7 @@ Technical debt is the set of problems in a development effort that make forward ![](images/003.png) -1. Select the organization to install **SonarCloud** into. This should be the organization that contains your **Parts Unlimited** project. Click **Install**. +1. Select the organization to install **SonarQube Cloud** into. This should be the organization that contains your **Parts Unlimited** project. Click **Install**. ![](images/004.png) @@ -58,7 +58,7 @@ Technical debt is the set of problems in a development effort that make forward 1. Navigate to your **Parts Unlimited** team project. -### Task 2: Integrating a build with SonarCloud ### +### Task 2: Integrating a build with SonarQube Cloud ### 1. Navigate to **Pipelines \| Pipelines**. @@ -76,11 +76,11 @@ Technical debt is the set of problems in a development effort that make forward ![](images/009.png) -1. Select the **.NET Desktop with SonarCloud** template and click **Apply**. +1. Select the **.NET Desktop with SonarQube Cloud** template and click **Apply**. ![](images/010.png) -1. This build definition is pretty standard for a .NET project, except that it also includes three additional tasks for **SonarCloud**. Note that you could easily integrate these specific tasks with your existing build definitions. There's no need to start from scratch like we are in this lab. +1. This build definition is pretty standard for a .NET project, except that it also includes three additional tasks for **SonarQube Cloud**. Note that you could easily integrate these specific tasks with your existing build definitions. There's no need to start from scratch like we are in this lab. ![](images/011.png) @@ -88,19 +88,19 @@ Technical debt is the set of problems in a development effort that make forward ![](images/012.png) -1. Select the **Prepare analysis on SonarCloud** task. This task defines the connection configuration for any later tasks. +1. Select the **Prepare analysis on SonarQube Cloud** task. This task defines the connection configuration for any later tasks. ![](images/013.png) -1. Click **New** to configure a new **SonarCloud Service Endpoint**. +1. Click **New** to configure a new **SonarQube Cloud Service Endpoint**. ![](images/014.png) -1. Click **your SonarCloud account security page** to open the account page in a new tab. +1. Click **your SonarQube Cloud account security page** to open the account page in a new tab. ![](images/015.png) -1. Navigate to [https://sonarcloud.io](https://sonarcloud.io/) and sign in to your SonarCloud account. +1. Navigate to [https://www.sonarsource.com](https://www.sonarsource.com) and sign in to your SonarQube Cloud account. 1. Click "My account link" and move to "Security" tab @@ -114,11 +114,11 @@ Technical debt is the set of problems in a development effort that make forward ![](images/017.png) -1. Enter a **Service connection name** of **"SonarCloud"** and paste the token as the **SonarCloud Token**. Click **Verify and save**. +1. Enter a **Service connection name** of **"SonarQube Cloud"** and paste the token as the **SonarQube Cloud Token**. Click **Verify and save**. ![](images/018.png) -1. Select **SonarCloud** as the **SonarCloud Service Endpoint** and select an **Organization** associated with the account. You'll also need to provide a globally unique **Project Key**, such as **"partsunlimited.YOURNAME"**. +1. Select **SonarQube Cloud** as the **SonarQube Cloud Service Endpoint** and select an **Organization** associated with the account. You'll also need to provide a globally unique **Project Key**, such as **"partsunlimited.YOURNAME"**. ![](images/019.png) @@ -131,9 +131,9 @@ Technical debt is the set of problems in a development effort that make forward ![](images/021.png) -### Task 3: Reviewing SonarCloud results ### +### Task 3: Reviewing SonarQube Cloud results ### -1. From the left panel, select the **Run Code Analysis** task. This contains the processes where SonarCloud analyzes the code. +1. From the left panel, select the **Run Code Analysis** task. This contains the processes where SonarQube Cloud analyzes the code. ![](images/022.png) @@ -141,7 +141,7 @@ Technical debt is the set of problems in a development effort that make forward ![](images/023.png) -1. The SonarCloud results are organized for easy access to the key results you're looking for. +1. The SonarQube Cloud results are organized for easy access to the key results you're looking for. ![](images/024.png) @@ -173,7 +173,7 @@ Technical debt is the set of problems in a development effort that make forward ![](images/031.png) -1. Expand the **Administration** option. Note that there is an incredible amount of flexibility available here for customizing your SonarCloud analysis. +1. Expand the **Administration** option. Note that there is an incredible amount of flexibility available here for customizing your SonarQube Cloud analysis. ![](images/032.png) From 631c44881418fc4e8dc2b768036c90d27efb6b1e Mon Sep 17 00:00:00 2001 From: Mohan BS Date: Mon, 13 Jan 2025 19:07:09 +0530 Subject: [PATCH 2/6] initial commit --- labs/azuredevops/agile/readme.md | 2 + .../appregister/images/AppDetails.png | Bin 0 -> 7263 bytes .../appregister/images/ChooseAPI.png | Bin 0 -> 37379 bytes .../appregister/images/ChoosePermission.png | Bin 0 -> 21298 bytes labs/azuredevops/appregister/readme.md | 70 +++++++++++++++ labs/azuredevops/buildapp/readme.md | 81 ++++++++++++++++++ labs/azuredevops/prereq/images/101.png | Bin 0 -> 28224 bytes labs/azuredevops/prereq/images/102.png | Bin 0 -> 293129 bytes labs/azuredevops/prereq/images/103.png | Bin 0 -> 16676 bytes labs/azuredevops/prereq/readme.md | 58 +++++-------- 10 files changed, 174 insertions(+), 37 deletions(-) create mode 100644 labs/azuredevops/appregister/images/AppDetails.png create mode 100644 labs/azuredevops/appregister/images/ChooseAPI.png create mode 100644 labs/azuredevops/appregister/images/ChoosePermission.png create mode 100644 labs/azuredevops/appregister/readme.md create mode 100644 labs/azuredevops/buildapp/readme.md create mode 100644 labs/azuredevops/prereq/images/101.png create mode 100644 labs/azuredevops/prereq/images/102.png create mode 100644 labs/azuredevops/prereq/images/103.png diff --git a/labs/azuredevops/agile/readme.md b/labs/azuredevops/agile/readme.md index 84411c190d..0ca63447ad 100644 --- a/labs/azuredevops/agile/readme.md +++ b/labs/azuredevops/agile/readme.md @@ -21,6 +21,8 @@ In this lab, you will learn about the agile planning and portfolio management to ### Prerequisites ### +- Clone and build DemoGenerator + - This lab requires you to complete task 1 from the prerequisite instructions. (No cloning needed for this lab, skip Task 2) diff --git a/labs/azuredevops/appregister/images/AppDetails.png b/labs/azuredevops/appregister/images/AppDetails.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce291273ce64137280c28389596dc8aed996e28 GIT binary patch literal 7263 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 literal 0 HcmV?d00001 diff --git a/labs/azuredevops/appregister/images/ChoosePermission.png b/labs/azuredevops/appregister/images/ChoosePermission.png new file mode 100644 index 0000000000000000000000000000000000000000..46c9a491229aa5e57fb4972f7abe8490588e7c55 GIT binary patch literal 21298 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%0D!=rSkdJpym)aoD^hn?zsX2V{&n|d8C(m>X#{i7 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%0AaF^Nj+idau zEw}Dk%M*{cco-4C$w7f`=JUudRDEBsBQ3Y5S*1JI2r3fr8xP5F(OAMxMgZdu-@8qR z=!0K7%N?NCyhq}l{jjeUk#^!12avH1cc`r@-9g3Fy0AoEKb6*&R7li6Ad@3+HC53lo>iwC! z)=InOFJ}2?UzzTb_g*rzJRa$X$dikR3}4RlC5Who)8j9^)tF@6gHSMaxXefPJQ*j4 z=xcjbH;`I@nRuX}SlE#gRXk-=-{zi!8;!Hroa}dgpL#>?S|P~4%nYhNcNQ-N%Ho87 z7)EIi`SH|-zC1qgTJDleXIF)QKx>o{RGxFHsMX6&L;p+Kjm7At?bb1S;yR7*LI%-F z82-!|B$5XbA7s4hpHna@-sK$Fy`xp*INQ{(E@Q~q^|-Sw?>G3-ugeS;wAMb%>^bwh z8YZknpe)U^_>)_kZY`^zCQp4X(vckLvOmKjgnP@8!(YJY*Z0ktlQQ%fmu_`OBk#O# zNINXXuvvkaY4@3rEL|$?ml@2;EpcacHC@tECm{=%J0*DyEH6IUM|%X$+Y%GixU%up zWn+PrJR@)`(eK5_N#5@}&P*P)_o=QdSu&P-xH1!sLsqv5n+gQS*f@ep^~>?D!v!kz z%-juJ-4EJ&VWU8rb@{B3vaL*&{Ia?Ulj!h8%A$ZTPo-=>t5%A(Y3oxbid?Ci5^n5y z7hv?v+0J^|xNYQKMdzfrunS@EX{)9$_h9GVAXidD`O3?=0k8y|WnNXf zILeG9JXThsFdgQZCQj?i+q+yOk^ck3mdpMRm}KSq>$bSSRP3(b=PMzpo4BENey%H` zaW!Y~OZkN`t6$aw$y4iRnw7UaYdN-p2x0?9r$g_yVBA$Qd;nJtF|#wZm~(hO0sH-u z5I%0Zd8G9dYwgosn6-(A{01As1D`B#ei1_5d}h;;BVPO9R6v&b1eb@{^v8v++LHAk zFe4x!>0gT+!6x-udxSX;aKk~6YR(+BhOH`Dog;vwi{8RS^Jg%uX z*XsZILdHP?5R429V$K#TS}6gn1^n{I|+NDvBo@| z#~PzAU)}De46*7jA<=$!RaAdfl%sQ`IhCPU(VD>N6LJ5HI#qGHgLgh97%h3$1nIuI z5Arb}8ajM1SghWfXXmTLY>QrzpO*?d&xVl?@-)bN zOp{7=Vd~rM?^10kjn7KL!-7n7em0Z+IPF+zKH$Y|_E4PVwdxcughLpP0c*N|lAOXkT+LcvqEKMPDCD=`+n4sd`c8kO z71%!Vwpe~)YJL1fOW~n*qHqr!r;tu1@!ICZybj;DXh$wUJo}QFDK;_2UdK&!#>h{D zZ2%c2#ZQm(afG!+b>1_8G-G+tliz4CQI}tVSb_Xht1WK6>kSqO!4!eIg=Fu1v;6=m zKGn~5q9yNu{`Ha3S&s|1)$@;1++|Zlb!&gr=ztydK!khh>F2 zM+SrPE{lYG&{K*PTTb@AG+M+Lp0ii0aL*>5M16%0-VTkJUce_R^@+lZEsaG3)3CLWNK2;;Rzh&5aYJU< zt6Ps)Q5O!z>u}?SR;jwu`-9jL@>y0*Z$R{mUY4&_VWJq0voobdq+MtKb?m;yYab>j u(7{w)K+juRBQr1rG5jx<-_tbZ{gAe-tH?L(R(8O^%>dPd>yosc!u|$-r4IK1 literal 0 HcmV?d00001 diff --git a/labs/azuredevops/appregister/readme.md b/labs/azuredevops/appregister/readme.md new file mode 100644 index 0000000000..ca49cfd2ba --- /dev/null +++ b/labs/azuredevops/appregister/readme.md @@ -0,0 +1,70 @@ +--- +title: Azure DevOps Lab Prerequisites +layout: page +sidebar: vsts +permalink: /labs/azuredevops/appregister/ +folder: /labs/azuredevops/appregister/ +version: Lab version - 1.00.0 +updated: Last updated - 13/01/2025 +--- + + + +## Overview + +Register Your Application in Azure AD + + + +## 1. Register a New Application + +- Sign in to the Azure Portal. Navigate to [Azure Portal](https://portal.azure.com). + +- Go to **Azure Active Directory** > **App registrations** > **New registration**. +- Enter the following details: + - **Name**: Enter a meaningful name for your app. + - **Supported Account Types**: Choose an option based on your needs: + - Single tenant: Accounts in your organization only. + - Multi-tenant: Accounts in any organization's directory. + - **Redirect URI**: This is not required for Device Code Flow but can be added later if needed. +- Click **Register**. + + + +## 2. Copy the Application (Client) ID + +- After registration, go to the **Overview** section. +- Copy the **Application (client) ID** and the **Directory (tenant) ID** and save it for later. + + ![](images/AppDetails.png) + + + +## 3. Configure API Permissions + +- Navigate to **API Permissions** > **Add a permission**. + + - Select **Azure DevOps** or any other API you want to access. + + ![](images/ChooseAPI.png) + + + +## 4. Following are the scopes required + +- Following are the scopes required. + + | Scope | Description | + |---------------------------|------------------------------------------| + | vso.agentpools | Agent Pools (read) | + | vso.build_execute | Build (read and execute) | + | vso.code_full | Code (full) | + | vso.dashboards_manage | Team dashboards (manage) | + | vso.extension_manage | Extensions (read and manage) | + | vso.profile | User profile (read) | + | vso.project_manage | Project and team (read, write and manage)| + | vso.release_manage | Release (read, write, execute and manage)| + | vso.serviceendpoint_manage| Service Endpoints (read, query and manage)| + | vso.test_write | Test management (read and write) | + | vso.variablegroups_write | Variable Groups (read, create) | + | vso.work_full | Work items (full) | \ No newline at end of file diff --git a/labs/azuredevops/buildapp/readme.md b/labs/azuredevops/buildapp/readme.md new file mode 100644 index 0000000000..dab8290de5 --- /dev/null +++ b/labs/azuredevops/buildapp/readme.md @@ -0,0 +1,81 @@ +--- +title: Azure DevOps Lab Prerequisites +layout: page +sidebar: vsts +permalink: /labs/azuredevops/buildapp/ +folder: /labs/azuredevops/buildapp/ +version: Lab version - 1.00.0 +updated: Last updated - 13/01/2025 +--- + + + +## Overview + +To run the ADOGenerator project as a console application or executable, follow these steps: + +Ensure you have the following installed on your machine: + +- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) +- [Visual Studio](https://visualstudio.microsoft.com/) or any other preferred IDE + +## Steps + +1. **Clone the Repository** + If you haven't already, clone the repository to your local machine: + + ```sh + git clone + cd + ``` + +2. **Open the Solution** + Open the ADOGenerator.sln solution file in Visual Studio or your preferred IDE. + +3. **Set ADOGenerator as the Startup Project** + In Visual Studio: + + - Right-click on the ADOGenerator project in the Solution Explorer. + - Select Set as Startup Project. + +4. **Build the Solution** + Build the solution to ensure all dependencies are restored and the project compiles successfully: + + - In Visual Studio, right-click on the solution in the Solution Explorer and select `Build Solution`. + - Alternatively, you can use the command line: + ```sh + dotnet build + ``` + +5. **Run the Project** + To run the project as a console application: + + - In Visual Studio, press `F5` or click on the Start button. + - Alternatively, you can run the project from the command line: + ```sh + dotnet run --project src/ADOGenerator/ADOGenerator.csproj + ``` + +6. **Publish the Project** + To create an executable, publish the project: + + - In Visual Studio, right-click on the ADOGenerator project in the Solution Explorer and select `Publish`. + - Follow the prompts to configure the publish settings (e.g., target folder, configuration, etc.). + - Alternatively, you can use the command line: + ```sh + dotnet publish src/ADOGenerator/ADOGenerator.csproj -c Release -r win-x64 --self-contained + ``` + +7. **Run the Executable** + Navigate to the publish directory and run the executable: + ```sh + cd src/ADOGenerator/bin/Release/net8.0/win-x64/publish + ./ADOGenerator.exe + ``` + +## Additional Notes + +- Ensure that any required configuration files (e.g., `appsettings.json`) are present in the output directory. +- If you encounter any issues, check the console output for error messages and resolve any missing dependencies or configuration issues. + +By following these steps, you should be able to run the ADOGenerator project as a console application or executable. diff --git a/labs/azuredevops/prereq/images/101.png b/labs/azuredevops/prereq/images/101.png new file mode 100644 index 0000000000000000000000000000000000000000..f3170abbb1c900c5fcd8344370e005f7d52d745f GIT binary patch literal 28224 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 X^A+LiN(pJp>#VJ*_jk#y2QU5)1eLTx literal 0 HcmV?d00001 diff --git a/labs/azuredevops/prereq/images/102.png b/labs/azuredevops/prereq/images/102.png new file mode 100644 index 0000000000000000000000000000000000000000..d1bab6deac846527e0ecd11a64456f2159d15e6c GIT binary patch literal 293129 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 =4@!hQW?)@jfa4ngFxYPm31$Tc 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

dQAe6s$b2avE!f3Cc!H8a2R7%UsW>nH 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 P(F}6iOuy!qbNqh+VM6G| literal 0 HcmV?d00001 diff --git a/labs/azuredevops/prereq/images/103.png b/labs/azuredevops/prereq/images/103.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7464af321ce7621198cc0390a31ceaedaea1d1 GIT binary patch literal 16676 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 -## Overview ## -Certain Azure DevOps labs require a preconfigured **Parts Unlimited** team project. This document outlines the required steps to set up the required data. - - -### Task 1: Configuring the Parts Unlimited team project ### -1. Navigate to [https://azuredevopsdemogenerator.azurewebsites.net](https://azuredevopsdemogenerator.azurewebsites.net/). This utility site will automate the process of creating a new Azure DevOps project within your account that is prepopulated with content (work items, repos, etc.) required for the lab. For more information on the site, please see [https://docs.microsoft.com/en-us/azure/devops/demo-gen](https://docs.microsoft.com/en-us/azure/devops/demo-gen). - -1. Sign in using the Microsoft account associated with your Azure DevOps subscription. + - ![](images/000.png) +## Overview -1. **Accept** the permission requests for accessing your subscription. +Certain Azure DevOps labs require a preconfigured **Parts Unlimited** team project. This document outlines the required steps to set up the required data. -1. Select your Azure DevOps organization and enter the project name **"Parts Unlimited"**. Click **Choose Template**. + - ![](images/001.png) +## Steps -1. Select the **PartsUnlimited** template and click **Select Template**. + - ![](images/002.png) +### 1. Select the project template -1. Click **Create Project** and wait for the process to complete. +After the runing the app, you will get info about selecting the project template. Select the template by number input - ![](images/003.png) +![](images/101.png) -### Task 2: Configuring the Parts Unlimited solution in Visual Studio ### - -1. Some labs will require you to open the **Parts Unlimited** solution in **Visual Studio**. If your lab doesn't require this, you can skip this task. - -1. Navigate to your Azure DevOps team project for **Parts Unlimited**. It will be something like [https://dev.azure.com/YOURACCOUNT/Parts%20Unlimited](https://dev.azure.com/YOURACCOUNT/Parts Unlimited). - -1. Navigate to the **Repos** hub. - - ![](images/004.png) -1. Click **Clone** and select **Clone in Visual Studio** (choose it in the dropdown if other option shown as default). - ![](images/clone.png) - ![](images/005.png) +### 2. Select the authentication method -1. Follow the workflow to clone and configure the project in Visual Studio. Click **Clone** to copy the repo locally. +Here you have 2 methods: - ![](images/clone-2.png) +1. Device Login using AD auth -1. From **Team Explorer**, double-click **PartsUnlimited.sln** from the **Solutions** section to open the solution. You can ignore if you see any warnings about unsupported project types (just click OK on the prompted window and ignore the migration report opened on the browser) + - Register Your Application in Azure AD. Refer Register and Setup + - Login with the displaying code. + - After the login organizations will be listed - ![](images/007.png) + ![](images/102.png) - ![](images/unsupported.png) +2. With Personal Access Token -1. Leave Visual Studio open for use in your lab. + Create Personal Access Token (PAT) with required scopes + ![](images/103.png) From ffefa65a0affef311e34f3aeb85eb1866cdb2370 Mon Sep 17 00:00:00 2001 From: Akshay Hosur Date: Wed, 15 Jan 2025 12:42:28 +0530 Subject: [PATCH 3/6] Refactor readme files for clarity and consistency in Azure DevOps labs --- labs/azuredevops/appregister/readme.md | 72 ++++++++++++++++++-------- labs/azuredevops/buildapp/readme.md | 4 ++ labs/azuredevops/prereq/readme.md | 35 ++++++++++--- 3 files changed, 82 insertions(+), 29 deletions(-) diff --git a/labs/azuredevops/appregister/readme.md b/labs/azuredevops/appregister/readme.md index ca49cfd2ba..b8d8330195 100644 --- a/labs/azuredevops/appregister/readme.md +++ b/labs/azuredevops/appregister/readme.md @@ -14,7 +14,7 @@ updated: Last updated - 13/01/2025 Register Your Application in Azure AD - + ## 1. Register a New Application @@ -29,7 +29,7 @@ Register Your Application in Azure AD - **Redirect URI**: This is not required for Device Code Flow but can be added later if needed. - Click **Register**. - + ## 2. Copy the Application (Client) ID @@ -38,33 +38,61 @@ Register Your Application in Azure AD ![](images/AppDetails.png) - + ## 3. Configure API Permissions - Navigate to **API Permissions** > **Add a permission**. - - Select **Azure DevOps** or any other API you want to access. +- Select **Azure DevOps** or any other API you want to access. - ![](images/ChooseAPI.png) + ![](images/ChooseAPI.png) - + ## 4. Following are the scopes required -- Following are the scopes required. - - | Scope | Description | - |---------------------------|------------------------------------------| - | vso.agentpools | Agent Pools (read) | - | vso.build_execute | Build (read and execute) | - | vso.code_full | Code (full) | - | vso.dashboards_manage | Team dashboards (manage) | - | vso.extension_manage | Extensions (read and manage) | - | vso.profile | User profile (read) | - | vso.project_manage | Project and team (read, write and manage)| - | vso.release_manage | Release (read, write, execute and manage)| - | vso.serviceendpoint_manage| Service Endpoints (read, query and manage)| - | vso.test_write | Test management (read and write) | - | vso.variablegroups_write | Variable Groups (read, create) | - | vso.work_full | Work items (full) | \ No newline at end of file +| Scope | Description | +| -------------------------- | ------------------------------------------ | +| vso.agentpools | Agent Pools (read) | +| vso.build_execute | Build (read and execute) | +| vso.code_full | Code (full) | +| vso.dashboards_manage | Team dashboards (manage) | +| vso.extension_manage | Extensions (read and manage) | +| vso.profile | User profile (read) | +| vso.project_manage | Project and team (read, write and manage) | +| vso.release_manage | Release (read, write, execute and manage) | +| vso.serviceendpoint_manage | Service Endpoints (read, query and manage) | +| vso.test_write | Test management (read and write) | +| vso.variablegroups_write | Variable Groups (read, create) | +| vso.work_full | Work items (full) | + + + +## 5. Configure the App Settings + +- Open your application’s configuration file (e.g., `appsettings.json`) under AppSettings. +- Add the following details: + + ```json + { + "AppSettings": { + "...": "...", + "clientId": "", + "tenantId": "", + "scope": "499b84ac-1321-427f-aa17-267ca6975798/.default" + } + } + ``` + +- Replace placeholders with the actual values from the Azure Portal. + + + +## 5. Test the Application + +- Run your application. + +- The app will display a message instructing the user to go to `https://microsoft.com/devicelogin` and enter the provided device code. + +- After entering the code, users will authenticate, and the app will receive an access token. diff --git a/labs/azuredevops/buildapp/readme.md b/labs/azuredevops/buildapp/readme.md index dab8290de5..11d597e3b1 100644 --- a/labs/azuredevops/buildapp/readme.md +++ b/labs/azuredevops/buildapp/readme.md @@ -19,6 +19,8 @@ Ensure you have the following installed on your machine: - [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) - [Visual Studio](https://visualstudio.microsoft.com/) or any other preferred IDE + + ## Steps 1. **Clone the Repository** @@ -73,6 +75,8 @@ Ensure you have the following installed on your machine: ./ADOGenerator.exe ``` + + ## Additional Notes - Ensure that any required configuration files (e.g., `appsettings.json`) are present in the output directory. diff --git a/labs/azuredevops/prereq/readme.md b/labs/azuredevops/prereq/readme.md index 9b123e5177..5e256467dd 100644 --- a/labs/azuredevops/prereq/readme.md +++ b/labs/azuredevops/prereq/readme.md @@ -14,19 +14,19 @@ updated: Last updated - 13/01/2025 Certain Azure DevOps labs require a preconfigured **Parts Unlimited** team project. This document outlines the required steps to set up the required data. - + ## Steps - + ### 1. Select the project template -After the runing the app, you will get info about selecting the project template. Select the template by number input +When you run the app will get info about selecting the project template, select the template by number input ![](images/101.png) - + ### 2. Select the authentication method @@ -34,9 +34,11 @@ Here you have 2 methods: 1. Device Login using AD auth - - Register Your Application in Azure AD. Refer Register and Setup - - Login with the displaying code. - - After the login organizations will be listed + Register Your Application in Azure AD. Refer Register and Setup + + Login with the displaying code + + After the login organizations will be listed and select org to create project ![](images/102.png) @@ -44,4 +46,23 @@ Here you have 2 methods: Create Personal Access Token (PAT) with required scopes + | Scope | Description | + | -------------------------- | ------------------------------------------ | + | vso.agentpools | Agent Pools (read) | + | vso.build_execute | Build (read and execute) | + | vso.code_full | Code (full) | + | vso.dashboards_manage | Team dashboards (manage) | + | vso.extension_manage | Extensions (read and manage) | + | vso.profile | User profile (read) | + | vso.project_manage | Project and team (read, write and manage) | + | vso.release_manage | Release (read, write, execute and manage) | + | vso.serviceendpoint_manage | Service Endpoints (read, query and manage) | + | vso.test_write | Test management (read and write) | + | vso.variablegroups_write | Variable Groups (read, create) | + | vso.work_full | Work items (full) | + + Specify the organization name and the created PAT + + Enter the new project name and press enter, will be created + ![](images/103.png) From f28e114d490d46b622939808be4faffd78f3f454 Mon Sep 17 00:00:00 2001 From: Akshay Hosur Date: Wed, 15 Jan 2025 14:06:15 +0530 Subject: [PATCH 4/6] Bump lab version to 1.40.0 in Azure DevOps prerequisites readme --- labs/azuredevops/prereq/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/labs/azuredevops/prereq/readme.md b/labs/azuredevops/prereq/readme.md index 5e256467dd..3842eaab33 100644 --- a/labs/azuredevops/prereq/readme.md +++ b/labs/azuredevops/prereq/readme.md @@ -4,7 +4,7 @@ layout: page sidebar: vsts permalink: /labs/azuredevops/prereq/ folder: /labs/azuredevops/prereq/ -version: Lab version - 1.39.0 +version: Lab version - 1.40.0 updated: Last updated - 13/01/2025 --- From af9eedb3c98a6989306f621e402f2fa2c3ae2416 Mon Sep 17 00:00:00 2001 From: Akshay Hosur Date: Thu, 16 Jan 2025 11:06:56 +0530 Subject: [PATCH 5/6] version update --- labs/azuredevops/prereq/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/labs/azuredevops/prereq/readme.md b/labs/azuredevops/prereq/readme.md index 3842eaab33..5e256467dd 100644 --- a/labs/azuredevops/prereq/readme.md +++ b/labs/azuredevops/prereq/readme.md @@ -4,7 +4,7 @@ layout: page sidebar: vsts permalink: /labs/azuredevops/prereq/ folder: /labs/azuredevops/prereq/ -version: Lab version - 1.40.0 +version: Lab version - 1.39.0 updated: Last updated - 13/01/2025 --- From fbd5f8684f0657f6acaeed3b4b324d1c962b9ea3 Mon Sep 17 00:00:00 2001 From: Akshay Hosur Date: Thu, 16 Jan 2025 16:04:25 +0530 Subject: [PATCH 6/6] Updated Prerequisities --- labs/azuredevops/agile/readme.md | 2 +- .../continuousdeployment/readme.md | 2 + .../continuousintegration/readme.md | 2 + labs/azuredevops/deliveryplans/readme.md | 115 ++++---- labs/azuredevops/exploratorytesting/readme.md | 81 ++--- labs/azuredevops/load/readme.md | 193 ++++++------ labs/azuredevops/packagemanagement/readme.md | 161 +++++----- labs/azuredevops/prereq/readme.md | 54 +++- labs/azuredevops/sonarcloud/readme.md | 89 +++--- labs/azuredevops/testmanagement/readme.md | 279 +++++++++--------- 10 files changed, 529 insertions(+), 449 deletions(-) diff --git a/labs/azuredevops/agile/readme.md b/labs/azuredevops/agile/readme.md index 0ca63447ad..486047f1fd 100644 --- a/labs/azuredevops/agile/readme.md +++ b/labs/azuredevops/agile/readme.md @@ -21,7 +21,7 @@ In this lab, you will learn about the agile planning and portfolio management to ### Prerequisites ### -- Clone and build DemoGenerator +- Clone and build Azure DevOps Demo Generator - This lab requires you to complete task 1 from the prerequisite instructions. (No cloning needed for this lab, skip Task 2) diff --git a/labs/azuredevops/continuousdeployment/readme.md b/labs/azuredevops/continuousdeployment/readme.md index 63d0bfe3bd..ab4930d1d2 100644 --- a/labs/azuredevops/continuousdeployment/readme.md +++ b/labs/azuredevops/continuousdeployment/readme.md @@ -24,6 +24,8 @@ In this lab, you will learn about the release management features available in A - An Azure account (free from [https://azure.com/free](https://azure.com/free)). +- Clone and build Azure DevOps Demo Generator + - Complete task 1 from the prerequisite instructions. diff --git a/labs/azuredevops/continuousintegration/readme.md b/labs/azuredevops/continuousintegration/readme.md index 04f36360e0..8275940954 100644 --- a/labs/azuredevops/continuousintegration/readme.md +++ b/labs/azuredevops/continuousintegration/readme.md @@ -23,6 +23,8 @@ In this lab, you will learn how to configure continuous integration (CI) and con ### Prerequisites ### +- Clone and build Azure DevOps Demo Generator + - This lab requires you to complete task 1 from the prerequisite instructions. diff --git a/labs/azuredevops/deliveryplans/readme.md b/labs/azuredevops/deliveryplans/readme.md index fd9ddf7a14..9805a7ba9b 100644 --- a/labs/azuredevops/deliveryplans/readme.md +++ b/labs/azuredevops/deliveryplans/readme.md @@ -1,5 +1,5 @@ --- -title: Building a roadmap and tracking dependencies across teams with Delivery Plans +title: Building a roadmap and tracking dependencies across teams with Delivery Plans layout: page sidebar: vsts permalink: /labs/azuredevops/deliveryplans/ @@ -7,10 +7,11 @@ folder: /labs/azuredevops/deliveryplans/ version: Lab version - 1.37.1 updated: Last updated - 12/05/2022 --- +

-## Overview ## +## Overview It takes several teams to develop large software projects. Very large projects require multiple autonomous teams that can manage their own backlog and priority while contributing to a unified direction for that project. Regular reviews of the project schedule with these teams help ensure that the teams are working toward common goals. Delivery Plans provide the needed multi-team view of your project schedule. @@ -20,188 +21,192 @@ It takes several teams to develop large software projects. Very large projects r width: 48px; height: 48px;">Want additional learning? Check out the Manage Agile software delivery plans across teams module on Microsoft Learn. -### Prerequisites ### + +### Prerequisites + +- Clone and build Azure DevOps Demo Generator - This lab requires you to complete task 1 from the prerequisite instructions -## Exercise 1: Managing Delivery Plans with Azure DevOps ## + +## Exercise 1: Managing Delivery Plans with Azure DevOps -### Task 1: Creating a delivery plan ### + +### Task 1: Creating a delivery plan 1. From the **Boards** dropdown, select **Delivery Plans**. - ![](images/007.png) + ![](images/007.png) 1. Click **New plan**. - ![](images/008.png) + ![](images/008.png) 1. Since you may want to have multiple delivery plans for different aspects of your project, provide the specific name **"Web delivery"**. It should default to the **Parts Unlimited Team**, so select **Features** and click **Create**. Note that you could also organize your deliveries by **Stories** if you used that model instead. There is also the option to add additional teams and criteria to filter stories/features by, but we'll revisit those later. - ![](images/009.png) + ![](images/009.png) 1. Due to the iteration reconfiguration performed earlier, the "Today" marker is right at the beginning of **Sprint 2**. We have a number of stories listed for delivery in the previous sprint, and we can also see an empty **Sprint 3**. Note that some of the stories shown are **Done**. Although it's useful to see the progress of work, we'll use that as an example by which to filter items out in a moment. - ![](images/010.png) + ![](images/010.png) 1. Click the **Settings** button. - ![](images/011.png) + ![](images/011.png) 1. Select the **Field criteria** tab and click **Add criteria**. - ![](images/012.png) + ![](images/012.png) 1. Set the new criteria to filter down to items where **State** does not equal (**<>**) **Done**. - ![](images/013.png) + ![](images/013.png) 1. We can also add a custom marker to keep track of significant dates. Select the **Markers** tab and click **Add marker**. - ![](images/014.png) + ![](images/014.png) 1. Select the fourth Friday from today (it will be the Friday in the middle of **Sprint 3**) and set the **Label** to **"Team offsite"**. Select magenta as the **Color** and click **Save**. - ![](images/015.png) + ![](images/015.png) 1. The first thing to notice is that the "Closed" story is no longer visible on the delivery plan due to the criteria set in the configuration. In addition, there is now a magenta marker in the middle of **Iteration 3** that says **"Team offsite"** when clicked. - ![](images/016.png) + ![](images/016.png) 1. Another neat feature of the delivery plan extension is the ability to easily scale the calendar. You can use **Zoom out** to view multiple months at once. And **Zoom in** to a much more precise view. - ![](images/017.png) - - + ![](images/017.png) -### Task 2: Adding an external team to the project ### + +### Task 2: Adding an external team to the project 1. Our delivery plan has been pretty simple so far because we only have the one team. However, the real power of delivery planning comes into play when orchestrating multiple autonomous teams across their efforts. Open the settings page using the **Project Settings** navigation located at the bottom left of the page. - ![](images/019.png) + ![](images/019.png) 1. From the **Teams** tab, click **New team**. - ![](images/020.png) + ![](images/020.png) 1. This new team will be responsible for the efforts that involve integrating with external services, such as 3rd party services for things like weather forecasts and payment processing. Set the **Team name** to **"External integration team"** and click **Create team**. - ![](images/021.png) + ![](images/021.png) 1. Select the **Project configuration** tab under **Boards**. - ![](images/022.png) + ![](images/022.png) 1. Note the dates of **Sprint 2** and **Sprint 3**, which will vary for your account based on when you generated the project data. We're going to add two new iterations for the external services team that do not align exactly with the main team's schedule. - ![](images/023.png) + ![](images/023.png) 1. With the root **PartsUnlimited** node select, click **New child**. - ![](images/024.png) + ![](images/024.png) 1. Set the **Iteration name** to **"Iteration 50"**. Use today as the **Start date** and set the **End date** to three Fridays from today. This will also happen to be the day of the team offsite. Click **Save and close**. - ![](images/025.png) + ![](images/025.png) 1. Use the same process to add an **Iteration 51** that starts the Monday after **Iteration 50** ends and has an end date three Fridays later. - ![](images/026.png) + ![](images/026.png) 1. Now we need to configure the new team to use those new project sprints as its iterations. Select the **Teams** tab and click **External integration team**. - ![](images/027.png) + ![](images/027.png) 1. Click **Iterations and Area Paths**. - ![](images/028.png) + ![](images/028.png) 1. Select the **Iterations** tab. - ![](images/029.png) + ![](images/029.png) 1. Click **Select iterations** and use the **+ Iteration** button to select **Iteration 50** and **Iteration 51**. Click **Save and close**. - ![](images/030.png) + ![](images/030.png) -### Task 3: Making delivery decisions ### + +### Task 3: Making delivery decisions 1. From the **Boards** dropdown, select **Delivery Plans**. - ![](images/007.png) + ![](images/007.png) 1. Select the **Web Delivery** plan. 1. Click the **Settings** button. - ![](images/011.png) - + ![](images/011.png) 1. Select the **Teams** tab and click **Add team**. - ![](images/033.png) + ![](images/033.png) 1. Select the **External integration team** and **Features**. Click **Save**. - ![](images/034.png) + ![](images/034.png) 1. Use the **Zoom out** to fit the width of **Iteration 50** and **Iteration 51**. - ![](images/035.png) + ![](images/035.png) 1. The new team doesn't have any stories added yet. Fortunately, you can add them directly to their team and iteration using the inline functionality. Select the **Iteration 50** iteration. Click the **New item** button that appears. - ![](images/036.png) + ![](images/036.png) 1. Enter **"Integrate with weather service"** and press **Enter**. That item is now in the backlog with its area and iteration configured. - ![](images/037.png) + ![](images/037.png) 1. Follow the same process to add an item for integrating with corporate branding assets to **Iteration 51**. - ![](images/038.png) + ![](images/038.png) 1. Now we can step back to see how these two teams are working toward our common goals. Upon closer examination, it appears that the main team is planning to reuse some corporate branding assets during the current sprint that will not be available until well after it's over. It's a good thing we have this view to catch these sort of potential problems early on. - ![](images/039.png) + ![](images/039.png) 1. The first thing we should do is to move the branding integration work to an earlier iteration. Drag and drop the corporate branding story onto **Iteration 50**. In order to free up the bandwidth, drag the weather service story onto **Iteration 51**. - ![](images/040.png) + ![](images/040.png) 1. Next, drag the branding work item from **Sprint 1** to **Sprint 3** so that there's a chance the dependencies will be available in time for this team to be unblocked. - ![](images/041.png) + ![](images/041.png) 1. Now we can review the delivery plan again. It should be more feasible now. - ![](images/042.png) - + ![](images/042.png) 1. There are a lot of ways to quickly customize the view of the delivery plan. For example, you can collapse all teams (or specific teams) using the toggle buttons next to their names. - ![](images/044.png) + ![](images/044.png) ### Task 4 : Track dependencies by using Delivery Plans -With Delivery Plans, you can track dependencies that have been added to work items. Dependency tracking supports the **Predecessor/Successor** link type between work items. + +With Delivery Plans, you can track dependencies that have been added to work items. Dependency tracking supports the **Predecessor/Successor** link type between work items. 1. Navigate to **Web Delivery** Plan. 1. Move branding feature to **Sprint 1** - ![](images/dependecytracker_01.png) + ![](images/dependecytracker_01.png) 1. And click on **Links** tab and add **Integrate with weather service** and **integrating with corporate branding assets** features as **Successors** and **Save & Close** - ![](images/dependecytracker_02.png) + ![](images/dependecytracker_02.png) 1. Now your delivery plan looks like below. Click on ![](images/dependency-green-icon.png) to view the dependency summary - - ![](images/dependecytracker_03.png) -1. You can see the Dependencies detailed view. This indicates that the work item has two successors and no issues with delivery dates. + ![](images/dependecytracker_03.png) + +1. You can see the Dependencies detailed view. This indicates that the work item has two successors and no issues with delivery dates. ![](images/dependencydetailedview.png) @@ -216,11 +221,11 @@ With Delivery Plans, you can track dependencies that have been added to work ite 1. Click on **Show all dependencies** icon. Dependency lines that have no issues show up as black lines. Dependency lines that have issues, show up with red lines. To view the issue or details you can click on those lines. ![](images/dependencytracker_08.png) - + ## Reference Thanks to **Nagaraj Bhairaji** for making a video on this lab. You can watch the following video that walks you through all the steps explained in this lab
-
\ No newline at end of file + diff --git a/labs/azuredevops/exploratorytesting/readme.md b/labs/azuredevops/exploratorytesting/readme.md index de4c6162bb..b9a5717bad 100644 --- a/labs/azuredevops/exploratorytesting/readme.md +++ b/labs/azuredevops/exploratorytesting/readme.md @@ -8,23 +8,29 @@ version: Lab version - 1.38.0 updated: Last updated - 9/11/2019 redirect_from: "/labs/vsts/exploratorytesting/index.htm" --- +
-## Overview ## +## Overview In this lab, you will learn about the exploratory testing and feedback management capabilities provided in the Test & Feedback extension. You will learn about how exploratory testing (also called XT, or agile testing) has become a first-class experience in the toolset. This allows a tester to more flexibly test the underlying software without relying solely on formal test cases. You'll also learn about how you can manage the process of eliciting and managing the customer feedback lifecycle. -### Prerequisites ### + +### Prerequisites + +- Clone and build Azure DevOps Demo Generator - This lab requires you to complete tasks 1 and 2 from the prerequisite instructions. -## Exercise 1: Exploratory Testing ## + +## Exercise 1: Exploratory Testing -### Task 1: Installing the Chrome Extension ### + +### Task 1: Installing the Chrome Extension 1. Install **Google Chrome** from [http://google.com/chrome](http://google.com/chrome). The rest of this exercise will use Chrome as its browser. If you're already using Chrome, just open a new instance for the next set of steps. @@ -32,133 +38,134 @@ In this lab, you will learn about the exploratory testing and feedback managemen 1. Select the **Azure DevOps** tab. Search for "**feedback**" and click the **Test & Feedback** extension. - ![](images/000.png) + ![](images/000.png) 1. Click on **Install** button on the details page. - ![](images/001.png) + ![](images/001.png) 1. Click **Install** for the Chrome extension. - ![](images/002.png) + ![](images/002.png) 1. In the **Chrome Web Store**, click **Add to Chrome**. - ![](images/003.png) + ![](images/003.png) 1. Confirm the installation when asked. - ![](images/004.png) + ![](images/004.png) 1. To open the extension, click the extension icon that will appear on the right of the address bar. Select the **Connection Settings** tab. Enter the URL of your Azure DevOps instance, such as "**https://dev.azure.com/MYTEAM**", as the **Server URL** and click **Next**. - ![](images/005.png) + ![](images/005.png) 1. The extension can be used in two modes: **Connected** and **Standalone** mode. If you have Azure DevOps or Azure DevOps Server, select Connected mode. Standalone mode is for users who don't have either and want to use the extension to file bugs and share the report with their team. 1. After connecting to Azure DevOps, you will need to select the team you want these efforts associated with. Select the **Parts Unlimited Team** under the **Parts Unlimited** project and click **Save** to continue. - ![](images/006.png) + ![](images/006.png) -### Task 2: Exploratory Testing with the Chrome Extension ### + +### Task 2: Exploratory Testing with the Chrome Extension 1. In **Visual Studio**, press **F5** to build and run the **Parts Unlimited** project locally. 1. To start an exploratory testing session, click the **Start session** button from the extension toolbar. - ![](images/007.png) + ![](images/007.png) 1. Navigate to [http://localhost:5001](http://localhost:5001/). 1. In search box enter **"jumper lead"** and press **Enter**. - ![](images/008.png) + ![](images/008.png) 1. You will see the search results as shown below. - ![](images/009.png) + ![](images/009.png) 1. Now in the search box enter **"jumper leads"** and press **Enter**. - ![](images/010.png) + ![](images/010.png) 1. You can see there are no search results. When you search for **jumper lead** it showed the results. But when you search for **jumper leads** it showed no results. This seems to be a bug. - ![](images/011.png) + ![](images/011.png) 1. Click the **Exploratory Testing** icon button and select **Capture screenshot | Browser**. - ![](images/012.png) + ![](images/012.png) 1. Select a section of the screen and change the name of the screenshot to something more descriptive. Note that there are a variety of drawing tools available to really help you get your point across. Click the **Blur area** button. - ![](images/013.png) + ![](images/013.png) 1. Highlight a section of the screenshot, which will be blurred out to become illegible. This makes it easy to report bugs and create other work items without risking sensitive information. Click the **Save screenshot** button to add it to the current session's timeline. - ![](images/014.png) + ![](images/014.png) 1. Click the **Add note** button to start a note. Type in something insightful and click **Save** to save the note to the session's timeline. - ![](images/015.png) + ![](images/015.png) 1. You can also record screen video to capture flaky issues like flickering, abnormal behavior of the web application etc. that are difficult to capture using screenshots alone. To record your screen click the **Record screen** button and click **Start recording**. - ![](images/016.png) + ![](images/016.png) 1. Select the appropriate screen you want to record from the **Application Window** tab. In this case, select the 404 page and click **Share**. The recording for the screen selected has started. - ![](images/017.png) + ![](images/017.png) 1. Search for **"jumper lead"** and show the results. Then search for **"jumper leads"** and show the lack of results. - ![](images/018.png) + ![](images/018.png) 1. Click the **Stop recording** button on the extension to stop recording the screen. The screen recording gets saved. - ![](images/019.png) + ![](images/019.png) 1. Click on the **View session timeline** button. You can see that all the content - screenshots, notes and videos you've captured are available in the current session's timeline. You can open the screenshots, read your notes or play the video from here. - ![](images/020.png) + ![](images/020.png) -### Task 3: Creating Bugs with the Chrome Extension ### + +### Task 3: Creating Bugs with the Chrome Extension 1. Click the **Create bug** icon button followed by the expanded **Create bug** text button. - ![](images/021.png) + ![](images/021.png) 1. Enter **"Search for jumper leads fails"** as the name of the bug. All the screenshots and videos captured earlier are already a part of the bug. In addition to this the image action log (user actions) has also been inserted for you so that it's easy for others to easily reproduce the issue. Click **Save** to save the bug to Azure DevOps. - ![](images/022.png) + ![](images/022.png) 1. Another great feature of this extension is its ability to view similar bugs and thus reduce redundant issues. Let's say you were another tester who happened to find this same bug and weren't aware that it was already logged. Click the **Create bug** icon button followed by the expended **Create bug** text button again to start a new bug form. - ![](images/023.png) + ![](images/023.png) 1. As you type the title **"jumper leads**" for the bug you will notice that the extension has detected that there is already another bug in the backlog with a similar title. Click **1 similar** to view the similar bug. - ![](images/024.png) + ![](images/024.png) 1. This bug appears to be the same as the one we were about to file, so select it and click **Edit** to edit the existing bug rather than to file a new bug. - ![](images/025.png) + ![](images/025.png) 1. At this time the current repro steps are added to the image action log. In practice, you would now review the existing repro steps to determine if you located this bug using a different method, in which case you would update the contents to indicate that your method is an alternative repro. Click **Save** to save the bug. - ![](images/026.png) + ![](images/026.png) 1. Click the **View session timeline** icon button and click the last created **Bug** link to open it. - ![](images/027.png) + ![](images/027.png) 1. Now back on the Azure DevOps site, you can update the bug as needed, such as by assigning it to someone or adjusting the severity. - ![](images/028.png) + ![](images/028.png) 1. In Chrome, end the testing session by clicking the **Stop Session** button. - ![](images/029.png) - + ![](images/029.png) diff --git a/labs/azuredevops/load/readme.md b/labs/azuredevops/load/readme.md index 50bfb518c4..499a701f1b 100644 --- a/labs/azuredevops/load/readme.md +++ b/labs/azuredevops/load/readme.md @@ -8,36 +8,42 @@ version: Lab version - 1.38.0 updated: Last updated - 03/26/2021 redirect_from: "/labs/vsts/load/index.htm" --- +
-## Overview ## +## Overview In this lab, you will be introduced to the [Web performance and Load testing capabilities](https://www.visualstudio.com/en-us/docs/test/performance-testing/getting-started/getting-started-with-performance-testing) provided in Visual Studio Enterprise 2017. You will walk through a scenario using a fictional online storefront where your goal is to model and analyze its performance with a number of simultaneous users. This will involve the definition of web performance tests that represent users browsing and ordering products, the definition of a load test based on the web performance tests, and finally the analysis of the load test results. -### Prerequisites ### + +### Prerequisites - This lab requires that your **Visual Studio 2017** instance have the **Web performance and load testing tools** installed from the **Individual components** tab of the **Visual Studio Installer**. +- Clone and build Azure DevOps Demo Generator + - This lab requires you to complete tasks 1 and 2 from the prerequisite instructions. - This lab requires Microsoft Excel. {% include note.html content= "Azure DevOps cloud-based load testing service feature is deprecated. And Visual Studio 2019 will be the last version of Visual Studio with the web performance and load test capability. For more information click [here](https://devblogs.microsoft.com/devops/cloud-based-load-testing-service-eol/) " %} -## Exercise 1: Web Application Load and Performance Testing with Visual Studio 2017 ## + +## Exercise 1: Web Application Load and Performance Testing with Visual Studio 2017 -### Task 1: Recording web tests ### + +### Task 1: Recording web tests 1. In **Solution Explorer**, right-click the solution node and select **Add \| New Project**. - ![](images/000.png) + ![](images/000.png) 1. Select the **Visual C# \| Test** category and the **Web Performance and Load Test Project** template. Enter a **Name** of **"PULWebTest"** and click **OK**. - ![](images/001.png) + ![](images/001.png) 1. Once the project has been created, select **Debug \| Start Without Debugging** to build and launch the site locally. @@ -45,339 +51,344 @@ In this lab, you will be introduced to the [Web performance and Load testing cap 1. The default (and empty) **WebTest1.webtest** file will be open as a result of the earlier project creation. Click the **Add Recording** button to begin a recording session. - ![](images/002.png) + ![](images/002.png) 1. If asked to enable the extension in your browser, click to allow it. Then close the window and restart the recording session from Visual Studio using the previous step. 1. In the newly opened browser window, navigate to [http://localhost:5001/](http://localhost:5001/). This is the URL of the project site. - ![](images/003.png) + ![](images/003.png) 1. Click the **Lighting** tab. - ![](images/004.png) + ![](images/004.png) 1. Click the **Bugeye Headlights** product. - ![](images/005.png) + ![](images/005.png) 1. Continue browsing the site to generate more traffic, if desired. However, do not log in or add anything to your cart. When ready to move on, click **Stop** in the **Web Test Recorder**. - ![](images/006.png) + ![](images/006.png) 1. After stopping the recording session, Visual Studio will analyze the recorded traffic to attempt to identify dynamic parameters that can be abstracted for dynamic configuration later on. - ![](images/007.png) + ![](images/007.png) 1. An initial test will also be run. However, it will likely fail based on some requests for Application Insights resources that were not configured in this starter project. - ![](images/008.png) + ![](images/008.png) 1. In the web test, select each step for the placeholder URL (if there) and any tracking requests and press the **Delete** key to remove them one by one. You can also delete steps to download resources, such as fonts. When you're done, you should only have three requests: the **site root**, **/Store/Browse**, and **/Store/Details/2**. - ![](images/009.png) + ![](images/009.png) 1. In the **Test Results** window, select the failed test and click **Run**. - ![](images/010.png) + ![](images/010.png) 1. Since the browsing was basic, it should easily pass. Double-click the successful run to load its details. - ![](images/011.png) + ![](images/011.png) 1. Select different requests throughout the test run to see details on how it performed, how large the payloads were, and so on. You can also dig into the specific HTTP requests and responses. - ![](images/012.png) + ![](images/012.png) 1. Close the test results. -### Task 2: Working with web tests ### + +### Task 2: Working with web tests 1. From **Solution Explorer**, open **WebTest1.webtest** if it's not already open. - ![](images/013.png) + ![](images/013.png) 1. Locate the step that navigates to **/Store/Browse** and expand **QueryString Parameters**. Note that the parameters have been extracted so that you can easily swap in different values to test with other values. - ![](images/014.png) + ![](images/014.png) 1. In **Solution Explorer**, rename **WebTest1.webtest** to **Browsing.webtest**. - ![](images/015.png) + ![](images/015.png) 1. In **Browsing.webtest**, click the **Set Request Details** button. - ![](images/016.png) + ![](images/016.png) 1. This dialog enables you to configure the **Think Time** to use for each step. **Think Time** simulates the time an end user would stop to read the current page, think about their next action, etc. Here you can manually set how much time to use for each step, as well as to set goals for response time on each navigation. Click **Cancel**. - ![](images/017.png) + ![](images/017.png) -### Task 3: Recording sophisticated tests ### + +### Task 3: Recording sophisticated tests 1. For the rest of this exercise we will need a registered site user. Return to the original browser window opened when running the project. - ![](images/018.png) + ![](images/018.png) 1. Click **Register as a new user**. - ![](images/019.png) + ![](images/019.png) 1. Register with the email **[admin@test.com](mailto:admin@test.com)** and password **P@ssw0rd**. - ![](images/020.png) + ![](images/020.png) 1. Now we can add a more sophisticated test that involves completing a purchase. Return to **Visual Studio**. 1. In **Solution Explorer**, right-click the **PULWebTest** project and select **Add \| Web Performance Test**. - ![](images/021.png) + ![](images/021.png) 1. Navigate to [http://localhost:5001/](http://localhost:5001/) like before. - ![](images/022.png) + ![](images/022.png) 1. Click **Log in**. - ![](images/023.png) + ![](images/023.png) 1. Enter the email **admin@test.com** and password **P@ssw0rd**. Click **Login**. - ![](images/024.png) + ![](images/024.png) 1. Click the **Batteries** tab. - ![](images/025.png) + ![](images/025.png) 1. Click the **12-Volt Calcium Battery**. - ![](images/026.png) + ![](images/026.png) 1. Click **Add to Cart**. - ![](images/027.png) + ![](images/027.png) 1. Click **Checkout**. - ![](images/028.png) + ![](images/028.png) 1. Enter shipping information (details are not important) and be sure to use the Promo Code **FREE**. Click **Submit Order**. - ![](images/029.png) + ![](images/029.png) 1. On the checkout page, click **view your order** to review the order details. - ![](images/030.png) + ![](images/030.png) 1. The details should all match what you entered earlier. - ![](images/031.png) + ![](images/031.png) 1. Click **Stop** in the **Web Test Recorder** to continue. - ![](images/032.png) + ![](images/032.png) 1. In **Solution Explorer**, rename **WebTest1.webtest** to **Buying.webtest**. - ![](images/033.png) + ![](images/033.png) 1. Like earlier, delete any steps that aren't made to the [http://localhost:5001/](http://localhost:5001/) site or are to resource files, like .EOTs. -### Task 4: Viewing web test result details ### + +### Task 4: Viewing web test result details 1. As before, Visual Studio will process the recorded steps and then attempt to execute the test. Double-click the failed test run to view it. - ![](images/034.png) + ![](images/034.png) 1. Locate the failed step after the checkout completes and click it. It should be the redirect that occurs immediately after the order is submitted. Click the **Details** tab to confirm. - ![](images/035.png) + ![](images/035.png) 1. This failure makes sense. In our original test, we checked out and received an order number embedded in the redirect URL. However, since the next test run would presumably result in a different order number, the redirect received would have a different URL from the one expected. Right-click the failed step and select **Go to Web Test** to review that step in the process. - ![](images/036.png) + ![](images/036.png) 1. Depending on your test goals, you might want to have the test to dynamically accept the order number returned and track it throughout the remainder of the test. However, for the purposes of this lab we will simply delete that step to avoid the failure. Right-click the step and select **Delete**. - ![](images/037.png) + ![](images/037.png) 1. Click the **Run Test** button again to confirm the test passes now. - ![](images/038.png) + ![](images/038.png) 1. The test should pass as expected. - ![](images/039.png) + ![](images/039.png) 1. Return to **Buying.webtest** and click the **Set Request Details** button. - ![](images/040.png) + ![](images/040.png) 1. Since we're going to use this test as part of a load testing run, let's update the **Think Time** columns with some realistic numbers. Try to have the whole run use around 30 seconds of total think time. For example, you may want the obvious navigations to each have 5 seconds of think time while all the other requests have 0. Click **OK** when done. - ![](images/041.png) + ![](images/041.png) -### Task 5: Adding a load test ### + +### Task 5: Adding a load test 1. Now that we have two tests that cover common scenarios, let's use them as part of a load test to see how the system might perform with a variety of simultaneous users. In **Solution Explorer**, right-click the **PULWebTest** project and select **Add \| Load Test**. - ![](images/042.png) + ![](images/042.png) 1. There are two options for load testing: **cloud-based** and **on-premises**. The cloud-based load testing hosted by **Azure DevOps** offers a massively scalable environment to truly stress test your system. However, in this scenario we're going to select **On-premise Load Test** to contain testing entirely within the VM. Click **Next**. - ![](images/043.png) + ![](images/043.png) - 1. The **Run Settings** enable you to indicate whether you'd like to run the test for a specified duration or if you'd like to run for a certain number of iterations. In this scenario, select **Load test duration** and set the **Run duration** to **1** minute. You can also configure a variety of details for testing, such as the **Sampling rate** for collecting data. Keep this at **15** seconds. Click **Next**. - ![](images/044.png) + ![](images/044.png) 1. Enter the name **"BrowseAndOrderProduct"** and click **Next**. Note that you could optionally configure how think times are applied. Although we entered explicit think times earlier, we can use the default option to add a degree of randomness (normally distributed based on the recorded times) so that each set of requests isn't exactly the same. Click **Next**. - ![](images/045.png) + ![](images/045.png) 1. We'll keep things simple by have a **Constant Load** of **5** users. However, there are scenarios where you might prefer to have the users scale up over the course of the test to simulate growing traffic. Click **Next**. - ![](images/046.png) + ![](images/046.png) 1. Since the users will vary across tests, you can select an algorithm for modeling how they vary. For example, if they are **Based on the total number of tests**, this allows you to specify the percentages that each test will be run. This is particularly useful when dealing with a scenario where you find that 1 out of every 4 users who browse the site end up buying something. In that case, you would want a mix of 75% "browsers" and 25% "browse & buyers". Click **Next**. - ![](images/047.png) + ![](images/047.png) 1. Click **Add** to select tests to add to the mix. - ![](images/048.png) + ![](images/048.png) 1. Select the **Browsing** and **Buying** tests and add them to the mix. Click **OK**. - ![](images/049.png) + ![](images/049.png) 1. Set the relative percentages to **75** and **25**. Click **Next**. - ![](images/050.png) + ![](images/050.png) 1. As with the tests, you can configure the network type mix to use when testing. Select **LAN** for all and click **Next**. - ![](images/051.png) + ![](images/051.png) 1. As with network types, you can also specify the mix of browsers. Select **Internet Explorer 9.0** for all and click **Next**. - ![](images/052.png) + ![](images/052.png) 1. As part of the load testing you can collect performance counters. Click **Add Computer** to add a computer to the test. - ![](images/053.png) + ![](images/053.png) 1. Set the name of the computer to **localhost** and check **ASP.NET** and **SQL**. Click **Finish**. - ![](images/054.png) + ![](images/054.png) 1. In **Solution Explorer**, double-click **Local.testsettings** under **Solution Items** to open it. - ![](images/055.png) + ![](images/055.png) 1. The **General** tab provides a place for you to update basic info about the test, such as whether it should be run locally or in Azure DevOps. - ![](images/056.png) + ![](images/056.png) 1. Select the **Data and Diagnostics** tab to view the available adapters. Options include those for **ASP.NET**, **Event Log**, **IntelliTrace**, **Network Emulation**, and more. No adapters are selected by default because many of them have a significant impact on the machines under test and can generate a large amount of data to be stored over the course of long load tests. - ![](images/057.png) + ![](images/057.png) -### Task 6: Configuring the test controller ### + +### Task 6: Configuring the test controller 1. **LoadTest1.loadtest** should already be open. Click the **Manage Test Controllers** button. - ![](images/058.png) + ![](images/058.png) 1. No connection string will be set yet, so click the **Browse** button to specify one. - ![](images/059.png) + ![](images/059.png) 1. Select a local database to use and click **OK** to save. - ![](images/060.png) + ![](images/060.png) 1. Press **Esc** to close the **Manage Test Controller** dialog. -### Task 7: Executing, monitoring, and reviewing load tests ### + +### Task 7: Executing, monitoring, and reviewing load tests 1. Click the **Run Load Test** button to begin a load test. - ![](images/061.png) + ![](images/061.png) 1. The test will run for one minute, as configured. By default, you should see four panels showing some key statistics, with some key performance counters listed below that. Data is sampled every 15 seconds based on our configuration from earlier. - ![](images/062.png) + ![](images/062.png) 1. After the load test run finishes, it will automatically switch to the **Summary** view. The **Summary** view shows overall aggregate values and other key information about the test. Note that the hyperlinks to specific pages open up even more details in the **Tables** view. - ![](images/063.png) + ![](images/063.png) 1. Select the **Graphs** view and change the layout to use **Two Horizontal Panels**. The views are very flexible. - ![](images/064.png) + ![](images/064.png) 1. By default, the top graph will show **Key Indicators** and the bottom graph will show **Page Response Time**. These are two very important sets of data for any web application. - ![](images/065.png) + ![](images/065.png) 1. Click one of the **Key Indicator** graph lines or data points and select it. This will also highlight the counter that it is associated with the below graphs. The red line from the screenshot below represents the **User Load** at different points during the load test. - ![](images/066.png) + ![](images/066.png) 1. Click the **Pages/Sec** row from the **Key Indicators** section of the counter grid to highlight it in the graph. In the screenshot shown below we can see that the average number of pages per second over the duration of the test was **1.18** (this may vary for you). - ![](images/067.png) + ![](images/067.png) -### Task 8: Generating and viewing load test trend reports ### + +### Task 8: Generating and viewing load test trend reports 1. Even though the initial load test may result in some numbers that don't seem to provide a wealth of information it does provide a good baseline and allow us to make relative measures between test runs to help measure performance impacts of code changes. For example, if we had seen a relatively high level of batch requests per second during our initial load tests, perhaps that could be addressed by adding in some additional caching, and then re-testing to make sure that the request per second goes down. 1. Return to **LoadTest1.loadtest** and click the **Run Load Test** button to run the load test again. Now there will be at least two test results to work with so that we can see how to perform some trend analysis. Feel free to run it a few times if you'd like lots of trend data. - ![](images/068.png) + ![](images/068.png) 1. When the final load test is complete, click the **Create Excel Report** button from the toolbar to load **Excel**. - ![](images/069.png) + ![](images/069.png) 1. Click **Next**. - ![](images/070.png) + ![](images/070.png) 1. Select **Trend** and click **Next**. - ![](images/071.png) + ![](images/071.png) 1. Set the **Report Name** to **"LoadTestTrend"** and click **Next**. - ![](images/072.png) + ![](images/072.png) 1. Select all available runs. - ![](images/073.png) + ![](images/073.png) 1. Keep the default performance counters selected and click **Finish**. - ![](images/074.png) + ![](images/074.png) 1. Excel will now generate a thorough report based on the results from the various test runs. - ![](images/075.png) + ![](images/075.png) 1. Click **Avg. Page Time** to view those results. - ![](images/076.png) + ![](images/076.png) 1. Your report will vary based on the test results and number of tests. However, you can easily see how this would be very useful when analyzing how changes in the solution impacted performance. You would very easily be able to track a performance regression to a time (and build). - ![](images/077.png) - + ![](images/077.png) diff --git a/labs/azuredevops/packagemanagement/readme.md b/labs/azuredevops/packagemanagement/readme.md index a31c6f7a11..14944c2945 100644 --- a/labs/azuredevops/packagemanagement/readme.md +++ b/labs/azuredevops/packagemanagement/readme.md @@ -8,10 +8,11 @@ version: Lab version - 1.38.0 updated: Last updated - 05/11/2020 redirect_from: "/labs/vsts/packagemanagement/index.htm" --- +
-## Overview ## +## Overview **Azure Artifacts** is an extension that makes it easy to discover, install, and publish NuGet, npm, and Maven packages in Azure DevOps. It's deeply integrated with other hubs like Build so that package management can become a seamless part of your existing workflows. @@ -19,37 +20,40 @@ redirect_from: "/labs/vsts/packagemanagement/index.htm" width: 48px; height: 48px;">Want additional learning? Check out the Manage build dependencies with Azure Artifacts module on Microsoft Learn. -### Prerequisites ### + +### Prerequisites - Visual Studio 2017 or later -- This lab requires you to complete tasks 1 and 2 from the prerequisite instructions +- Clone and build Azure DevOps Demo Generator + +- This lab requires you to complete tasks 1 and 2 from the prerequisite instructions -## Exercise 1: Working with Azure Artifacts ## -**Azure Artifacts** is an extension to Azure DevOps Services and Azure DevOps Server. It comes pre-installed in Azure DevOps Services, Azure DevOps Server 2019, Team Foundation Server (TFS) 2017 and 2018. +## Exercise 1: Working with Azure Artifacts + +**Azure Artifacts** is an extension to Azure DevOps Services and Azure DevOps Server. It comes pre-installed in Azure DevOps Services, Azure DevOps Server 2019, Team Foundation Server (TFS) 2017 and 2018. -### Task 1: Creating and connecting to a feed ### + +### Task 1: Creating and connecting to a feed 1. Navigate to the **Artifacts** hub. - ![](images/000.png) + ![](images/000.png) 1. Click **Create feed**. This feed will be a collection of NuGet packages available to users within the organization and will sit alongside the public NuGet feed as a peer. The scenario in this lab will focus on the workflow for using Azure Artifacts, so the actual architectural and development decisions are purely illustrative. - ![](images/createfeed.png) + ![](images/createfeed.png) 1. This feed will include common functionality that can be shared across projects in this organization. Select the scope as **Organization** for this lab. Set the name to **"PartsUnlimitedShared"** and click **Create**. Leave the default options. - ![](images/create-feed-window2.png) + ![](images/create-feed-window2.png) 1. Any user who wants to connect to this NuGet feed must configure their environment. Click **Connect to feed**. - ![](images/003.png) - - + ![](images/003.png) 1. In the **Connect to feed** window, select **Visual Studio** and copy the **Source** url . This is the only thing Visual Studio and NuGet need to start taking advantage of the new feed. Leave the dialog open in the browser. @@ -58,191 +62,196 @@ redirect_from: "/labs/vsts/packagemanagement/index.htm" 1. Launch a **new** instance of **Visual Studio**. Do not use the instance open from cloning the primary **Parts Unlimited** solution. 1. Select **Tools \| NuGet Package Manager \| Package Manager Settings**. - - ![](images/packagemanagersettings.png) + ![](images/packagemanagersettings.png) 1. Locate the **Package Sources** section and click the **Add** button to add a new package source. - ![](images/005.png) + ![](images/005.png) 1. Set the **Name** to **"PartsUnlimitedShared"** and paste the **Source** URL copied earlier. Click **Update** followed by **OK**. Visual Studio is now connected to the new feed. - ![](images/006.png) + ![](images/006.png) 1. Close and Reopen the other Visual Studio instance used for cloning the PartsUnlimited repository ( prerequisites Task 2), so that it shows this new source. -### Task 2: Creating and publishing a NuGet package ### -1. From the main menu of **Visual Studio**, select **File \| New \| Project** ("Create a new project" in VS2019). We will now create a shared assembly that will be published as a NuGet package so that other teams can integrate it and stay up to date without having to work directly with the project source. +### Task 2: Creating and publishing a NuGet package -1. From the **Visual C#** section, select the **Class Library (.NET Framework)** template and set the **Name** to **"PartsUnlimited.Shared"**. Click **OK** to create the project. -(If VS2019 used, look for "class" in the finder and select **Class Library (.NET Framework)** and choose version 4.5.1) +1. From the main menu of **Visual Studio**, select **File \| New \| Project** ("Create a new project" in VS2019). We will now create a shared assembly that will be published as a NuGet package so that other teams can integrate it and stay up to date without having to work directly with the project source. - **VS2017** +1. From the **Visual C#** section, select the **Class Library (.NET Framework)** template and set the **Name** to **"PartsUnlimited.Shared"**. Click **OK** to create the project. + (If VS2019 used, look for "class" in the finder and select **Class Library (.NET Framework)** and choose version 4.5.1) - ![](images/007.png) + **VS2017** - **VS2019** + ![](images/007.png) - ![](images/create-project-vs2019.png) - ![](images/conf-project-vs2019.png) + **VS2019** -1. In **Solution Explorer**, delete **Class1.cs**. + ![](images/create-project-vs2019.png) + ![](images/conf-project-vs2019.png) + +1. In **Solution Explorer**, delete **Class1.cs**. ![](images/008.png) -1. Right-click the project node and select **Properties**. +1. Right-click the project node and select **Properties**. ![](images/009.png) -1. Set the **Target framework** to **.NET Framework 4.5.1** and click **Yes** to confirm the change. (Confirm the same if you are using VS2019) +1. Set the **Target framework** to **.NET Framework 4.5.1** and click **Yes** to confirm the change. (Confirm the same if you are using VS2019) ![](images/010.png) -1. Press **Ctrl+Shift+B** to build the project. In the next task we'll use **NuGet.exe** to generate a NuGet package directly from the built project, but it requires the project to be built first. +1. Press **Ctrl+Shift+B** to build the project. In the next task we'll use **NuGet.exe** to generate a NuGet package directly from the built project, but it requires the project to be built first. -1. Return to the Azure DevOps browser tab. On the feed created before click **Connect to Feed** \| **NuGet.exe** \| **Get the tools**. +1. Return to the Azure DevOps browser tab. On the feed created before click **Connect to Feed** \| **NuGet.exe** \| **Get the tools**. ![](images/getthetools.png) -1. Click on **Download the latest Nuget** +1. Click on **Download the latest Nuget** ![](images/downloadthenuget.png) -1. On the opened window, select nuget.exe version **v5.5.1** - +1. On the opened window, select nuget.exe version **v5.5.1** -1. Return to **Visual Studio**. From **Solution Explorer**, right-click the **PartsUnlimited.Shared** project node and select **Open Folder in File Explorer**. +1. Return to **Visual Studio**. From **Solution Explorer**, right-click the **PartsUnlimited.Shared** project node and select **Open Folder in File Explorer**. ![](images/013.png) -1. Move the downloaded **nuget.exe** file into the folder containing the **.csproj** file. +1. Move the downloaded **nuget.exe** file into the folder containing the **.csproj** file. ![](images/014.png) -1. In the same **Windows Explorer** window, select **File \| Open Windows PowerShell \| Open Windows PowerShell as administrator**. +1. In the same **Windows Explorer** window, select **File \| Open Windows PowerShell \| Open Windows PowerShell as administrator**. ![](images/015.png) -1. Execute the line below to create a **.nupkg** file from the project. Note that this is a quick shortcut to package the NuGet bits together for deployment. NuGet is very customizable and offers a lot of great flexibility for providing detailed information for consumers. You can learn more over on the [NuGet package creation page](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflowhttps:/docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow). +1. Execute the line below to create a **.nupkg** file from the project. Note that this is a quick shortcut to package the NuGet bits together for deployment. NuGet is very customizable and offers a lot of great flexibility for providing detailed information for consumers. You can learn more over on the [NuGet package creation page](https://docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflowhttps:/docs.microsoft.com/en-us/nuget/create-packages/overview-and-workflow). ``` ./nuget.exe pack ./PartsUnlimited.Shared.csproj ``` -1. NuGet builds a minimal package based on the information it is able to pull from the project. For example, note that the name is **PartsUnlimited.Shared.1.0.0.nupkg**. That version number was pulled from the assembly. + +1. NuGet builds a minimal package based on the information it is able to pull from the project. For example, note that the name is **PartsUnlimited.Shared.1.0.0.nupkg**. That version number was pulled from the assembly. ![](images/016.png) -1. Return to **Visual Studio**. From **Solution Explorer**, open **Properties\AssemblyInfo.cs**. +1. Return to **Visual Studio**. From **Solution Explorer**, open **Properties\AssemblyInfo.cs**. ![](images/017.png) -1. The **AssemblyVersion** attribute specifies the version number to build into the assembly. Each NuGet release requires a unique version number, so if we continue to use this method for creating packages, we will need to remember to increment this before building. +1. The **AssemblyVersion** attribute specifies the version number to build into the assembly. Each NuGet release requires a unique version number, so if we continue to use this method for creating packages, we will need to remember to increment this before building. ![](images/018.png) -1. Return to the **PowerShell** window and execute the following command (it should be on one line). Note that you need to provide an "API Key", which can be any non-empty string. We're using **"VSTS"** here. Log in using your Azure DevOps credentials when asked. +1. Return to the **PowerShell** window and execute the following command (it should be on one line). Note that you need to provide an "API Key", which can be any non-empty string. We're using **"VSTS"** here. Log in using your Azure DevOps credentials when asked. ``` ./nuget.exe push -source "PartsUnlimitedShared" -ApiKey VSTS PartsUnlimited.Shared.1.0.0.nupkg ``` -1. The command should succeed after a few seconds. + +1. The command should succeed after a few seconds. ![](images/019.png) -1. Return to the browser window open to Azure DevOps and **refresh** the window. You should now see the organization's NuGet package is published in the feed. Click it to view the details. +1. Return to the browser window open to Azure DevOps and **refresh** the window. You should now see the organization's NuGet package is published in the feed. Click it to view the details. ![](images/020.png) -1. The details have been imported and are now ready for others to consume. +1. The details have been imported and are now ready for others to consume. ![](images/021.png) -### Task 3: Importing a NuGet package ### + +### Task 3: Importing a NuGet package 1. Switch to the instance of **Visual Studio** that has the full **Parts Unlimited** solution open. 1. In **Solution Explorer**, right-click the **References** node under the **PartsUnlimitedWebsite** project and select **Manage NuGet Packages**. - ![](images/022.png) + ![](images/022.png) 1. Click the **Browse** tab and change the **Package source** to **PartsUnlimitedShared**. The only package will be the one we just added, so click **Install** to add it to the project. - ![](images/023.png) + ![](images/023.png) 1. If asked, confirm the addition by clicking **OK**. - ![](images/024.png) + ![](images/024.png) 1. Press **Ctrl+Shift+B** to build the project. It should succeed. The NuGet package doesn't add any value yet, but at least we know it's there. -### Task 4: Updating a NuGet package ### + +### Task 4: Updating a NuGet package 1. Switch to the instance of **Visual Studio** that has the **PartsUnlimited.Shared** project open (the NuGet source project). 1. In **Solution Explorer**, right-click the **PartsUnlimited.Shared** project node and select **Add \| New Item**. - ![](images/025.png) + ![](images/025.png) 1. Select the **Class** template and enter the **Name "TaxService.cs"**. Click **Add** to add the class. We can pretend that tax calculation will be consolidated into this shared class and managed centrally so that other teams can simply work with the NuGet package. - ![](images/026.png) + ![](images/026.png) 1. Replace the code in the new file with the code below. For now it will just hardcode a 10% rate. - ```c# - namespace PartsUnlimited.Shared - { - public class TaxService - { - static public decimal CalculateTax(decimal taxable, string postalCode) - { - return taxable * (decimal).1; - } - } - } - ``` + ```c# + namespace PartsUnlimited.Shared + { + public class TaxService + { + static public decimal CalculateTax(decimal taxable, string postalCode) + { + return taxable * (decimal).1; + } + } + } + ``` + 1. Since we're updating the assembly (and package), return to **AssemblyInfo.cs** and update the **AssemblyVersion** to **1.1.0.0**. - ![](images/027.png) + ![](images/027.png) 1. Press **Ctrl+Shift+B** to build the project. 1. Return to the **PowerShell** window and execute the following line to repackage the NuGet package. Note that the new package will have the updated version number. - ``` - ./nuget.exe pack PartsUnlimited.Shared.csproj - ``` + ``` + ./nuget.exe pack PartsUnlimited.Shared.csproj + ``` + 1. Execute the following line to publish the updated package. Note that the version number has changed to reflect the new package. - ``` - ./nuget.exe push -source "PartsUnlimitedShared" -ApiKey VSTS PartsUnlimited.Shared.1.1.0.nupkg - ``` + ``` + ./nuget.exe push -source "PartsUnlimitedShared" -ApiKey VSTS PartsUnlimited.Shared.1.1.0.nupkg + ``` + 1. Return to the browser window open to Azure DevOps and refresh the page. You will still be looking at the 1.0.0 version of the package, but you can change that by selecting the **Versions** tab and selecting **1.1.0**. - ![](images/028.png) + ![](images/028.png) 1. Switch back to the instance of **Visual Studio** open to the main **PartsUnlimited** project (with **PartsUnlimitedWebsite**). 1. From **Solution Explorer**, open **PartsUnlimitedWebsite\Utils\DefaultShippingTaxCalculator.cs**. - ![](images/029.png) + ![](images/029.png) 1. Locate the call to **CalculateTax** around line **20** and add the qualifier **"PartsUnlimited.Shared.TaxService."** to the beginning. The original code called a method internal to this class, so the code we're adding to the beginning of the line is redirecting it to code from our NuGet assembly. However, since this project hasn't updated the NuGet package yet, it's still referencing 1.0.0.0 and doesn't have these new changes available, so the code will not build. - ![](images/030.png) + ![](images/030.png) 1. In **Solution Explorer**, right-click the **References** node and select **Manage NuGet Packages**. - ![](images/031.png) + ![](images/031.png) 1. NuGet is aware of our update, so click the **Updates** tab to view the details. Click **Update** to bring down the new version. If the **Updates** tab hasn't yet updated, you can still update the package from the **Browse** tab. Note that there may be many NuGet updates available, but you should only need to update **PartsUnlimited.Shared**. Note that it may take a little while for the package to become completely available for updating. If you get an error, wait a moment and try again. - ![](images/032.png) + ![](images/032.png) 1. If asked, click **OK** to approve the update. 1. Press **F5** to build and run the site. It should work as expected. - diff --git a/labs/azuredevops/prereq/readme.md b/labs/azuredevops/prereq/readme.md index 5e256467dd..26829463db 100644 --- a/labs/azuredevops/prereq/readme.md +++ b/labs/azuredevops/prereq/readme.md @@ -5,7 +5,7 @@ sidebar: vsts permalink: /labs/azuredevops/prereq/ folder: /labs/azuredevops/prereq/ version: Lab version - 1.39.0 -updated: Last updated - 13/01/2025 +updated: Last updated - 16/01/2025 --- @@ -14,15 +14,17 @@ updated: Last updated - 13/01/2025 Certain Azure DevOps labs require a preconfigured **Parts Unlimited** team project. This document outlines the required steps to set up the required data. - + -## Steps +### Task 1: Configuring the Parts Unlimited team project + +Keep Azure DevOps Demo Generator app ready. This app will automate the process of creating a new Azure DevOps project within your account that is prepopulated with content (work items, repos, etc.) required for the lab.For more information on the site, please see [https://docs.microsoft.com/en-us/azure/devops/demo-gen](https://docs.microsoft.com/en-us/azure/devops/demo-gen). ### 1. Select the project template -When you run the app will get info about selecting the project template, select the template by number input +When you run the application you will see the information about predefined templates, choose the template by entering the corresponding number ![](images/101.png) @@ -30,21 +32,21 @@ When you run the app will get info about selecting the project template, select ### 2. Select the authentication method -Here you have 2 methods: +Here you have 2 methods to authenticate Azure DevOps Demo Generator: -1. Device Login using AD auth +1. Device Login using AD authentication Register Your Application in Azure AD. Refer Register and Setup - Login with the displaying code + Login with the code displayed - After the login organizations will be listed and select org to create project + After the login, organizations will be listed and select organization to create project ![](images/102.png) -2. With Personal Access Token +2. With Personal Access Token (PAT) - Create Personal Access Token (PAT) with required scopes + Create Personal Access Token with the given scopes below | Scope | Description | | -------------------------- | ------------------------------------------ | @@ -61,8 +63,34 @@ Here you have 2 methods: | vso.variablegroups_write | Variable Groups (read, create) | | vso.work_full | Work items (full) | - Specify the organization name and the created PAT - - Enter the new project name and press enter, will be created + Enter the organization name and the Personal Access Token (PAT). Provide the project name and press enter to create a project ![](images/103.png) + + + +### Task 2: Configuring the Parts Unlimited solution in Visual Studio + +1. Some labs will require you to open the **Parts Unlimited** solution in **Visual Studio**. If your lab doesn't require this, you can skip this task. + +1. Navigate to your Azure DevOps team project for **Parts Unlimited**. It will be something like [https://dev.azure.com/YOURACCOUNT/Parts%20Unlimited](https://dev.azure.com/YOURACCOUNT/Parts Unlimited). + +1. Navigate to the **Repos** hub. + + ![](images/004.png) + +1. Click **Clone** and select **Clone in Visual Studio** (choose it in the dropdown if other option shown as default). + ![](images/clone.png) + ![](images/005.png) + +1. Follow the workflow to clone and configure the project in Visual Studio. Click **Clone** to copy the repo locally. + + ![](images/clone-2.png) + +1. From **Team Explorer**, double-click **PartsUnlimited.sln** from the **Solutions** section to open the solution. You can ignore if you see any warnings about unsupported project types (just click OK on the prompted window and ignore the migration report opened on the browser) + + ![](images/007.png) + + ![](images/unsupported.png) + +1. Leave Visual Studio open for use in your lab. diff --git a/labs/azuredevops/sonarcloud/readme.md b/labs/azuredevops/sonarcloud/readme.md index 5b88358983..e1c93c82f8 100644 --- a/labs/azuredevops/sonarcloud/readme.md +++ b/labs/azuredevops/sonarcloud/readme.md @@ -7,173 +7,180 @@ folder: /labs/azuredevops/sonarcloud/ version: Lab version - 15.8.2 updated: Last updated - 9/6/2018 --- +
-## Overview ## +## Overview In this lab, you will be introduced to technical debt, how to configure your Azure Build definitions to use SonarQube Cloud, how to understand the analysis results, and finally how to configure quality profile to control the rule set used by SonarQube Cloud for analyzing your project. Technical debt is the set of problems in a development effort that make forward progress on customer value inefficient. Technical debt saps productivity by making code hard to understand, fragile, time-consuming to change, difficult to validate, and creates unplanned work that blocks progress. Technical debt saps an org's strength due to high costs in customer support, and, eventually, some combination of these issues creates a larger problem that someone runs into. Technical debt is insidious. It starts small and grows over time through rushed changes, lack of context and lack of discipline. It can materialize out of nowhere even for a project regarded as clean at some point in time, due to a change in project circumstances: prototype code may be promoted to serve as the basis for a feature; code produced for the U.S. market may be proposed for international, instantly creating debt related to localizability; technologies evolve, but the app doesn't keep up. -### Prerequisites ### + +### Prerequisites - A SonarQube Cloud (SaaS) account from [https://www.sonarsource.com/](https://www.sonarsource.com/). +- Clone and build Azure DevOps Demo Generator + - This lab requires you to complete task 1 from the prerequisite instructions. -## Exercise 1: Managing Technical Debt with Azure DevOps and SonarQube ## + +## Exercise 1: Managing Technical Debt with Azure DevOps and SonarQube -### Task 1: Install and configure the SonarQube extension ### + +### Task 1: Install and configure the SonarQube extension 1. Navigate to your team project on Azure DevOps. 1. SonarQube is provided as a marketplace extension. From the **Marketplace** navigation dropdown, select **Browse Marketplace**. - ![](images/000.png) + ![](images/000.png) 1. Search for **"SonarQube Cloud"**. - ![](images/001.png) + ![](images/001.png) 1. Select the **SonarQube Cloud** option. - ![](images/002.png) + ![](images/002.png) 1. Click **Get it free**. - ![](images/003.png) + ![](images/003.png) 1. Select the organization to install **SonarQube Cloud** into. This should be the organization that contains your **Parts Unlimited** project. Click **Install**. - ![](images/004.png) + ![](images/004.png) 1. Click **Proceed to organization**. - ![](images/005.png) + ![](images/005.png) 1. Navigate to your **Parts Unlimited** team project. -### Task 2: Integrating a build with SonarQube Cloud ### + +### Task 2: Integrating a build with SonarQube Cloud 1. Navigate to **Pipelines \| Pipelines**. - ![](images/006.png) + ![](images/006.png) 1. Select **New pipeline** to create a new build pipeline. - ![](images/007.png) + ![](images/007.png) 1. Click **use the classic editor**. - ![](images/008.png) + ![](images/008.png) 1. Accept the default options and click **Continue**. - ![](images/009.png) + ![](images/009.png) 1. Select the **.NET Desktop with SonarQube Cloud** template and click **Apply**. - ![](images/010.png) + ![](images/010.png) 1. This build definition is pretty standard for a .NET project, except that it also includes three additional tasks for **SonarQube Cloud**. Note that you could easily integrate these specific tasks with your existing build definitions. There's no need to start from scratch like we are in this lab. - ![](images/011.png) + ![](images/011.png) 1. Set the **Agent pool** to **Hosted**. It should be the first option and have the **Visual Studio** logo. - ![](images/012.png) + ![](images/012.png) 1. Select the **Prepare analysis on SonarQube Cloud** task. This task defines the connection configuration for any later tasks. - ![](images/013.png) + ![](images/013.png) 1. Click **New** to configure a new **SonarQube Cloud Service Endpoint**. - ![](images/014.png) + ![](images/014.png) 1. Click **your SonarQube Cloud account security page** to open the account page in a new tab. - ![](images/015.png) + ![](images/015.png) 1. Navigate to [https://www.sonarsource.com](https://www.sonarsource.com) and sign in to your SonarQube Cloud account. 1. Click "My account link" and move to "Security" tab - ![](images/015a.png) + ![](images/015a.png) 1. To generate a token, enter a name like **"azuredevops"** and click **Generate**. - ![](images/016.png) + ![](images/016.png) 1. When the token is generated, click **Copy** to copy it to your clipboard. This token is tied to your account and the only thing necessary to access the service on your behalf. - ![](images/017.png) + ![](images/017.png) 1. Enter a **Service connection name** of **"SonarQube Cloud"** and paste the token as the **SonarQube Cloud Token**. Click **Verify and save**. - ![](images/018.png) + ![](images/018.png) 1. Select **SonarQube Cloud** as the **SonarQube Cloud Service Endpoint** and select an **Organization** associated with the account. You'll also need to provide a globally unique **Project Key**, such as **"partsunlimited.YOURNAME"**. - ![](images/019.png) + ![](images/019.png) 1. Select **Save & queue \| Save & queue** to kick off a new build. - ![](images/020.png) + ![](images/020.png) 1. Click the new build link to follow its progress through to completion. - ![](images/021.png) + ![](images/021.png) -### Task 3: Reviewing SonarQube Cloud results ### + +### Task 3: Reviewing SonarQube Cloud results 1. From the left panel, select the **Run Code Analysis** task. This contains the processes where SonarQube Cloud analyzes the code. - ![](images/022.png) + ![](images/022.png) 1. Near the end of the log, locate the URL to the results viewer and open it. - ![](images/023.png) + ![](images/023.png) 1. The SonarQube Cloud results are organized for easy access to the key results you're looking for. - ![](images/024.png) + ![](images/024.png) 1. Select the **Issues** tab. This provides a convenient way to filter and sort the results so that you can attack the section you feel needs immediate attention. Select the first result. - ![](images/025.png) + ![](images/025.png) 1. The code view provides an in-depth review of each issue, along with suggestions and configuration options. For this issue, select **Open \| Resolve as won't fix**. - ![](images/026.png) + ![](images/026.png) 1. Select the **Measures** tab. This provides a visualization of issues as selected by the available filters. - ![](images/027.png) + ![](images/027.png) 1. Filter down to see the **Reliability \| Overview**. This enables you to hover over the various assets to see the amount of effort required to fix and/or maintain various components for reliability. - ![](images/028.png) + ![](images/028.png) 1. Select the **Code** tab and drill into the **PartsUnlimitedWebsite** project. This provides a way to review project issues at a file level. - ![](images/029.png) + ![](images/029.png) 1. Open **Bootstrapper.cs**. - ![](images/030.png) + ![](images/030.png) 1. Locate the first issue related to having commented code. Expand it using the **chevron** and click the **ellipses** to see a detailed explanation and references as to the relevance and importance of this rule. - ![](images/031.png) + ![](images/031.png) 1. Expand the **Administration** option. Note that there is an incredible amount of flexibility available here for customizing your SonarQube Cloud analysis. - ![](images/032.png) - + ![](images/032.png) diff --git a/labs/azuredevops/testmanagement/readme.md b/labs/azuredevops/testmanagement/readme.md index c908d81c26..2037c2c208 100644 --- a/labs/azuredevops/testmanagement/readme.md +++ b/labs/azuredevops/testmanagement/readme.md @@ -8,213 +8,223 @@ version: Lab version - 15.8.2 updated: Last updated - 9/6/2018 redirect_from: "/labs/vsts/testmanagement/index.htm" --- +
-## Overview ## +## Overview In this lab, you will learn how to use Azure DevOps to manage your project's testing lifecycle. This project will guide you through creating test plans designed to efficiently validate your software milestones. You will also create and execute manual tests that can be consistently reproduced over the course of each release. -### Prerequisites ### -- This lab requires you to complete tasks 1 and 2 from the prerequisite instructions. +### Prerequisites + +- Clone and build Azure DevOps Demo Generator + +- This lab requires you to complete tasks 1 and 2 from the prerequisite instructions. -## Exercise 1: Managing Test Plans, Suites and Cases ## + +## Exercise 1: Managing Test Plans, Suites and Cases In this exercise, you will learn how to create and manage test plans, test suites and test cases. -### Task 1: Understanding Test Plans, Suites and Cases ### + +### Task 1: Understanding Test Plans, Suites and Cases 1. Navigate to your team project on Azure DevOps. 1. Select **Test Plans** to navigate to the **Test Hub**. The test hub provides a central place for all test planning, execution, and analysis. - ![](images/000.png) + ![](images/000.png) 1. In general, every major milestone in a project should have its own **test plan**. Within each test plan are **test suites**, which are collections of **test cases** (and optionally other test suites) designed to validate a work item, such as a feature implementation or bug fix. Each test case is designed to confirm a specific behavior and may belong to one or more test suites. The Parts Unlimited project has one test plan, which is under the **Parts Unlimited Team** and called **Parts Unlimited_TestPlan1**. Select the **Parts Unlimited_TestPlan1** test plan. - ![](images/001.png) + ![](images/001.png) 1. Select the suite of tests for the story **As a customer, I would like to store my credit card details securely**. This suite of tests focuses on that work item, which happens to be a feature. Note that the work item numbers will vary every time you generate demo data for a lab. - ![](images/002.png) + ![](images/002.png) 1. On the right side you can see that this test suite has three test cases designed to confirm expected behavior of the feature implementation. Double-click the **Verify that user is allowed to save his credit card detail** test case. - ![](images/003.png) + ![](images/003.png) 1. This dialog provides all the info you need on this test case. Locate the **Related Work** panel and note that this test case is linked to the suite it belongs to. Click the work item to navigate to it. - ![](images/004.png) + ![](images/004.png) 1. In the test suite, we can see all of the linked work items, which happen to be the test cases. - ![](images/005.png) + ![](images/005.png) 1. However, it's not yet associated with the feature it's designed to test, which we can link now. Click **Add link \| Existing item**. - ![](images/006.png) + ![](images/006.png) 1. Set the **Link type** to **Parent** and search for **"credit card"**. - ![](images/007.png) + ![](images/007.png) 1. Select the **Feature** for **Credit Card Purchase**. - ![](images/008.png) + ![](images/008.png) 1. Click **OK**. - ![](images/009.png) + ![](images/009.png) 1. The parent feature is now associated with the suite that tests it and anyone can navigate between them to view their relationship relative to the other work items involved. - ![](images/010.png) + ![](images/010.png) 1. Click **Save & Close**. - ![](images/011.png) + ![](images/011.png) 1. Dismiss the original test case dialog. -### Task 2: Managing Tests ### + +### Task 2: Managing Tests 1. Sometimes a set of test cases should be run in a specific order to maximize efficiency. Click **Order tests** to specify the order these test cases should be run. - ![](images/012.png) + ![](images/012.png) 1. While these test cases could be run separately to confirm the behavior, it probably makes more sense to run the test case that rejects invalid cards first. Then, the tester can confirm that a valid card can be saved, followed by the test case for editing a saved card. Drag and drop the second test case above the first and click **Done**. - ![](images/013.png) + ![](images/013.png) 1. You can now see that the **Order** has been updated and that the list is now sorted by it. - ![](images/014.png) + ![](images/014.png) 1. Another significant aspect of testing has to do with the environment each test is run in. For this web app, the browser and operating system are key considerations. Right now all the tests only use one configuration: Windows 10. - ![](images/015.png) + ![](images/015.png) 1. Select the **Configurations** tab. - ![](images/016.png) + ![](images/016.png) 1. Note that there is one existing configuration for **Windows 10**. Each test configuration includes a name and a description, as well as a set of customizable **Configuration variables**. This project has one configuration variable set for **Operating System**. You can easily add more and/or edit the available entries for each. Click **Add configuration variable**. - ![](images/017.png) + ![](images/017.png) 1. Select the **Browser** variable and set it to **Microsoft Edge**. - ![](images/018.png) + ![](images/018.png) 1. Click **Save** to save the configuration. - ![](images/019.png) + ![](images/019.png) 1. Now let's suppose the test team has acquired an iPhone X and wants to add it into the test matrix. It's really easy to register this environment as a new configuration so that test cases can specify it. However, before adding it, we'll need an **Operating System** option for **iOS 10**. Click the **Operating System** configuration variable. - ![](images/020.png) + ![](images/020.png) 1. Click **Add new value** and add an entry for **iOS 12**. - ![](images/021.png) + ![](images/021.png) 1. Click **Save**. - ![](images/022.png) + ![](images/022.png) 1. Now we have everything we need to add the iPhone X. Click the **Add** dropdown and select **New test configuration**. - ![](images/023.png) + ![](images/023.png) 1. Set the **Name** to **"iPhone X"**. - ![](images/024.png) + ![](images/024.png) 1. Click **Add configuration variable** twice and set the **Browser** to **Safari** and **Operating System** to **iOS 12**. - ![](images/025.png) + ![](images/025.png) 1. Click **Save** to save the new configuration. - ![](images/026.png) + ![](images/026.png) 1. Return to the **Test Plans** tab. - ![](images/027.png) + ![](images/027.png) 1. Click the dropdown next to the test suite we've been working with so far and select **Assign configurations to test suite**. - ![](images/028.png) + ![](images/028.png) 1. Check the **iPhone X** option and click **Save**. - ![](images/029.png) + ![](images/029.png) 1. Notice that each test case has been duplicated with an additional configuration for **iPhone X**. Now each environment can be tested and tracked separately. - ![](images/030.png) + ![](images/030.png) -### Task 3: Authoring Tests ### + +### Task 3: Authoring Tests 1. Expand the dropdown next to the test plan and select **New static suite.** A **static suite** of test cases is a suite where the cases have been manually assigned. You can also create suites based on common requirements (**requirement-based suite**) or a query of test cases and/or work items (**query-based suite**). - ![](images/031.png) + ![](images/031.png) 1. Set the name of the new suite to **"Shipping tests"**. These tests will all focus on functionality related to shipping. Remember that you can easily share test cases across suites, so there's minimal redundancy when having a lot of overlapping suites. - ![](images/032.png) + ![](images/032.png) 1. Expand the dropdown next to the newly created suite and select **New requirement-based suite**. - ![](images/033.png) + ![](images/033.png) 1. You could customize the query used to specify which requirements are retrieved, but just leave the defaults and click **Run query**. Locate and select the three product backlog items related to shipping. Click **Create suites** to create a test suite for each. - ![](images/034.png) + ![](images/034.png) 1. Select one of the newly created suites, such as the one associated with tracking package status. - ![](images/035.png) + ![](images/035.png) 1. While you can create test cases one at a time, it's sometimes easier to use a grid layout to quickly add many test cases. In the test cases panel, select **New \| New test case using grid**. - ![](images/036.png) + ![](images/036.png) 1. Enter a few test cases and click the **Save All** button. The **Title** will be the eventual title of the test case. **Step Action** will be the first (and possibly only) step of the test. If that step has an expected result, you can specify it as **Step Expected Result**. - ![](images/037.png) + ![](images/037.png) 1. You can optionally continue to add and edit work items in the grid view. When satisfied, return back to the list view by clicking the **View: Grid** toggle. - ![](images/038.png) + ![](images/038.png) 1. The list view shows the same data, but in a different view. - ![](images/039.png) + ![](images/039.png) 1. Another option to create suites is via work item query. Expand the dropdown next to the **Shipping tests** suite and select **new query-based suite**. - ![](images/040.png) + ![](images/040.png) 1. Let's say you wanted to create a test suite out of test cases related to shipping in the project. Change the **Work Item Type** to **Microsoft.TestCaseCategory** to search for test cases and click **Run query**. You now have a list of test cases that you can select to create suites from, if you choose. - ![](images/041-2.png) + ![](images/041-2.png) 1. Press **Esc** to close the dialog. -## Exercise 2: Authoring, Running and Analyzing Manual Tests ## + +## Exercise 2: Authoring, Running and Analyzing Manual Tests In this exercise, you will learn how to create a manual test plan and populate it with steps. The plan can later be run to confirm the expected behavior of your software. In this lab, we're going to focus on creating a new manual test case and running it. -### Task 1: Installing the Test & Feedback Extension ### + +### Task 1: Installing the Test & Feedback Extension 1. Install **Google Chrome** from [http://google.com/chrome](http://google.com/chrome). The rest of this exercise will use Chrome as its browser. If you're already using Chrome, just open a new instance for the next set of steps. @@ -222,266 +232,265 @@ In this exercise, you will learn how to create a manual test plan and populate i 1. Select the **Azure DevOps** tab. Search for "**feedback**" and click the **Test & Feedback** extension. - ![](images/042.png) + ![](images/042.png) 1. Click on **Install** button on the details page. - ![](images/043.png) + ![](images/043.png) 1. Click **Install** for the Chrome extension. - ![](images/044.png) + ![](images/044.png) 1. In the **Chrome Web Store**, click **Add to Chrome**. - ![](images/045.png) + ![](images/045.png) 1. Confirm the installation when asked. - ![](images/046.png) + ![](images/046.png) 1. To open the extension, click the extension icon that will appear on the right of the address bar. Select the **Connection Settings** tab. Enter the URL of your Azure DevOps instance, such as "**https://MYTEAM.visualstudio.com**", as the **Server URL** and click **Next**. - ![](images/047.png) + ![](images/047.png) 1. The extension can be used in two modes: **Connected** and **Standalone** mode. If you have Azure DevOps or Team Foundation Server (TFS), select Connected mode. Standalone mode is for users who don't have Azure DevOps or TFS and want to use the extension to file bugs and share the report with their team. 1. After connecting to Azure DevOps, you will need to select the team you want these efforts associated with. Select the **Parts Unlimited Team** under the **Parts Unlimited** project and click **Save** to continue. - ![](images/048.png) + ![](images/048.png) -### Task 2: Authoring a Manual Test Plan ### + +### Task 2: Authoring a Manual Test Plan 1. In Chrome, navigate to your **Parts Unlimited** project. 1. As before, navigate to the **Test Plans** hub. - ![](images/049.png) + ![](images/049.png) 1. Expand the dropdown next to the test plan and select **New static suite**. - ![](images/050.png) + ![](images/050.png) 1. Name the new suite **"End-to-end tests"** and press **Enter**. - ![](images/051.png) + ![](images/051.png) 1. From the **Tests** tab, select **New \| New test case** to create a new test case. - ![](images/052.png) + ![](images/052.png) 1. In the **Title** box, type "**Confirm that order number appears after successful order**" as the name of the new test case. - ![](images/053.png) + ![](images/053.png) 1. At this point, we're ready to add steps to this manual test. Each step includes an **Action**, which describes the action the tester needs to perform. Optionally, a step can include an **Expected Result**, which describes the expected result of the given action. In the **Steps** panel, create a step for each of the following **Actions**, only one of which has an **Expected Result**. - - |Action|Expected Result| - --- | --- - |Open project site|| - |Click Brakes|| - |Click Disk and Pad Combo|| - |Click Add to Cart|| - |Click Checkout|| - |Enter @Email, @Password|| - |Enter @Name, @Phone, @Email, @Address, @City, @State, @PostalCode, @Country, @Promo|| - |Click Submit Order|| - |Confirm order page has order #|Order # should appear on order confirmation page| - |Log out|| - |Close browser|| + | Action | Expected Result | + | ----------------------------------------------------------------------------------- | ------------------------------------------------ | + | Open project site | | + | Click Brakes | | + | Click Disk and Pad Combo | | + | Click Add to Cart | | + | Click Checkout | | + | Enter @Email, @Password | | + | Enter @Name, @Phone, @Email, @Address, @City, @State, @PostalCode, @Country, @Promo | | + | Click Submit Order | | + | Confirm order page has order # | Order # should appear on order confirmation page | + | Log out | | + | Close browser | | **Note:** If you end up with an extra empty step, delete it. - 1. At this point, the **Steps** panel should look similar to the following: - ![](images/054.png) + ![](images/054.png) 1. Note the "Enter @Email, @Password" and "Enter @Name, @Phone, @Email, @Address, @City, @State, @PostalCode, @Country, @Promo" steps. In these steps, we used the **@** sign to indicate that there were iteration-specific variables to be used during the manual test pass. We can define which variables to use by scrolling down to the **Parameter Values** section of this form and entering them for each iteration. Note that you may need to use the scroll bar on the far right side of the test case dialog to view this section. - ![](images/055.png) + ![](images/055.png) 1. Use the following table to set up values for two iterations. - - |Fields|Iteration 1|Iteration 2| - --- | --- | --- - |Email|admin@test.com|sachin@test.com| - |Password|P@ssw0rd|P@ssw0rd| - |Name|Admin User|Sachin Raj| - |Phone|425-555-1234|555-555-5555| - |Address|One Microsoft Way|Two Tailspin Trail| - |City|Redmond|Springfield| - |State|WA|IL| - |PostalCode|98052|11135| - |Country|USA|USA| - |Promo|FREE|FREE| - + | Fields | Iteration 1 | Iteration 2 | + | ---------- | ----------------- | ------------------ | + | Email | admin@test.com | sachin@test.com | + | Password | P@ssw0rd | P@ssw0rd | + | Name | Admin User | Sachin Raj | + | Phone | 425-555-1234 | 555-555-5555 | + | Address | One Microsoft Way | Two Tailspin Trail | + | City | Redmond | Springfield | + | State | WA | IL | + | PostalCode | 98052 | 11135 | + | Country | USA | USA | + | Promo | FREE | FREE | 1. The **Parameter Values** section should now look like this. Note that you can enter as many iterations as you need to fully test the breadth of the scenario. - ![](images/056.png) + ![](images/056.png) 1. Click **Save & Close** to save the test case. - ![](images/057.png) + ![](images/057.png) -### Task 3: Running a Manual Test Plan ### + +### Task 3: Running a Manual Test Plan 1. In this task, you will learn how to run the manual test plan that we created earlier. Note that the process for triggering an automated test run follows a similar workflow. You can learn more about that in the [documentation](https://docs.microsoft.com/en-us/vsts/build-release/test/run-automated-tests-from-test-hub). 1. Right-click the test case created earlier and select **Run with options** to begin a manual test run. - ![](images/058.png) + ![](images/058.png) 1. There are a few options that you can use to customize each test run. The first option is to select a **Runner**, which will be the browser in this scenario. Next, you may have the option to specify which kinds of **data to collect**. Finally, you may optionally specify which build is being tested to make it easier to associate the results with the build they were from. Click **OK** to continue. - ![](images/059.png) + ![](images/059.png) 1. If the **Test Runner** window does not appear, check to see if it was blocked by the pop-up blocker. If so, click the **Pop-up blocker** button, select **Always allow pop-ups...**, and then click **Done**. You can then launch the test run again with success. 1. In the **Test Runner** window, expand the **Test 1 of 1: Iteration 1** dropdown. Note that there are two iterations: one for each set of parameters specified in the test case. In the first iteration, the [admin@test.com](mailto:admin@test.com) account is used. In the second, [sachin@test.com](mailto:sachin@test.com) will be used. - ![](images/060.png) + ![](images/060.png) 1. The first step in the test is to open the project site. To do this, switch to the **Visual Studio** instance that has the **Parts Unlimited** solution loaded. From the **IIS Express** target dropdown, select **Browse With...**. - ![](images/061.png) + ![](images/061.png) 1. Select **Google Chrome** and click **Browse**. - ![](images/062.png) + ![](images/062.png) 1. If you're working on a large screen, it may be easier to resize the new window to fit next to the **Test Runner** window. Otherwise you can just switch back and forth. - ![](images/063.png) + ![](images/063.png) 1. Once the site loads, return to the **Test Runner** and click the **Pass test step** button. As you complete the next steps of this test, be sure to check the **Pass test step** buttons for them as well. - ![](images/064.png) + ![](images/064.png) 1. The next step is to click the **Brakes** menu item. - ![](images/065.png) + ![](images/065.png) 1. Then click the **Disk and Pad Combo** product. - ![](images/066.png) + ![](images/066.png) 1. The next step is to click **Add to cart**. - ![](images/067.png) + ![](images/067.png) 1. On the next page, click **Checkout**. - ![](images/068.png) + ![](images/068.png) 1. Log in using the credentials specified in the next step. - ![](images/069.png) + ![](images/069.png) 1. Unfortunately, this will fail because there isn't an [admin@test.com](mailto:admin@test.com) account. - ![](images/070.png) + ![](images/070.png) 1. The **Test Runner** provides three valuable ways to record media from a test run. The first option is to take screenshots. The second is to capture each user action in an image action log. The final is to record the screen as a video. Click the **Capture screenshot** button to take a screenshot. - ![](images/071.png) + ![](images/071.png) 1. Crop the screen down to show the login form and error message. Specify the name **"No admin account"** and click the **Confirm** button. - ![](images/072.png) + ![](images/072.png) 1. Right-click the failed step and select **Add comment**. - ![](images/073.png) + ![](images/073.png) 1. Enter a comment of **"Admin account does not exist by default"** and fail the test using the **Fail test step** button. - ![](images/074.png) + ![](images/074.png) 1. Click **Create bug** to log a new bug. - ![](images/075.png) + ![](images/075.png) 1. Enter the bug title of **"Admin account does not exist by default"** and click **Save & Close** to log the bug. - ![](images/076.png) + ![](images/076.png) 1. Since the test cannot be completed due to a bug not directly related to the functionality being tested, expand the **Mark test case result** dropdown and select **Block test**. Click **Save and close** to save the test run. - ![](images/077.png) + ![](images/077.png) 1. Close the test browser windows. -### Task 4: Analyzing Manual Test Results ### + +### Task 4: Analyzing Manual Test Results 1. In this task, you will learn how to review the results of a manual test run. 1. Return to the browser window hosting the **Test Hub**. Select the **Runs** tab. - ![](images/078.png) + ![](images/078.png) 1. Double-click the most recent test run to open it. You may need to refresh the data to see it. - ![](images/079.png) + ![](images/079.png) 1. The **Run summary** tab provides an overview of the test run, as well as high-level details on the results of all tests included as part of the run. - ![](images/080.png) + ![](images/080.png) 1. Select the **Test results** tab. This tab lists the results of each individual test case included in the run along with their results. Since there was only one test case included here, double-click it to open. - ![](images/081.png) + ![](images/081.png) 1. You can review all details for this particular test case run from here. - ![](images/082.png) + ![](images/082.png) 1. Scroll to the bottom to locate the iterations. Expand the first iteration. - ![](images/083.png) + ![](images/083.png) 1. Review the results of each step in this iteration, as well as the failed login step, which shows the screenshot attached during the test run. - ![](images/084.png) + ![](images/084.png) -### Task 5: Creating Shared Steps ### + +### Task 5: Creating Shared Steps 1. In this task, you will learn how to create shared steps. A shared step combines multiple steps that are commonly performed in sequence into a single logical step, which can be shared across tests. If the process defined by the shared steps ever changes in the future, you can update the shared step in one place and it will be reflected in all tests that reference it. 1. Click the test case link in the **Summary** section. - ![](images/085.png) + ![](images/085.png) 1. Double-click the case to open it in the test case editor. - ![](images/086.png) + ![](images/086.png) 1. Select steps 2-4 (use **Shift+Click**) and click the **Create shared steps** button. - ![](images/087.png) + ![](images/087.png) 1. Set the name of these shared steps to **"Add Disk and Pad Combo to cart"** and click **Create**. - ![](images/088.png) + ![](images/088.png) 1. Now you can see the previous steps replaced with the shared steps. Double-click the shared steps to open. - ![](images/089.png) + ![](images/089.png) 1. If necessary, you can revisit these steps later on to update them for new requirements. - ![](images/090.png) + ![](images/090.png) 1. Press **Esc** to close the **Shared Steps** dialog. 1. Click **Save & Close** to save the test case. - ![](images/091.png) - + ![](images/091.png)