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 test automation sounds great in theory, but how can we make that happen?”
In the era of agile, everyone wants to develop their software faster and more efficiently than in 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 discussed 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. Adopting in-sprint test automation best practices allows you to 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 I’ve seen companies implement to accelerate the dev cycle is 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 key stakeholders contributing to sprint planning, execution, and testing.
One of the most significant benefits? Developers can build new functionality with key testing goals in mind.
For example, if the testing team identifies the essential 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 explains the various levels of testing in order of importance, with Unit Testing as the most fundamental level. Unit testing is beneficial in that it isolates specific modules of functionality.
Creating and executing tests for each function and procedure can create a more comprehensive testing environment that pinpoints enterprise-wide risk areas.
On the flip side, this can create a time-consuming approach to test case development. Creating individual unit tests can slow growth and testing, given the sheer volume of scenarios and use cases required for testing. Does every button or click-through deserve its test case? In many instances, the answer is no.
To speed up your automation activity, take a hybrid approach. How can you combine those individual unit test scenarios to create a more extensive, diverse test?
For example, Provar allows you to combine your UI and API test steps in the same test case. You create a job portal to verify whether candidates 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.
Alternatively, you can create a testing scenario that uses the UI to simulate how a user can apply to a job post and then use the API to check whether it was successful. Combining both in a single test case eliminates the need to iterate that process for multiple job posts.
Above: An image illustrating combining 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 mean the GUI verification of the same case made via API.
Strategy #3: Build Tests Before New Features are Deployed Using a Continuous Iterative Approach
It all starts with the basics if you want to implement an in-sprint test automation strategy. Building tests before they are needed.
Here is a common scenario. The development team says they will add two new fields (X and Y) to the Salesforce Account object in an upcoming sprint. If you have already collaborated with all 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 the X and Y fields are under development, we will add the dummy steps in the Provar test case and disable them, as shown in the above picture. (Even if someone runs your test case before the fields are available, it won’t fail since these steps are disabled.)
Initially, when setting up your test data using the Set Values test step, you can set the values for both fields.
Congratulations! You have created your test case even before the feature is deployed! Once those fields are available, you can set the field’s name 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 systematic approach in less time. But carefully considering how you implement test automation would be best. There are pros and cons to each approach.
If you are testing a relatively static environment, hard-coding your tests may help you meet those basic testing requirements. Testing extraordinarily dynamic and rapidly changing platforms like Salesforce requires a different and more elegant strategy.
That is one of the reasons why so many of our customers choose Provar. It’s coIt’sree 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 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 test in-sprint test automation 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.
Contact us today to learn more about using Provar as part of your proactive in-sprint testing automation approach.