Create test plans
Testing your app is the next step in your Canvas App deployment. This unit will help you understand the basics of how to carry out your testing. Let's consider three types of testing to include in your testing plan.
Types of tests
Unit tests
A Unit test is the smallest component of testing. It's used to check whether a specific function or feature of your app is working.
End-to-end tests
End-to-end tests are used to check whether the overall solution runs correctly. They're important because even if all unit tests function correctly, the integration between units can potentially fail. Perform end-to-end tests by following a test scenario that's close to the use case of the actual business process.
User acceptance tests
A User acceptance test (UAT) is done by the user of the app instead of the maker. This test ensures that what has been built by the makers matches the users' requirements.
Here are some tips to get the most out of your UATs:
Test with the actual users.
Try to choose users with a diversity of IT skill levels. This way, you can get various types of feedback.
Don't give the users instructions; see whether they can understand the app intuitively.
Observe how users navigate the app without assistance to see where you can improve the design.
When a user is stuck on a screen, ask them to explain what their expectation was.
Test on different devices to make sure the test cases behave the same, regardless of the platform.
Test offline capabilities - ideally, test the app in the user's actual environment or location if the app uses offline capabilities.
Ask your test users to try to "break" your app, such as by entering unusual characters in text fields.
Users will typically test the "happy path" (the path a user takes when everything is going perfectly). Ask them to also test scenarios such as canceling an expense report instead of submitting it, or denying an expense report instead of approving it.
Your users might not be familiar with software testing, so let them know what kind of feedback you're looking for. It's often helpful to provide a template for "bugs" to make sure testers explain:
- Exactly what they were doing
- What happened
- What they expected to happen instead
- Any relevant information about their testing environment such as device type and browser.
It's natural and acceptable for the users to request changes to the specifications or ask for more features. These requests should be recorded in a feature list like the one described in Prioritizing features and requests so you can prioritize and incorporate them into the app.
Creating test cases and scenarios
As you plan for testing, consider the important scenarios that you may have identified in the planning and design phases of your Power Apps project.
Your first step is to create the unit tests. Create a separate test for each feature or function, which can be recorded in a table like this:
Test case No. | Description of test | Inputs to test with | Expected result | Result |
---|---|---|---|---|
1-1 | Submit order details from a form | Order No. 16516 | Order is successfully submitted | |
1-2 | Check that a PDF is generated and attached to the record | N/A | PDF file is attached to the record | |
1-3 | Check email notification is sent to user | test@contoso.com | Email is received by the specified recipient |
In summary, a good plan will help your testing go more smoothly. Your goal is to create a test plan that describes the intention and scope of testing, guides the technical review process, and supports a smooth rollout of functionality. Testing plans should be developed before user acceptance testing and include how you will track and make changes needed before rollout.