Rewriting a few thousand test cases by hand is nobody's idea of a good week. TestCollab can talk to Azure DevOps directly, read your test library, and rebuild it here - test plans, suite folders, test cases, steps and all.
The whole thing takes about ten minutes of your attention. The migration itself then runs quietly in the background while you get on with something else.
There are two halves to this. First you prepare a few things in Azure DevOps. Then you do the rest in TestCollab. We've kept those separate below so you always know which browser tab you should be in.
Before you start
Pick or create the TestCollab project you want the data to land in. An empty one is best; see the don'ts at the end.
If you don't see Import & Migration in your project's Settings menu, the feature isn't available for the plan your company is subscribed to.
Part 1 - In Azure DevOps
Step 1: Copy your organization URL
This is the address TestCollab will connect to.
Typically https://dev.azure.com/your-organization
Step 2: Create a personal access token
A personal access token is a password-like string that lets TestCollab read your test data. You create it once and paste it in.
In Azure DevOps, click your profile picture in the top right and open User settings → Personal access tokens.
Click New Token.
Give it a name you'll recognise later
Under scopes, tick Test Management (Read) and Work Items (Read).
Create it, then copy the token immediately. Azure only shows it once.
💡 Do grant both scopes. With only Work Items, TestCollab can see your test cases but not the plans and suites they sit in, and you'll end up with a migration that fails or arrives half-empty. Don't grant write access. TestCollab only ever reads from Azure. It never changes anything there.
Step 3: A five-minute tidy-up (optional, but worth it)
Whatever is messy in Azure will be messy here too. Before you migrate, it's worth a quick look at:
Test plans you no longer use. Every plan comes across. Retiring the dead ones now saves you deleting them twice.
Test cases that were never added to a plan. These are easy to forget about. TestCollab will count them for you and ask whether you want them, but it helps to know in advance whether they're worth keeping.
You also need one more thing from Azure: the exact name of the project you're migrating. Copy it as it's written, capital letters, spaces and all.
Part 2 - In TestCollab
Step 4: Open Import & Migration
Open the project you want the data to land in, then go to Settings → Import & Migration.
Click the Azure Test Plans card under Full migrations.
The wizard that opens has four stops along the top: Authenticate → Confirm → Import → Summary.
Step 5: Connect to Azure DevOps
On the first panel, Step 1: Connect to Azure DevOps, paste in the two things you collected earlier:
Azure DevOps organization URL (from Step 1)
Personal Access Token (from Step 2)
Click Validate Azure connection. A green Validated tag appears and the next panel unlocks.
Step 6: Choose the Azure project
Open Step 2: Select Project to Import and type the Azure project name into the Azure DevOps project field.
Do type it exactly as Azure spells it. Azure project names are case-sensitive and can contain spaces - Payments Web and payments web are two different things to Azure.
Click Validate Azure project. You'll get a confirmation with a quick headcount: how many test cases, folders and test plans TestCollab found.
💡 Have a glance at those numbers. If they're wildly lower than you expected, you're probably looking at the wrong project — better to notice now than after the migration.
On very large libraries these preview numbers are a fast estimate rather than an exact tally, and they can read a little high. The migration itself always walks the whole project.
Step 7: Set your options
In Step 3: Configure Import & Continue there are one or two decisions to make.
Default assignee for imported test plans. Pick a project member. Every test plan that comes across, and every test case inside it gets assigned to that person, so nothing lands in the project unowned. This one is required.
Also import test cases that are not in any test plan. This only appears if TestCollab actually found some, and it tells you how many: "(214 found)", for instance.
Here's why it exists. Azure DevOps only lists test cases through test plans and suites.
A test case that was written but never added to a plan is invisible from that route so unless you ask for it, it stays behind. Tick the box and those cases come across too. Because they have no suite in Azure, they arrive at the top level of your test case repository and aren't attached to any test plan.
Do tick it if that number is large and those cases still matter to you. They're often the ones nobody remembers until someone needs them. Don't tick it if you know they're old drafts and scratch work. Leaving them behind is the tidier outcome, and you'll see a note on the next screen confirming exactly how many were skipped.
Click Continue.
Step 8: Read the confirmation, then start
The Confirm screen says "Ready to import from Azure Test Plans project …" and lists what's about to happen: how many test cases, how many folders becoming a suite hierarchy, how many test plans.
If you left the "Also import test cases that are not in any test plan" box unticked, you'll also see a plain warning here: "N test cases are not in any test plan and will be skipped." Last chance to go back and change your mind.
When you're ready, click I understand, start import.
Step 9: Let it run
The Import screen shows the migration working through its stages: authenticating, then folders, then test cases, then test plans, then finalising.
Don't close the web browser's tab and don't panic if it slows down. When Azure asks us to ease off, TestCollab paces itself and carries on rather than giving up.
There's a Cancel Import button if you need it. Cancelling stops the migration where it stands; whatever already arrived stays put.
Step 10: Check what arrived
When it finishes you land on Summary, with a scoreboard: test cases created, suites created, test plans imported, and how long it took. If any individual item couldn't be created, it's listed under Failed import items with the reason, and everything else still came through.
Now go and look at the real thing:
Test Cases - your suite folders should mirror the suite structure you had in Azure, and opening a case should show its steps with actions and expected results.
Test Plans - each Azure test plan appears here, named [Azure TP] Your Plan Name, with its test cases added.
Settings → Custom Fields - you'll find a set of new Azure fields holding the details that don't have a natural home in TestCollab, like state, area path and linked work items.
Do
Migrate into a fresh, empty TestCollab project. It's much easier to judge whether everything arrived when the project contains nothing else.
Grant both token scopes: Test Management (Read) and Work Items (Read).
Do a trial run first if you have a small Azure project handy. It's the cheapest way to see the shape of the result.
Don't
Don't plan on running the migration twice into the same TestCollab project. It's a one-time move, and TestCollab will stop you deliberately, so you can't end up with everything twice over. If you want a second attempt, start with a new project.
Don't start the same migration in two tabs at once.
Don't expect your test run history to follow. Results and execution history stay in Azure.
Don't delete anything in Azure until you've checked the results here. Nothing about this migration changes your Azure data, so there's no rush.




