Non-functional testing

Completed

Non-functional tests should be measurable. They’re meant to optimize the solution to work in the best possible manner. Some non-functional tests include:

  • Penetration testing
  • Performance testing
  • Accessibility testing

Penetration testing

Penetration testing will test how a hacker can get access to your system. It helps you determine how a person or technology might gain access to your system when they shouldn't have access. Additionally, you’ll discover how easy (or difficult) it's to penetrate your system defenses. In most cases, Microsoft handles this type of testing when you choose Dynamics 365.

Performance testing

In a performance test, you should test speed, scalability, and stability. A performance test lets you observe how the system will perform when under expected load conditions. You need to make sure that the system can handle the maximum amount of use without being slow. For example, you can create a test to state that if up to 5,000 users are accessing the solution, then you still shouldn’t have a load time of more than five seconds. You need to make sure that no components will make the system too slow. For example, perhaps you’ve created a code component that wasn’t created optimally and that slows down your system. In this scenario, if your system had multiple delays that caused it to slow down, then your users will notice, and they’ll complain. You need to do the performance test to check that your system is running optimally and with the required and desired speed.

When testing for scalability, you’re testing to ensure that the performance of the system can handle increased users, data volume, transaction amount, or number of transactions. You’ll determine whether your system can scale up or down without going slower or without failure.

If your solution goes down and can’t be accessed, then it can have big consequences for your customer. For example, your customer is an event provider. They’re using Dynamics 365 Customer Insights - Journeys to handle their events and Dynamics 365 Finance to collect payments for their events. If Dynamics 365 Finance doesn’t work as expected when they have 10,000 people trying to register for their main event, they and their customers won’t be happy.

You can’t only test with one user or one customer in mind; you need to simulate multiple users and having many customers at the same time.

Accessibility testing

Accessibility testing will help you determine whether anyone can use your solution or not. If a person has a visual impairment and uses a screen reader, or if they can’t distinguish colors, then you need to create a solution that accommodates their needs. You need to make sure that everyone has access to and can use your solution. For that reason, you should always consider any potential challenges that users might have when accessing the system. Microsoft is increasingly creating more tools that test accessibility. An example of accessibility testing is the screen reader; try it out and note whether your solution can be used with a screen reader or not.

Humans can do much of this testing. However, some tests, such as performance testing with multiple users and multiple customers, will require you to use tools that are built to help you do testing.