By Jatin Sukhija, Test Automation Consultant at Provar
If you work in QA software testing, you’ve probably heard co-workers mention at least one of the following in planning meetings:
“We need to accelerate our sprint schedule. That means we need to cut the number of days allocated for testing.” “We’re still working on fixing bugs from the last release. We don’t have time to start testing new features under development.” Or, “In-sprint testing sounds great in theory, but how can we really make that happen?”
In the era of agile, everyone wants to develop their software faster and more efficiently than the last sprint. That usually means less time for development and even fewer hours for testing.
As a testing engineer, I’ve helped many customers successfully implement in-sprint testing best practices and many have talked about facing the same challenges.
Common challenges faced by development and QA teams:
- Additional stress due to accelerated sprint timeframes
- Frustration related to finding the right technology to support in-sprint automation
- Lack of technical expertise to build the testing framework
Identifying an in-sprint test automation strategy
But it doesn’t have to be that way. By adopting in-sprint test automation best practices, you can do what was once unthinkable. Develop new features AND create automated regression tests in parallel. To do just that, here are my top strategies that you can use to overcome in-sprint testing challenges and how Provar can help you implement in-sprint test automation within your organization.
Strategy #1: Develop a collaborative approach
One of the most impactful strategies that I’ve seen companies implement to accelerate the dev cycle is really just about a change in their mindset. And it doesn’t cost anything. Some of the most successful clients I’ve consulted with worked to create a culture of collaboration. Developers work side-by-side with testers. Ideas are shared. Planning meetings include representatives from all of the key stakeholders that contribute to sprint planning, execution and testing.
One of the biggest benefits? Developers can build new functionality with key testing goals in mind. For example, if the testing team identifies the most important workflows that require regression testing, the engineering team can prioritize that functionality throughout the development process. You can start designing your test cases within the design phase itself.
Strategy #2: Combine and consolidate test cases
The image above illustrates the testing pyramid which illustrates the various levels of testing in order of importance, with Unit Testing as the most fundamental level. Unit testing is incredibly helpful in that it isolates specific modules of functionality. By creating and executing tests that are designed for each individual function and procedure, you can create a more comprehensive testing environment that pinpoints areas of risk enterprise-wide.
On the flip side, this can create a time-consuming approach to test case development. Creating individual unit tests can slow development and testing given the sheer volume of scenarios and use cases required for testing. Does every button or click-through deserve its own test case? In many instances, the answer is no.
To speed up your automation activity, take a hybrid approach. How can you take those individual unit test scenarios and instead combine them to create a larger, more diverse test?
For example, Provar gives you the flexibility to combine your UI and API tests steps together in the same test case. Let’s say that you are creating a job portal and you want to verify whether a candidate can apply to multiple job posts. While you can go through the UI of each job post and check whether a candidate has applied, that is a very time-consuming approach.
As an alternative, you can create a testing scenario which uses the UI to simulate how a user can apply to a job post and then uses the API to check whether it was successful. By combining both in a single test case, this eliminates the need to iterate that process for multiple different job posts.
Above: An image illustrating how to combine UI and API tests in Provar. The test steps highlighted in blue represent the API step to create a case. The test steps highlighted in green represent the GUI verification of the same case created via API.
Strategy #3: Build tests before new features are deployed using a continuous iterative approach
If you are looking to implement an in-sprint test automation strategy, it all starts with the basics. Building tests before they are actually needed.
Here is a common scenario. The development team says that they are going to add two new fields (X and Y) to the Salesforce Account object in an upcoming sprint. If you have already collaborated with all of the stakeholders and discussed the requirements, you can design your test case while the feature is in development.
Above: How your test will look in Provar when combining UI and API test steps.
Since X and Y fields are under development, we will add the dummy steps for these fields in the Provar test case and disable them as shown in the above picture. (Don’t worry, even if someone runs your test case before the fields are available, it won’t fail since these steps are disabled.) In the beginning, when you are setting up your test data using the Set Values test step, you can set the values for both the fields.
Congratulations! You have created your test case even before the feature is deployed! Once those fields are available, you can set the name of the field in the control section of the test step, as shown below.
Then you can enable both of the steps and run your test case.
Strategy #4: Leverage a code-less testing platform to accelerate testing and keep pace with dynamic Salesforce environments
Switching from a manual to an automated testing approach is a no-brainer. You can test exponentially more scenarios using a methodical approach and in less time. But, you still need to carefully consider HOW you are going to implement test automation. There are pros and cons with each approach.
If you are testing a relatively static environment, hard-coding your tests may help you meet those basic testing requirements. Testing platforms that are extremely dynamic and rapidly changing, like Salesforce, require a different and more nimble strategy.
That is one of the reasons why so many of our customers choose Provar. It’s code-free and natively adapts to Salesforce updates. What does that mean? Tests created with Provar organically adapt to Salesforce UI changes and don’t require rework or extra maintenance – saving you loads of time.
Provar is also designed to support testing earlier in the agile development process with seamless integration with leading CI/CD solutions and Salesforce release management tools.
Implementing an in-sprint test automation strategy with Provar
With Provar you can actually test as quickly as you build. Using a technology-enabled approach that prioritizes test automation throughout the development lifecycle, you can radically accelerate your dev processes, create a more collaborative culture internally and bring great ideas to market more quickly, safely and effectively.
To learn more about using Provar as part of your proactive in-sprint testing automation approach, contact us today.