Salesforce is a CRM (Customer Relationship Management) platform that provides organizations with the ability to manage all sorts of customer-centric aspects of their business, like marketing automation, customer service, analytics, application development, and much more. What started out as a simple, straightforward cloud-based CRM tool quickly grew. Salesforce has continued to evolve, expand, and bring new offerings to their clients. Today, companies can build their own custom applications, services, portals, and solutions with Salesforce products like Platform, Experience Cloud, Commerce Cloud, Customer 360, to help automate and personalize the customer experience. And like any web application or website, organizations have the responsibility to carry out Salesforce performance testing to ensure they are functioning properly, are responsive, and can scale as their user base expands.
Do you need to load or stress test your Salesforce applications, web pages, or other services? We work with clients all over the world looking for a solution to run performance tests for their Salesforce environments. Contact our team and let us show you how LoadView can help!
LoadView can test your Salesforce applications, web pages, APIs, or other web services.
Lighting App Builder: A Low-Code Application Framework
Salesforce, specifically its Lightning App Builder platform, considers itself to be a low-code application framework, but what does that mean? Low code application frameworks help reduce the amount of technical knowledge for a developer who might not be a complete expert developing applications. In this way, almost any developer could easily create a Salesforce application without having to rely on a lot of heavy lifting, in terms of knowledge and previous experience. Depending on the requirements of the application, low-code frameworks provide a variety of microservices to choose from to configure the application. This can also free up time for teams to focus on more important tasks, reduce application backlog maintenance, and keep the team more agile.
It should also be noted that there are no-code application solutions. Like the name suggests, no-code solutions cater to individuals that have little to no experience creating applications. Examples of these are applications for website or ecommerce design, where users can choose from pre-built modules or features. Nothing must be built from the ground up, but that also has its disadvantages, especially when we think about enterprise security, compliance, and performance at scale. Application frameworks, like Lightning App Builder, are a great option. They provide developers with the best of both low-code and no-code worlds. The ability to build and deploy user-friendly cloud-based applications, while offering no-code microservices, like security and compliance features, offers complete peace of mind. Not only for business, but users as well.
Salesforce Performance Testing: An Overview
You might be wondering, if Salesforce is hosting my applications and taking care of all the back-end infrastructure, security, compliance, etc., then why do I need to carry out Salesforce performance testing at all? Shouldn’t their environment be able to scale for me? What else is left to do? Well, there are many reasons to not just “set it and forget it,” but the most important reasons to test your applications against the Salesforce infrastructure to know how they would perform in situations where traffic increases. You want to ensure if that happens, there is no performance degradation. Maybe your organization is going to run a huge marketing promotion. Or a video went viral about your SaaS (Software as a Service) platform and now everyone wants to know about it. Perhaps your application is more seasonal in nature, relying heavily on the Black Friday through Cyber Monday shopping holidays. So, with that in mind, you must start thinking about planning for the unexpected. So, what kind of performance test should be carried out? Let us look at the different types of performance tests to get a better idea.
Types of Performance Testing
Performance testing is a type of non-functional testing. Other types of non-functional testing include security testing, reliability testing, compliance testing, compatibility testing, and others. While load and stress testing are the most common types of performance testing, there is sometimes confusion between the two. Let us look at the different types of performance testing and what differentiates them each other.
Load testing is the most common type of performance testing that people are familiar with. Load testing seeks to understand how much load can be put on a software until performance degrades.
Like load testing, stress testing takes a load test to the next level. Stress testing is conducted to push a system or software until it breaks. This way, performance engineers can understand how the system responds and recovers.
Volume Testing, sometimes called flood testing, is a type of testing method that tests a large amount of data against an application to see how it responds and if there is any abnormal behavior.
Spike testing is like stress testing, but instead of a slow, continuous increase of users, the application is flooded quickly with concurrent users to gauge how the application can handle this sudden increase of load on the system.
Also sometimes referred to as capacity testing, scalability testing seeks to understand how an application performs as user load increases and decreases. This can help determine if there is a need for additional infrastructure to meet future demands. The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load.
Like a marathon, endurance testing tests how your application handles extended periods of sustained traffic. Also called soak testing, these tests can be performed over several hours, days or weeks, depending on the requirements of the application.
As you can see, the type of performance test you choose will depend on the performance objectives or goals of the application. However, no matter the test, the goal is the same – to uncover performance issues like stability, responsiveness, and scalability under load. You do not want to find yourself in a situation where hundreds or thousands of users are using your application(s) and they suddenly come to a grinding halt. And if your applications are hosted in the Salesforce environment, you have less visibility, control, and time to react if something like that happens. Remember, not only does Salesforce have to support your performance requirements, but all the requirements for thousands of companies, which add up to billions of transactions every day.
However, with those kinds of demands, you can be sure that a multi-tenant platform like Salesforce is continuously monitoring their infrastructure to ensure they are always within SLA (Service Level Agreements) performance thresholds to maintain performance and compliance for their customers. However, that does not mean you can forego Salesforce performance testing altogether. While Salesforce may be confident that their platform can scale, you still need confidence that your applications and pages will hold up as your company grows and expands.
Salesforce Test Plan: Best Practice
Salesforce takes performance testing seriously. Failure to follow their internal policies and procedures could result in throttling and blocking. And no one likes that. For that reason, performance tests cannot be executed on the production environment. Tests must be done in a sandbox, or isolated environment, so that it does not disrupt any other Salesforce users. Additionally, performance tests must be submitted for approval at least two weeks in advance of the testing date. Any request submitted sooner than two weeks may be denied. From the perspective of Salesforce, their responsibility is purely to monitor your test for abnormal behavior to ensure their services do not experience any issues. The process for Salesforce performance testing generally follows these steps below.
Gather Testing Requirements
At this stage, you will want to create a basic outline of the test that will serve as the roadmap. It is here that you will want to include specifics, such as the application under test, specific user persona scenarios, environment-specific questions, expected average response times and system utilization, SLAs, etc.
Develop the Test Model
The test model is simply a representation of what you think will happen during the actual performance test. Based upon the initial requirements of your test, what do you hypothesize will happen? The test model is used as a forecast of what will happen during the actual performance test. Make sure to take baseline performance metrics before the test. This can be used later to compare how your pre-test projection matches the actual test results. If the test did not match your expectations, you can review the results and see what may have affected the results in the hypothesis.
Select the Right Performance Testing Tool
When it comes to selecting the right performance testing tool for the job, the tool you choose is dependent on factors like budget, time, expertise, test use case, etc. Conventional load testing tools are not enough for today’s modern platforms and applications. All of us here at LoadView think our platform provides everything a performance engineer needs to successfully test their Salesforce applications. For example, a lot of applications are focused on providing a great user or client experience. The only true way to fully understand the user experience is by having the ability to script user personas and execute tests that match real-world scenarios.
What is the Best Salesforce Performance Testing Tool?
Unlike open-source load testing platforms like JMeter or Gatling which do not provide enough features and flexibility, or complex and expensive solutions like LoadRunner from Micro Focus, LoadView is purpose-built to meet the demands of today’s ever-changing applications. The solution provides features like an easy-to-use script recorder, testing in real browsers, multiple load test curves, global testing locations, and other enterprise-level features to easily set up your tests to match real user behavior in the browsers they use. However, you can also configure protocol-based performance tests for web services and REST or SOAP APIs. We will talk about the EveryStep Web Recorder in more detail in the Develop the Test Scripts section below, but for a complete list of features and benefits, visit our Features page.
Design the Salesforce Test Plan
The Salesforce test plan will need to include a full description of the performance testing environment, along with specific measurements and metrics, such as start and end time, transactions per second (TPs), ramp-up and/or ramp-down time, and any other specific testing information. Salesforce will not provide any test results for you, so it is important to use a solution that provides comprehensive reports and dashboards, like LoadView, so that they can be analyzed in greater details and shared with stakeholders, if necessary.
Develop the Test Scripts
Test scripts are a crucial part of the Salesforce load testing process. And as such, great care should be taken to ensure your scripts are bug and error free. However, you should note that Salesforce will not review your scripts to ensure they are accurate or if they adequately reflect real-world scenarios. As we touched on earlier, the LoadView solution provides a point and click scripting tool called the EveryStep Web Recorder. This scripting tools makes recording complex user scenarios and client-side interactions a breeze.
Simply open the recorder and start recording keyboard actions, mouse clicks, hovers, and movements. Navigate through your applications exactly like your users do. The recorder saves each step. Features of the recorder also include the following:
- Support for over 40 desktop/mobile browsers and devices.
- Web application language and framework support – HTML5, Java, Ruby, React, etc.
- Dynamic variables, such as login/password.
- Customize user behavior, delays, and think time.
- Support for CAPTCHA and OTP (One-time Passwords).
- Form submissions and menu selections.
- Crypt variables.
- Content verification (image and text).
- And much more.
Once your script is complete, the scripts will be replayed to ensure that there are no script or network errors. Additionally, you can manually edit the scripts, if necessary. Try the EveryStep Web Recorder for yourself!
Run the Test
Finally, we get to the fun part. Once you have finalized the steps above, you will need to formally submit a performance testing request through Salesforce. Remember, you must submit and schedule your test at least two weeks in advance of the testing date. To schedule your performance test, you can follow the steps below.
- Log in to your Salesforce account.
- Navigate to the Help portal.
- Select Network and Performance > Notify Salesforce of an upcoming activity.
- Click on Schedule a Performance Test
Furthermore, you will also need to have your Salesforce test plan available to provide additional information to the Salesforce team, such as:
- General overview of the Salesforce performance test, such as time/date of test.
- Key contacts and personnel.
- Test justification and specifics about what is being tested and why.
- Metrics like transactions per second (TPS) and ramp-up plan.
- The ID of the Salesforce sandbox where the test will take place
- And anything else that you feel is relevant about the test.
Analyze the Results
After the test is complete, you will want to be able to capture and share the results with internal team members and stakeholders. Fortunately, if you are using the LoadView solution, reports and summaries are created automatically after the test.
View summary report data, as well as element-level components, waterfall charts, session information, and an overview of the script that was executed, to get a comprehensive picture of the performance test results. Furthermore, for web application and web page tests, you can view a recording of the test as it would appear to users, so you can see how your application or page behaves under load.
Conclusion: Salesforce Performance Testing
Do you need to load or stress test your Salesforce applications, web pages, APIs, or other web services? We work with clients all over the world that require Salesforce performance testing. No matter the situation or Salesforce environment, whether it is a UAT or pre-production environment, or you need to test behind the firewall, the LoadView platform has you covered. Our clients have told us they prefer the LoadView over other popular load testing solutions they have tried, like BlazeMeter, LoadRunner, or JMeter when setting up Salesforce load tests.
Our performance engineers and support team can work with you on test creation, scripting, and planning so you have everything you need before running your Salesforce load test. Our team is here to guide you through any part of the Salesforce performance testing process. Try LoadView for yourself or schedule a demo with one of our performance engineers to see everything LoadView has to offer.