Automated API Testing vs. Salesforce SalesCloud or JD Edwards EnterpriseOne
September 18, 2014
2 min read
Parasoft API Testing Simplifies Test Data Management, Automates Continuous Regression Testing for NZ’s Largest Smart Meter Company
This post was originally published on IntegrationQA’s blog.
Advanced Meter Services (AMS), New Zealand’s leading smart meter and meter data management provider, was suffering expensive delays in promoting pending releases from the development environment to the acceptance test environment because of the complexities of managing test data consistency between the integrated CRM, ERP and bespoke systems.
The manual test process involved hours of preparation per test, finding and manipulating suitable data using the system under test before each test could begin. Regressions in almost any area of the system could prevent the setup of suitable test data, costing hours of tester time. The aim was to separate test data management from test execution, and then to add regression testing in the form of automated system testing for the quickest possible feedback.
The processes to be tested transformed incoming web service requests to work orders, manually entered those work orders into the web clients of salesforce.com’s SalesCloud and JD Edwards’ EnterpriseOne, and verified that automated requests were sent to external web services. After discussing their dilemma with IntegrationQA (Parasoft’s partner), AMS decided to create suites of automated tests using Parasoft’s API Testing solution to execute each step in the process from initial request to final validation.
Automating the API Testing Process
IntegrationQA’s Chris Gedye consulted with AMS’s existing test team and developers to design an effective and robust suite of reusable queries, SOAP requests and web application operations, then built them into assets to be leveraged when testing each business process. Messages at each step can be created or validated as required in order to reproduce the entire process automatically.
Test setup was built to be fail-fast, and designed to prevent unnecessary creation of test data if any part of the integrated system was not available. Verifications were added that proved the actual data (in the EnterpriseOne database) and the reported data (in the EnterpriseOne and Salesforce web applications) matched the expected test results. Each test was designed in components that can be run separately, providing both isolated service tests and integrated system tests within a single project.
Extending Test Coverage
The strategies used in creating the test suites can be leveraged by AMS testers to create their own test suites, expanding AMS’ automated test coverage without relying on external consultants. As coverage increases, testers are spending less time repeating the regression tests before every release, and are able to use their valuable system knowledge to look for issues and inconsistencies in new developments. Releases that were previously constrained by the cost of testing are now constrained only by environment availability and time to deploy. AMS is now considering the advantages the service virtualization can offer to overcome those constraints.
Helena Leipnik, Test Lead at AMS, summed up their experience as follows: “We had a choice of taking on two extra testers and treading water, or bringing in IntegrationQA and Parasoft. The choice to automate has paid off almost immediately, and the returns are increasing all the time. We can do more faster using Parasoft and the skilled staff from IntegrationQA.”