Over the last few years, there has been a rapid growth in adoption of digital technologies across all industries. IDG research states that 85% of enterprises have plans for, or have already adopted a digital first strategy. The same research also states that 62% of enterprises believe that delivering an excellent customer experience defines success in digital first business.
Products in the market today are connected and available with innovative and new age functionalities, providing compatibility with mobile and other devices. OT and IT convergence has also led to an explosion of devices, connections, systems, data or internet of everything. The product lifecycle for the connected world is complex and companies face great pressure to stay competitive in the market. Delivering a unique customer experience has become one of the differentiators for product companies.
In such a scenario, the quality assurance function plays an integral role in delivering an exceptional and hyper customized user experience. However, there are a number of challenges with the traditional way of testing; for instance, rapidly evolving product requirements, taking care of a fragmented development pipeline, release cadence, test coverage for multiple product variants and connected applications, testing product performance and security.
There are no feedback loops to continuously improve the product, and this increases the cost of rework. Traditional testing strategy, V model of verification and validation, or a siloed testing approach cannot address these challenges. A holistic test automation strategy that can adapt to digital reality is needed.
Product test automation accelerates time to market and increases test effectiveness while ensuring total test coverage and efficiency gains. There are various test automation methodologies like DevOps, open source test automation, device virtualization or proprietary framework development, which are used as part of a connected product test automation strategy.
Test automation with DevOps is about workflow automation across all phases of product development like build, deploy, release, test and monitor. DevOps automation focuses on reducing test cycle time and improving the uptime and availability of products. DevOps also ensures effective collaboration across different hardware, firmware, software and testing teams in a scrum-of-scrum or multi-site agile implementation.
Tools like Git, Maven, Ansible, Jenkins, Python etc. can be used to automate the continuous integration and continuous deployment pipeline. Docker and Kubernetes are heavily used for test environment automation and DevOps orchestration. The culture of continuous testing with DevOps also encourages SDET (software developer in Test) methodology. This, in turn, helps to uncover defects early in the product development life cycle reducing cost of quality.
Further, for products that utilize cloud infrastructure, tools like Graphite, Grafana, PagerDuty can be used for continuous monitoring and incident management and resolving field product issues. Slack can be used for chatops or collaboration automation. Test automation has now extended to writing chatbots and opbots for managing test operations.
End-to-end regression testing for a product and connected web or mobile application consumes majority of the time to ensure the existing functionality is not broken, as and when new product variants are introduced in the market. Operational costs shoot up in setting up test environment in various forms. For example, setting up test infrastructure or test labs to house multiple product variants, related software applications, and then test the end-to-end use-case. Regression automation including device virtualization, API virtualization and DevOps touchless automation can lead to significant cost savings in such a scenario.
Functional test automation with Python and Ruby scripts provides complete test coverage right from the product user interface and database to the applications and cloud.
Test automation for connected web and mobile applications is also necessary to save testing efforts. Open source tools like Selenium and Appium are utilized for the same to save licensing costs on enterprise tools. The Robotium tool can be used for product UI test automation.
The next leap in test automation will be in utilizing machine learning and AI driven frameworks. For example, automating Alexa integration with any product can save huge amount of testing efforts.
Considering these developments in the field of quality assurance, we can say that organizations are constantly evolving their test strategy and innovating new avenues around product test automation to align with their digital business model.
Urvashi Babaria works as Product Marketing Manager at eInfochips, focusing on marketing to Wearable tech, IoT, home automation, consumer electronics and ISV industries. Urvashi has 8+ years of experience in strategy, transformation and presales functions. She holds an Engineering degree from Nirma University along with an MBA from Great Lakes Institute of Management.