Veriland ConsultingVeriland Consulting
  • Agentic Operations →

    • AI Transformation OverviewGoverned AI agents that run finance, IT and software delivery work. £39m in annual savings across two PE-backed clients.
    • Agentic Finance Operations (O2C, P2P)Order to cash, procure to pay and bank reconciliation run by agents. Your team handles exceptions and sign-off.
    • Agentic IT Operations (Ticket to Resolution)Agents triage, diagnose, fix, test and prepare the CAB pack. The CAB still decides every release.
    • Agentic Software Delivery (AI Testing, F&O)AI testing that verifies every Azure DevOps bug fix and tests the UI after every release.
    • Agent Governance & SecurityAgent identities, least-privilege access, segregation of duties and audit trails in every agent we deploy.
    • Client ResultsAnonymised results from three clients, measured before and after.
  • Water Utilities (MaxWater) →

    • Water Utilities OverviewSpecialist modular platform for UK water utilities — meter-to-cash, asset lifecycle, SCADA, Ofwat compliance.
    • MaxWater Platform & ModulesSix independent modules — pick what you need, own everything we build.
    • Day in the LifeSix interactive stories showing how MaxWater transforms daily work across every department of a water utility.
    • Day in the Life: OperationsSee how MaxWater detects a failing pump at 2 AM and gets it fixed before anyone notices.
    • Day in the Life: ProcurementFrom emergency parts order to delivery — automated procurement across the supply chain.
    • Day in the Life: ComplianceOfwat reporting, DWI sampling, and audit preparation — all automated, all audit-ready.
    • Day in the Life: FinanceCapital project budgeting, AMP funding, cost allocation, and invoice matching.
    • Day in the Life: Project ManagementAMP obligation tracking, earned value, regulatory packages, and programme board reporting.
    • Day in the Life: CustomerMeter reading, billing, customer complaints, and leak detection — the customer-facing story.
  • Fixed‑Price Accelerator Packages →

    • Business Central AcceleratorA rapid, fixed‑price implementation of Business Central for mid-market businesses looking to modernise finance, invoicing, stock and reporting — without complexity.
    • CRM AcceleratorA fast, simple CRM setup built on Dynamics 365 Sales or Customer Service — helping mid-market teams get better pipeline visibility and consistent customer follow‑up.
    • F&O AcceleratorA streamlined version of Dynamics 365 Finance & Operations for mid-market organisations needing stronger financial control, supply chain visibility, and structured operations.
    • AI Agent AcceleratorDeploy 1–2 AI agents that automate repetitive tasks (like reconciliations, order processing, or support responses) with a fixed, predictable cost.
    • Power Platform AcceleratorReplace spreadsheets and manual approvals with automated workflows, low‑code apps, and digital forms built on Power Platform.
    • Migration Packs (ERP / CRM)Move from legacy systems (Sage, Xero, QuickBooks, Access, Salesforce, etc.) to modern Microsoft platforms with a predictable, fixed‑scope migration.
  • Finance, Stock & Operations →

    • Business Central (SMB ERP)A modern, all‑in‑one cloud ERP for mid-market organisations. Manage finance, sales, stock, projects, and operations in one simple system that grows with you.
    • Dynamics 365 Finance & Operations (F&O)Enterprise‑grade finance, supply chain, and operations for mid‑market organisations that need deeper control and automation across their business.
  • Products

    • MaxWAM – Work Asset Management (Mobile, Offline, AI)A mobile‑first, offline‑capable asset maintenance solution with work orders, inspections, compliance checks, and AI‑assisted technician workflows.
    • MaxBudget – AI‑Backed Budget Management for ProcurementGives finance teams real‑time budget visibility for all purchase requests — including committed spend that hasn't been paid yet — reducing overspending and surprises.
    • MaxPortal – Ready‑to‑Use Portal for D365 BC / F&OA configurable customer/vendor/employee portal for Business Central or F&O, enabling self‑service access to orders, invoices, tickets, documents, and status updates.
    • MaxWater – Modular Platform for Water UtilitiesSix independent modules for water utility operations: meter‑to‑cash, asset lifecycle, SCADA integration, field service, Ofwat reporting, and capital project governance.
  • Insights

    • BlogInsights, tips, and thought leadership on Dynamics 365, Azure, and AI for UK businesses.
    • Case StudiesSee how we've helped other businesses transform with Dynamics 365 and AI.
    • Guides & TutorialsFree video tutorials and step-by-step walkthroughs for Dynamics 365, Power Platform, and Azure.
    • Tools & DownloadsFree tools and downloads, including FinOpsWorkbench for managing your Dynamics 365 and Power Platform environments.
  • Veriland Difference

    • How We WorkDiscover our agile, transparent approach to delivering successful projects.
    • Why Choose VerilandLearn what sets our expertise and partner-driven approach apart.
    • Delivery ExcellenceOur commitment to quality, on-time delivery, and continuous improvement.
    • Security & TrustHow we protect your data and ensure enterprise-grade security.
    • Our Microsoft PartnershipLeveraging our status as a trusted Microsoft Partner for your success.
  • Book discovery call
  • Contact sales
  • Contact support
Veriland Consulting

What We Do

  • Microsoft D365 F&O
  • Microsoft D365 CE
  • Microsoft D365 BC
  • Azure Ecosystem
  • Copilot for Business
  • AI Agents
  • Power Platform

Products

  • MaxWAM
  • MaxBudget
  • MaxPortal

Services

  • D365 as a Service
  • Team as a Service
  • Pay-As-You-Go Support

Insights

  • Case Studies

Company

  • About Us
  • Contact

Connect

  • Charter House, Charter Way
  • Macclesfield, SK10 2NG
  • 01625 569 777
  • enquiries@veriland.co.uk
Microsoft Cloud Partner Program
Privacy PolicyCookie PolicyTerms & ConditionsCustomer ComplaintsModern Slavery Statement
Company Reg: 08209902© 2026 Veriland Consulting. All rights reserved.
  1. Insights
  2. Blog

Proving Every App Still Works After a VMware Migration

  • Summary
  • Why isn't "the VM booted" enough?
  • What should the baseline cover?
  • How do you re-run the tests after cutover?
  • How do you compare results with screenshot evidence?
  • Which integration checks matter?
  • How do Azure DevOps defects get raised and verified?
  • The method step by step
  • Cutover checklist
  • What goes in the evidence pack?
  • Where do people stay in control?
  • What AI testing work has Veriland already done?
Cloud23 October 2026 11 min read

You prove an application still works after a VMware migration by testing what its users and connected systems do with it, not by checking that the virtual machine booted. Record a baseline of every business-critical journey on VMware before anything moves, then run the identical tests after cutover on the target and compare the two runs screen by screen. The comparison, with screenshots and a defect log, is the evidence for the go or no-go decision.

Short answer: a running VM proves the infrastructure moved. Only a re-run of the same business journeys, with the same data and checks as the pre-migration baseline, proves the application moved with it.

Testing is the part of a VMware exit plan that is easiest to squeeze. The deadlines push the other way: licence-included pay-as-you-go Azure VMware Solution (AVS) deployments must move to portable VCF by 31 October 2026, and vSphere 8 reaches end of general support on 11 October 2027. This post sets out a testing method that keeps pace with those dates. It sits under our main guide, Leaving VMware After Broadcom, and the testing cost belongs in your renewal versus Azure cost model.

Why isn't "the VM booted" enough?

Infrastructure checks answer infrastructure questions. Is the VM running? Does it answer a ping? Is the service started? Those checks matter, but they say nothing about whether a user can raise an invoice, approve an order or run the month-end report.

A migration changes the things around the VM. Azure Migrate's network discovery for VMware and NSX (preview, August 2026) shows how much sits there: subnets, VLANs, NSX segments, port groups, load balancers, and firewall and NAT policies. Any of those can change during a move, and the VM will still report healthy.

What infrastructure checks proveWhat they do not prove
The VM is running on the targetUsers can log in and complete their work
The OS and services startedThe application reads and writes the right data
The VM answers on the networkPartners, APIs and file transfers still reach it
Disk and CPU look normalScheduled jobs, reports and emails still run
Monitoring shows greenScreens show the same results as before the move

The route changes how much moves. AVS runs the same vSphere, vSAN and NSX stack in Azure, so the application sees the least change, although its network location and connections still move. A rehost to Azure VMs swaps the platform underneath. A move to containers is a rebuild, and Microsoft documents behaviour differences that matter on that route: Windows nodes on AKS do not preserve client source IP and have a fixed four-minute TCP timeout. An IP allow-list at a partner, or a long-running connection, can fail there and nowhere else. On-premises, Harvester's VM import add-on shuts down the source VM and converts its disks before creating the new one, so the imported VM is a new machine in practice.

Our post on choosing a route for each workload covers those routes in depth. Whichever you choose, the test method is the same.

What should the baseline cover?

The baseline is a recorded run of your tests on VMware, before migration, for every business-critical journey. It becomes the reference that the post-cutover run is judged against.

Start with the journeys, not the servers. For each application, ask its owner which tasks would stop the business if they broke: posting a sales order, receiving stock, running payroll, producing a customer statement. Then add the journeys that run without a person, such as overnight imports, interfaces and scheduled reports.

Azure Migrate helps you find what you might miss. Its agentless dependency analysis covers up to 3,000 servers per appliance and shows which servers talk to which. Automatic application discovery (preview, May 2026) groups servers into applications. Dependencies you did not know about become integration checks.

Each journey needs five things written down:

  • the steps a user or system takes
  • the test data and accounts it uses
  • the expected result at each step
  • the integrations it touches
  • the application version under test

Run the baseline more than once. Two clean runs tell you which differences are natural, such as dates, reference numbers and timestamps, so they are not flagged as failures later. Then freeze the application: no releases between baseline and cutover, or a fresh baseline after any release that does happen. Otherwise you cannot tell whether a difference came from the migration or from the change.

AI agents make this practical across a whole estate. They run the regression tests, then open the application and work through each journey through the user interface, clicking, entering data and moving between screens, recording a screenshot and a log line at each step. Our Agentic Software Delivery capability describes how we run agents in a delivery process.

How do you re-run the tests after cutover?

You run the same tests, with the same data and accounts, against the target. Nothing in the test changes except the address it points at. If the test needs editing to pass, that edit is itself a finding.

We recommend two post-migration runs per wave. The first is a rehearsal: migrate a copy, run the full baseline against it, fix what breaks, and repeat. For VMware, Microsoft recommends Azure Migrate agentless replication, which uses vSphere snapshots and Changed Block Tracking. The second run happens in the cutover window itself, on the real target, before users return.

The target shapes what to watch for:

  1. On AVS, focus on the network. Check name resolution, firewall rules between AVS and the rest of Azure, and connectivity back to on-premises systems that have not moved yet.
  2. On Azure VMs, also check anything tied to the old hardware or hypervisor, such as licence keys bound to a machine identity, agents and drivers.
  3. On containers, treat the run as acceptance testing of a new build. Expect more differences, and check source-IP-dependent rules and long-lived connections explicitly.

How do you compare results with screenshot evidence?

The comparison takes the baseline run and the post-cutover run for each journey and lines them up step by step. Each step has a result (pass or fail against the expected value) and a pair of screenshots, before and after.

Agents flag every difference and sort it into one of three groups:

DifferenceExampleWhat happens
ExpectedA new server name in a report footerRecorded and accepted in the pack
CosmeticA font or layout shift with the same dataReviewed by the application owner
FunctionalA missing value, an error message or a failed stepRaised as a defect in Azure DevOps

The pairing matters more than the pass mark. A screen that "passes" can still show a blank field that used to hold a value from another system. A person reviewing the side-by-side screenshots spots that in seconds. A person reading a log line saying "step 7: pass" does not.

Which integration checks matter?

Integrations are where a move is most likely to break something, because each one depends on addresses and rules that live outside the VM. Check each integration in both directions, and check the data, not just the connection.

  • APIs called by the application, and APIs it exposes to others
  • file transfers, shared folders and EDI exchanges
  • email sending, through whichever relay the application uses
  • database links and reporting connections
  • single sign-on and directory lookups
  • printing, label and document output
  • backup jobs and monitoring agents
  • partner allow-lists that name your old public IP addresses

Some integrations run rarely. A monthly batch, a quarter-end extract or a year-end process will not run during a weekend cutover. List them, schedule a check at their first run after go-live, and keep the old environment available until they have passed.

The best integration test runs through the user interface. Our anonymised release-testing client has agents check what appears on screen at each step, including data that arrives through integrations. A journey that shows the right order status from a connected system has proved the integration end to end.

How do Azure DevOps defects get raised and verified?

Every functional difference becomes a work item in Azure DevOps, so fixes are tracked in the same place as the rest of the delivery work. The flow mirrors the bug verification we run for a client today:

  1. The agent raises the bug with the journey, the step, the expected and actual result, and both screenshots attached.
  2. The team triages it and links it to the cause: a firewall rule, a DNS record, a configuration value or the application itself.
  3. Once a fix is deployed, the agent repeats the original steps on the target and records what it sees.
  4. The work item gets the steps, the new screenshots and the result.
  5. A person closes the item, or reopens it with the evidence attached.

A bug is only reported as fixed once an agent has repeated the original steps and seen the correct result. That rule stops "resolved" tickets from reaching the go or no-go meeting unchecked.

The method step by step

StepWhenWhat happensOutputWho decides
1. Agree journeysBefore the wave is plannedOwners list business-critical journeys and integrationsJourney registerApplication owners
2. Build testsBefore baselineAgents create or update UI and regression tests for each journeyTest suite per applicationTest lead
3. Baseline on VMwareBefore migrationAgents run all tests at least twice and record screenshotsBaseline resultsTest lead accepts
4. FreezeBaseline to cutoverNo releases, or a fresh baseline after any releaseChange freeze recordChange board
5. Rehearsal re-testBefore cutoverSame tests on a migrated copyRehearsal difference reportMigration lead
6. Fix and repeatAfter rehearsalDefects raised, fixed and verified in Azure DevOpsClosed or accepted defectsApplication owners
7. Cutover re-testIn the cutover windowSame tests on the real target before users returnCutover difference reportTest lead
8. Evidence packEnd of cutover windowResults, defects, exceptions and rollback position collectedEvidence packPrepared by agents, checked by test lead
9. Go or no-goEnd of cutover windowDecision makers review the packSigned decisionChange board
10. First-run checksAfter go-liveRare jobs tested at their first runUpdated packApplication owners

Cutover checklist

CheckPass whenEvidence
Baseline is currentNo release since the last baselineVersion recorded in both runs
Rehearsal defects closedEvery functional defect is closed or formally acceptedAzure DevOps query
Rollback is readyThe source VMs can be restarted and the steps are writtenRollback runbook, named owner
DNS and certificatesNames resolve to the target and certificates are validAgent step log
Firewall and NAT rulesEvery listed integration connectsIntegration check results
Partner allow-listsPartners have confirmed new IP addressesPartner confirmations
User journeysAll business-critical journeys match the baselineDifference report with screenshots
IntegrationsData arrives and leaves correctly, checked on screenScreenshot pairs
Scheduled jobsJobs due in the window have runJob history
Backups and monitoringFirst backup succeeded; alerts reach the right teamBackup report, test alert
Rare jobsMonth-end and other rare jobs scheduled for a first-run checkCalendar entries
Sign-offsOwners and change board have signedSigned decision

What goes in the evidence pack?

The evidence pack is the document the go or no-go meeting reads. It should let someone who was not in the cutover room see what was tested, what was found and what is still open.

A complete pack contains the journey register and test scope, the baseline results, and the post-cutover results with the difference report. It includes screenshot pairs for every flagged difference, the integration check results, and the Azure DevOps defect list with each item's status. It closes with the accepted exceptions (each with an owner and a fix date), the rollback position, and the sign-offs.

Keep the pack after go-live. It records the state of each application on the day it moved, which helps the managed service team and any later audit.

Where do people stay in control?

Agents do the repetitive work: running tests, capturing screenshots, comparing runs, raising and re-checking defects. People make every decision that carries risk.

  • Application owners approve the journey register, because they know what matters.
  • A person reviews each flagged difference and decides whether it is expected, cosmetic or a defect.
  • People close or reopen Azure DevOps items; agents only add evidence.
  • The change board makes the go or no-go call from the pack.
  • A named person owns the rollback decision and can make it at any point in the window.

We also recommend that agents have test access only, with no rights to change production configuration. Fixes go through your normal change process.

What AI testing work has Veriland already done?

Our VMware exit case study covers the migration side: an oil and gas company in Scotland left its own VMware infrastructure by three routes. The testing capability this method relies on is published separately. In our anonymised release-testing case study, agents test every release of a client's own applications before it ships. They run the regression suite, test the affected journeys through the user interface with screenshots, and verify every Azure DevOps bug fix in the running system. The client's team makes each release decision, and 15+ testing roles are no longer needed.

That work is release testing, not migration. The mechanics carry across unchanged: a baseline, a re-run, a comparison with screenshot evidence, and defects verified in Azure DevOps before a person closes them. Our VMware exit service builds that testing into every migration wave.

Sources

  1. What is Azure VMware Solution?, Microsoft Learn
  2. Portable VCF licensing reference for Azure VMware Solution, Microsoft Learn
  3. End of General Support for vSphere 8.0 (KB 459135), Broadcom
  4. Azure Migrate support matrix for VMware discovery, Microsoft Learn
  5. Azure Migrate support matrix for VMware migration, Microsoft Learn
  6. Server migration overview, Microsoft Learn
  7. What's new in Azure Migrate, Microsoft Learn
  8. Windows Server containers on AKS FAQ, Microsoft Learn
  9. Windows and Linux containers on AKS, Microsoft Learn
  10. Harvester VM import add-on, Harvester (SUSE)
VMwareMigrationAI TestingAzureAzure DevOpsCutover

Want Every Application Tested Before and After Cutover?

We baseline the business-critical journeys on VMware, re-test them on the target after cutover and hand you the evidence pack for the go or no-go decision.

Book a VMware Exit AssessmentRead the VMware Exit Guide
Or call us directly: 01625 569 777