Create Your First QA Project in Azure DevOps
Step-by-step guide to creating a QA project in Azure DevOps from scratch. Covers organisation setup, project creation, team configuration, area paths.
Starting from zero in Azure DevOps can feel overwhelming — there are dozens of settings, and getting them wrong early means restructuring everything later. This guide walks through a complete, correct project setup for a QA team, in the right order.
Step 1: Create the organisation
Navigate to dev.azure.com and sign in. Click New organisation.
- Organisation name: use your company name or team name (e.g.,
acme-corp). This appears in all your URLs. - Region: choose the region closest to your team for lowest latency.
Your organisation URL: https://dev.azure.com/acme-corp
Step 2: Create the project
From your organisation's home page, click + New project.
Project name: ShopFlow-QA
Description: QA project for ShopFlow e-commerce platform
Visibility: Private
Version control: Git
Work item process: Scrum
Choose Scrum for the work item process — it gives you User Stories, Sprints, and Bugs in a configuration well-suited to QA work.
Step 3: Configure area paths
Area paths organise work by team or product area. Go to Project Settings → Boards → Project Configuration → Areas.
Add a structure like:
ShopFlow-QA (root)
├── Frontend
│ ├── Checkout
│ └── Product Pages
├── Backend
│ ├── API
│ └── Database
└── Mobile
├── iOS
└── Android
Each team can own an area. QA items (test cases, bugs) assigned to the correct area path appear on the right board and in the right dashboard widgets.
Step 4: Configure iterations (sprints)
Go to Project Settings → Boards → Project Configuration → Iterations.
Create a structure:
ShopFlow-QA
├── Sprint 1 (2025-07-01 to 2025-07-14)
├── Sprint 2 (2025-07-15 to 2025-07-28)
├── Sprint 3 (2025-07-29 to 2025-08-11)
└── Sprint 4 (2025-08-12 to 2025-08-25)
Set start and end dates for each sprint. This enables the sprint burndown chart and makes @CurrentIteration queries work.
Step 5: Create and configure your QA team
Go to Project Settings → General → Teams. Click + New team.
Team name: QA Team
Description: Quality assurance and testing team
In the team settings, configure:
- Area: select your team's area path (e.g.,
ShopFlow-QA) - Iterations: select which sprints your team participates in
This ensures your team's board shows only work items in your area and current sprint.
Step 6: Assign licences
Azure Test Plans requires a Basic + Test Plans licence. Go to Organisation Settings → Users.
For each QA engineer who needs to write and run test cases:
- Set licence to Basic + Test Plans ($$$)
For stakeholders who only view results:
- Set licence to Stakeholder (free)
For developers who need to see but not create test cases:
- Basic licence is sufficient for read access
Step 7: Create your first test plan
Go to Test Plans in the left navigation. Click + New Test Plan.
Name: Sprint 1 — Regression + New Features
Area: ShopFlow-QA / Frontend
Iteration: ShopFlow-QA / Sprint 1
Inside the test plan, create test suites:
- Click + → New Suite → Static suite
- Name:
User Authentication - Repeat for:
Product Search,Checkout Flow,Order History
Step 8: Create your first test cases
Inside the User Authentication suite, click + New Test Case.
Title: Login with valid credentials succeeds
Steps:
1. Action: Navigate to /login
Expected: Login form displayed with email and password fields
2. Action: Enter valid email "test@example.com" and password "Password123!"
Expected: Fields accept input without validation errors
3. Action: Click the "Sign In" button
Expected: Redirected to /dashboard with user name displayed in header
4. Action: Check browser cookies
Expected: Session cookie set with httpOnly and Secure flags
Save and add more test cases for: invalid credentials, forgot password, session timeout.
Step 9: Link test cases to user stories
For traceability, link each test case to its corresponding user story.
- Open a test case
- Click Links → Add link
- Link type: Tests
- Search for the user story by ID
Now the traceability matrix in Test Plans → Progress Report will show which user stories have test coverage.
Step 10: Configure your team dashboard
Go to Overview → Dashboards. Click + Add widget to build a QA-focused dashboard:
| Widget | Purpose |
|---|---|
| Test Results Trend | Shows pass/fail rates over time |
| Bug by State | Donut chart of open vs closed bugs |
| Sprint Burndown | Team velocity |
| Query Results | Open high-priority bugs |
| Deployment Status | Last pipeline result |
Common errors and fixes
Error: Sprint burndown chart shows no data Fix: Ensure sprints have start and end dates set in Project Configuration, AND work items are assigned to the sprint (Iteration Path = the sprint path).
Error: Test cases not visible after creation Fix: Test cases must be explicitly added to a test suite. Creating the work item doesn't auto-add it. Either add them manually or create a Query-based suite that pulls them automatically.
Error: "You are not a team member" when viewing the team board Fix: Go to Project Settings → Teams → [Your team] and add yourself as a team member.
Error: Area paths not showing correct hierarchy on the board Fix: Each team must select which area paths they own in Team Settings → Working with bugs / Areas. A team only sees work items from their assigned area paths.
Project setup checklist
☑ Organisation created in correct region
☑ Project created with Scrum process
☑ Area paths defined for product areas
☑ Iterations (sprints) created with date ranges
☑ QA team created and configured
☑ Licences assigned (Basic + Test Plans for test authors)
☑ First test plan created with suites
☑ Test cases created with detailed steps
☑ Test cases linked to user stories
☑ Team dashboard configured with QA widgets
With this foundation in place, every subsequent sprint follows the same structure — create a new test plan, add suites for the sprint's features, reuse regression test cases, and track execution through the dashboard.
Share this article
Follow for more
Follow me on social media for more developer tips, tricks, and tutorials. Let's connect and build something great together!