Perform business testing during a Microsoft Fabric migration
Business testing (or user acceptance testing, UAT) ensures that workloads migrated to Microsoft Fabric meet the expectations of business users. While the Fabric migration team facilitates technical enablement, testing should be performed by the users of Power BI reports, Lakehouse data, semantic models, data pipelines, and other Fabric artifacts.
Purpose
Business testing validates that data, reports, and connected workflows operate as expected post-migration. It confirms that:
- Power BI reports show consistent data and performance.
- Semantic models provide accurate aggregates and filters.
- Lakehouse queries return correct and complete results.
- Data pipelines run on schedule and deliver accurate outputs.
- APIs (e.g., GraphQL endpoints) function as before or expose intended changes.
Business user responsibilities
Identify and prepare power users
Power users have the best context for what “correct” looks like. They should be:
- Familiar with the original reports, models, and queries.
- Informed about any architectural or visual changes.
- Provided with expected outcomes, including screenshots or output examples.
Execute tests
Test scenarios should be business-focused:
| Test | Steps | Successful? | Notes |
|---|---|---|---|
| Load Power BI Report | Open in Fabric workspace and check visual load time and data completeness | ✅ | No issues |
| Validate KPI Plausibility | Compare key figures (e.g., revenue, orders) with known values from legacy reports | ✅ | Minor deviation in total sales (≤2%) |
| Query Lakehouse Table | Run predefined SQL query; validate row count and values | ✅ | Matches expected output |
| Trigger Pipeline Run | Execute pipeline manually; validate outputs in Lakehouse and downstream | ✅ | Delay observed in sink |
| Use GraphQL API | Call getCustomerOrders endpoint; compare result with legacy response | ❌ | New format requires frontend adjustment |
| Refresh Semantic Model | Trigger refresh and verify updated values in connected report | ✅ |
Migration team responsibilities
Facilitate testing
- Set up dedicated Fabric workspaces for UAT.
- Provide test datasets or snapshots of production data.
- Ensure permissions for testers are in place (workspaces, pipelines, endpoints).
- Share detailed test instructions and expected outputs.
Capture and prioritize feedback
Use Azure DevOps, GitHub Issues, or Excel to log:
- Visual or structural report issues
- Data inconsistencies
- Permission problems
- Missing or misconfigured artifacts
Respond to feedback
- Classify issues as blockers, minor, or known differences.
- Remediate or propose workarounds.
- Document outcomes and align with business before proceeding.
Notes on automation
Automated testing (e.g., using Power BI REST API, deployment pipelines, DAX query validation) is beneficial but not always available, especially for legacy Power BI datasets. Focus first on human-validated UAT, then optimize for automation in iterative improvements.
Sample Test Table
| Test Scenario | Steps | Result | Remarks |
|---|---|---|---|
| Sign in to Fabric | Open Fabric workspace with Entra ID SSO | ✅ | |
| Check KPI values | Open report and verify that revenue, margin, and customer counts look plausible | ✅ | Values look consistent with previous versions |
| Access Lakehouse table | Query customer_orders | ✅ | |
| Update Power BI report | Edit and save visuals | ✅ | |
| Delete workspace item | Attempt to delete report without permission | ✅ | Access correctly denied |
| Run pipeline | Execute load_sales_data | ❌ | Sink table schema mismatch |
| GraphQL query | Call /api/v1/orders | ❌ | API returns 500 error |