Test Automation and Salesforce
Part 1 - A match made in heaven?
Highly customized application development environments, which support varied end user interfaces is in demand. With agile coming into picture, and in parallel the space for end user experience increasing in magnitude to provide gestures, swipes, zooms to entice users, attempting to make it as close as the real deal. Salesforce has ventured just from another solution for CRM application, to providing a full fledged UI solution space to build such applications, its ‘Lightning UI’ being the latest of the releases. Organizations which have adapted to Salesforce, extracts enormous benefits with its fast delivery cycles and continuous improvements. Frequent deliveries, with new features facilitate us to either use them or create our own for a quick valuable delivery.
Testing a weak link
So we have taken care of the development but what about our testing? Are we ready to test such a dynamic environment, which is changing frequently and the scope is also humongous due to varied end devices into picture. Have we burdened our already overworked testing team by introducing all this agility, this jazziness’ of the UI.
The answer is sadly Yes! So will testing be the weak link which will be limiting us to obtain the advantages of Salesforce. The reason is not unknown to us, we all understand the shortcomings of the manual testing activity. And why it is not a good idea to rely on manual testing alone to support agile and Salesforce environment. To be on the same page, a few points are being listed -
- Manual testing is costly for repetitive testing activities.
- Manual testing takes time
- It is open to human errors.
Anyone experienced in Sales Force implementation would tell you the pains of manually testing your service cloud after every customization made to your Org or after each new Salesforce release
It’s time, we feed some spinach to our weak testers, and give them the power of automation, so that they are as ready as the other teams and can support and take the burden of the Salesforce application process development, and controls.
Sales Force Test Automation - the question is not why but How...
So we understand that , automation is the spinach our testers need to prepare themselves[i am a big fan of popeye cartoon, so the usage of the word spinach] . So now the next big question..Which Test automation tools to use? Will it be wise to adopt open source solutions like Selenium to automate the Salesforce application. Can we treat the Salesforce application as any other web application, or is there some peculiarities to application of this nature. Well, looks like there are, and using just any random solution for automation is a sure shot recipe for disaster!
A UI which is dynamic, it means that the object description keeps changing, so test scripts tightly bound to UI are going to fail frequently increasing the maintenance cost.
Test Data – we need data to test Salesforce app, and with every test run the data becomes a misuse. To rely on the UI of the application to generate data, is a big no – no. Not only it will delay the tests execution time, the cost of maintenance will also increase. And if we can bypass the UI for data creation activity, we should and we can by automating the API calls for data creation
New lightning UI Controls – Sales force classic UI controls have changed in the Lightning UI. Related lists, lookups, overlays etc which is built using the ‘aura open source framework’ different than what the classic sales force apps are built using. This framework helps making app independent of data, and has self contained component entities and event entities which helps in creating more controls and allows end user to assemble and create own controls, thus adding to the complexity of test automation tools, which no longer recognizes the traditional simple web controls.
Looks like we are in a situation, where we have the lock and a bunch of keys but they don’t fit it in!
So we understand that we will need automation of the testing process, and we also understand that the traditional test automation tools and approach will not work with Salesforce.
So what could be that magic potion for our testing team, to empower them to bear the burden of the change?
What could be the most important feature we should be looking for in the solution to overcome the challenges mentioned above?
Well, to end it by saying the solution is aptly named OpKey. Do read our next article in series to understand how this key unlocks.