At Happiest Minds Technologies, we have been researching and developing solutions to make quality engineering more effective and efficient, without any increase in the existing process, documentation or manpower overheads. In this journey, we explored agile, lean and six sigma models in depth and devised accelerators to automate all the quality assurance and control processes from vertical slicing of feature stories to auto-generation of test cases and scripts while capturing the right metrics and providing early risk assessment.

Our Test Design Automation solutions helped tremendously in defining ‘Just In Time’ quality for our clients and our very own 90 Day Plan to Transform your Test Automation enabled the streamlining & optimizing of the engineering workforce with a strong focus on superior quality right from the start.

We pioneered a model based test approach and are continuously evolving to help customers migrate their legacy test artifacts to a leaner, meaner and effective repository ensuring the current-state to future-state migration is defect free and smooth. We believe in the openness of quality management systems and our automation accelerators can be directly plugged in into any legacy Test Management Systems.

SOLUTIONS

The goal of rapid application testing is test early and test often to ensure the highest quality is met throughout the software lifecycle. Getting immediate feedback on the impact of the newer changes incorporated is crucial. Predictable quality, defect prevention, high test coverage, early feedback and DEV-QA collaboration are some of the key outcomes.

Expert recommendations from Forrester and Gartner on testing efforts are oriented more towards testing the API layer than focusing at the UI level. API test suites don’t rely on the UI to be ready and can be created early in the development lifecycle. By testing and certifying the APIs, the business logic of the applications are validated without looking at the front end or the UI aspects. The inclusion of API testing as part of the test strategy ensures that no critical defects in the application ecosystem slip past the radar.

API tests are less brittle, easy to maintain, implemented earlier and executed faster in the sprint cycles. Testing the API is a suitable approach and a better fit for continuous testing and agile and DevOps cycles. Our test pyramid encourages having as much automated unit tests; API & integration tests and only a handful of UI automated tests. Script-less API automation should be the way forward for automated testing and certifying of the application interfaces.

Happiest Minds approach to API testing

As the Engineering teams are developing the APIs, the business keywords are captured automatically and converted into test cases with optimized data combinations.

The resultant test suite will certify the working of the APIs and can be easily reviewed and extended.

The API test suites are generated on the model based test approach, which makes it very quick to accommodate frequent new changes. If an element or attribute name changes, just update it once, and that change is automatically propagated to all associated tests.

Coupled with Test Data Optimization, all possible data combinations are evaluated ahead of time to eliminate any last minute data oriented defects.

The already built SoapUI / REST based tests can be automatically imported into our model based test generator utilities to generate test cases accompanied by business keyword libraries and optimized test data.

API test cases can be reused across all channels (mobile, cross-browser, packaged apps, etc.). The end-to-end tests will be complemented with exploratory testing.

When automated tests are created and maintained by a different group from the developers, there is no force acting on development teams to help write software that is easy to test. Retrofitting automated tests onto such systems is painful and expensive, and poorly designed software that is hard to test is a major factor contributing to automated test suites that are expensive to maintain.

It all starts from feeding the Unit, Functional and Non-functional test keywords along with the respective automation scripts into the version control systems like GIT. The CI system monitors the changes continuously and triggers off the automated execution of Tests (functional and Non-functional) in parallel as soon as the commit or updates are done. This leads to a chain reaction of tests on the applications being tested and the logs are continuously monitored and parsed for any anomalies. In tandem, the Key performance indicators (KPIs) keep an eye on thresholds set for performance flags.

State of the art reporting systems onboard take metrics as input and generate user friendly test results to feed back into JENKINS for publishing to relevant stake holders. All of this happens at the speed of light and the press of a button.

Continuous Testing and Delivery can help large organizations become lean, agile and innovative. Continuous Delivery ensures reliable, low risk releases. It makes it possible to continuously adapt software to be in line with user feedback, shifts in the market and changes to business strategy. Test, support, development and operations work together as one delivery team to automate and streamline the build-test-release process.

All levels of verification and validation are done within the scope of Continuous integration. If there are defects, it goes back into the feedback loop for development teams to provide a fix.

STAGE 1: As soon as the automation test scripts are committed to the version control system, the primary build is triggered on the ‘Development’ environment. Static code analysis scans the code for quality, safety and security.

STAGE 2: Once the availability of test scripts are a success, the test infrastructure is created with Device farms and virtual instances followed by a trigger of the secondary build of the ‘Test’ environment. At this stage all integrated microservices are validated for correctness and followed by the Build verification tests (BVT) and non-functional test execution.

STAGE 3: Once build verification tests are complete, the ternary build is triggered on the ‘Pre-production’ environment followed by the full end-to-end regression test execution.

With a layered approach, immediate feedback is provisioned with primary, secondary and tertiary build triggers. The delivery pipeline shows how the team delivers changes to production and also provides a one-stop shop for project quality. The automated tests are made to be part of the delivery pipeline and run frequently by embracing the concept of failing early. Continuous Delivery increases confidence with software releases, as delivery of the features is purely a business decision.

A large part of the customer delight equation boils down to accelerating the release of high quality software. The objective is to ensure agile delivery by embracing Continuous Planning, Continuous Development, Continuous Integration, Continuous Deployments, Continuous Testing, Continuous Monitoring and Continuous Feedback.

At Happiest Minds, our solutions support automated test orchestration and ensure rapid application development and deployment with the help of Continuous integration, continuous testing and continuous delivery. The risk of testing is reduced early and the focus is on delivering high quality software with testers involved early in the process. This ensures uniform understanding within agile teams. Careful addition of testing and reporting into the automated release processes will enable informed business decision making with the stakeholders.

Our key solutions in DevOps include the following.

DevOps readiness evaluation: Assess the current structure and processes of DevOps adoption, and tools against the DevOps maturity model and recommend roadmap for continuous delivery.

The world has moved towards hierarchical and organized representations of requirements just so there is uniformity in the understanding that BAs, Developers, Testers, Product owners and many others have. On a parallel thread, plain text, easily compressible and archivable specifications facilitates better analysis and easier vertical slicing of requirements.

With our unique Test offerings and services, our automation framework PRO-TEST and integrated test engineering utilities can decipher and interpret Markdowns, Gherkin specs, models and auto-generate all necessary test artifacts along with end-to-end scenarios with optimized data feeds. The resultant test suite is easily understandable eliminating any possibility of rework and once again significantly improving the overall test efficiency and quality.

Our quality teams leverage on the auto-generation of smart optimized test scenarios & scripts, and focus on exploratory testing. In today’s rapidly changing technology landscape, we have ensured that we shift left on the product and testing delivery rather than be left behind.

Quantifiable Outcomes of Test Design automation:

Turn around time for testing reduced by 40% with readymade models for Enterprise and consumer business verticals.

On boarding, Ramp up, & delivery test processes become easierand more

Requirement coverage and Traceabilityincreased by 23% on an average.

Overall defect rate can be corrected up to 44%

The figure below depicts our shift left approach towards testing along with our test accelerator suite to release products quicker with reduced time to market and highest ROI.