Salesforce powers many of the mission critical systems companies rely on. The range of integrations and plugins makes it almost infinitely extensible. However, this extensibility can make Salesforce testing especially tricky. Here, we see how Functionize solves this in a smart way.
In this blog, we are exploring how Functionize simplifies the problems with Salesforce testing. Specifically, we explore the tricky issue of Salesforce integrations.
Salesforce has long been a key element in many companies' customer-facing and backend systems. These systems are typically mission-critical, driving everything from sales and marketing to stock control and HR. According to a recent report, Salesforce powers almost 1 in 5 CRM systems, giving it a dominant share in this $40Bn+ market. So, why has it become such a dominant player? One key reason is the huge range of integrations and plugin solutions offered in the Salesforce AppExchange. They allow companies to rapidly incorporate new functionality into their Salesforce deployment. However, they also raise issues when it comes to Salesforce testing.
Salesforce is really a technology for creating customized applications and business systems. This makes it very different from the classic SaaS solutions out there. A system like Google Docs should just work. Google is responsible for doing all the testing and you, the user, just gets to leverage the functionality provided. Salesforce is different. It is actually a platform on which you can develop any functionality you need. Typically, this involves CRM-type functions, but it can also cover a huge range of other core business activities. This makes Salesforce more akin to a development platform. As a result, you become responsible for making sure everything works properly. And that means solving the problem of Salesforce testing.
Salesforce integrations and apps are designed to simplify life. They offer you pre-packaged functionality, such as interfacing with GDrive, or offering Tableau-based visualizations. You can be reasonably sure the developers of these integrations have tested their functionality. However, those developers have no control over how you choose to leverage their integration. Maybe you are pulling in data from a legacy spreadsheet via Google Sheets. Or perhaps you have created a custom dashboard to allow you to track sales in realtime.
Salesforce testing is always somewhat challenging. Problems include the complex embedded object structure, the end-to-end nature of Salesforce applications, and the need to involve non-technical domain experts. Integrations add a further layer of complexity to this.
You may not be familiar with the term “end-to-end testing” (sometimes called e2e testing). Put simply, it means testing an entire process or application, not just the central functionality. As a simple example, imagine a Salesforce application that takes in data from a file in your Google Drive. It cross references this data with your customer information and then outputs a PDF report. Here, you can’t just test the cross-referencing. You need to test that the data is imported correctly, and that the resulting PDF is generated properly. In other words, you need to test from one end of the process to the other.
This sort of e2e testing is always a challenge for automated testing. That’s because most test frameworks are pretty myopic. They can generally only see what is going on actually within the application being tested. Content that is imported only becomes visible after import. And they typically have no visibility at all of any outputs that aren’t displayed on screen. This gets even more challenging when you are talking about an integration. Here, you are effectively inserting a piece of another application right in the middle of yours. For the test framework this can look like a black hole.
Functionize aims to help you test smarter. We take a really holistic view of testing. If you can see it on the screen, we can test it. If it is there in the background, we can test it. If you can import it, we can use it within our tests. We can even check whether file outputs are the same. We combine this with a unique visual testing approach. This allows you to compare the current state of your application with the state when you first created the test.
The upshot is that testing Salesforce integrations suddenly becomes much easier. Take the example above. When you create your test, you import the file from your Google Drive into Functionize as a data source. This means you can directly use this data within your tests. So, you can compare what is in the application with what was in the file. Our tests can directly interact with embedded content from integrations, making it simple to check everything is working. You can even visually compare elements or whole pages to check whether anything has changed.
If you are ready to leverage Functionize’s smart automated testing, simply book a demo today. Make sure to mention that you are interested in Salesforce testing!