Tips and tricks Best practice guides, FAQ & more
Microsoft Dynamics 365 is a widely used suite of enterprise applications for practically any function within customer engagement, finance, and operations.
With frequent updates to the core and standard applications, Dynamics-users face a growing workload of continuously verifying thousands of business-critical processes.
There are lots of reasons why it can pay off to automate tests that involve Dynamics 365, which you'll learn about in this guide.
If you're curious to learn more, watch our Dynamics 365 webinar on-demand to find out how you can automate your tests.
The various applications in Dynamics work together like building blocks. Different organizations choose different blocks, meaning Dynamics is rarely built in the same way. For example, the needs of an eCommerce business differ from the needs of a physical store, and thereby require different components.
Modern businesses are constantly evolving and adapting to the changes in the market, and the out-of-the-box functionality of the Dynamics 365 applications is not always sufficient for these businesses. Here enters the developer who, hired by these companies, configures the building blocks to meet businesses’ specific needs. And, as those frequently change, this becomes an ongoing process.
It is common knowledge in the software testing world that whenever a developer changes a piece of code, it can affect existing functionality, causing new bugs to emerge. This is why Dynamic´s UI and functionality must be tested, not only when the initial structure of the building blocks has been made, but also each time they’re customized.
Regression: When you fix one bug, but introduce several new ones.
What's more, frequent updates in the applications will lead to the same need for more testing to make sure everything works as it should. Microsoft frequently releases new updates, and sometimes, these updates can break the developer's customizations.
The result is a need for frequent testing due to the (re)structuring of the applications, their customization and external updates.
You can expect to be testing Dynamics a lot, which raises the following question: should it be done manually or automated?
Manual UI tests, for example, would be implemented by a team that sets up a list of expectations and requirements. Then they have to manually click through your Dynamics 365 setup to see if each test passes or fails. This requires substantial resources and time, and there's a significant risk of human error.
When we automate testing in Dynamics 365, a computer runs these tests, speeding up the process, removing the risk of human error, and letting testers focus on tasks that require their skill, such as exploratory testing.
Once we understand this, it's not difficult to see the obvious benefits of implementing automation in the testing process. It will speed up the process and reduce human error while ensuring that business-critical processes are performing as expected.
However, awareness of the interplay between manual and test automation is vital. It might be tempting to automate everything you possibly can, but that doesn’t mean you should.
Some tasks, typically the more advanced, are less qualified for automation. And the benefit of automating repetitive and error-prone tasks is more time for testers to work on what they do best – manual exploratory testing.
Here are a few examples of fundamental processes that can be automated in order to test Dynamics 365:
Dynamics applications often rely on automatic login, where user credentials are transferred from a Microsoft 365 login to the Dynamics application. Testing the login process will allow you to verify features and updates as different users and roles.
Dynamics relies on correct data generation. You can create a test to automatically create new data in Dynamics, such as a new contact in the Sales application. Take into consideration that forms consist of different field types: plain text fields, drop-downs, look-up fields, date fields, and two-options fields.
Dynamics is usually integrated with multiple products and applications. This means that maintaining the integrity of data can be a challenge, especially when entering data from multiple channels. For this reason, it is a good idea to create tests that automatically read and verify data from Dynamics.
You can build tests that automatically find items and data entries in the many lists and views in Dynamics. When using an automation tool, you might want to have the option of inputting values dynamically from spreadsheets, databases, web services, and other sources.
With data-driven automation you can source data from an external spreadsheet, such as a list of contacts, to test with multiple data sources within the same automation flow. Data-driven automation, as opposed to automation that uses data that is hard-coded into the test case, makes automation all the more scalable and allows you to test with unlimited data combinations automatically.
If you’re already familiar with concepts such as “nested iFrames”, “deep object trees”, or “dynamic IDs for child windows” when automating simple processes, you know that Dynamics 365 products are somewhat complex web applications that are difficult to automate using scripts. And, if you are not familiar with those concepts, the scripting of test cases is arguably going to become even more difficult.
For example, just making Selenium WebDriver (a popular testing tool) find the right element in the application requires the tester to spend a lot of time scripting the correct locator strategy.
Automating Dynamics 365 testing using a no-code approach will eliminate these struggles. For example, with Leapwork’s various functionalities, testers will not have to worry about programming languages, such as C# or Java, or even how Dynamics 365 is implemented from a technical point of view. Scripting is replaced with a visual drag-and-drop interface, allowing everyone in the team to participate and conduct tests, while simultaneously saving time.
Did you know that Gartner highlighted Leapwork as a preferred no-code test automation software for Dynamics 365. You can find more information in Gartner's Report: Implementing Microsoft Dynamics 365 Application Using Power Apps and DevOps.
The Leapwork Automation Platform uses Selenium as an engine for automating websites and web applications, but all the Selenium-code for automating tests is generated ‘under the hood’. The tester does not, at any point, have to worry about reading or writing a single line of code. In fact, the tester doesn’t need to know anything about Selenium at all.
According to Gartner, Leapwork "provides the capabilities to define, automate and maintain test cases for Dynamics 365 applications".
For example, with Leapwork’s Capture functionality, the tester can identify a form field in a Dynamics application, and use that object in his or her test cases. This is done without having to worry about programming languages, such as C# or Java, or even how Dynamics 365 is technically implemented.
Example of a Leapwork flow doing data-driven automation of Dynamics 365.
To make things easier and to increase the robustness of automated test cases we, at Leapwork, have added intelligent Dynamics-adapters on top of the Selenium engine. This means that you can use standard Leapwork components (we call them ‘building blocks’) to automate form fields of any kind in Dynamics applications.
Even drop-down fields are handled the same way, regardless of how they are technically implemented in Dynamics. We developed these adapters because we learned from testers that form fields caused headaches when trying to automate Dynamics.
Leapwork's Dynamics 365 Customer Engagement (CE) package contains sample flows so you can get started with Dynamics automation quickly and easily.
The package contains six sample flows that demonstrate how to automate Dynamics 365 CE. Some of the functionality is contained in reusable components, making it easy for you to build your own automation flows.
All sample flow elements come in a zip file that can be imported into your existing installation of Leapwork.
Curious to learn more about test automation and Dynamics 365? Watch our on-demand webinar on automating Dynamics 365 with Leapwork's no-code test automation tool.