New year and new trends. One more article talking about what to expect in 2019! Is it worth a read? Yes, if you are in the digital transformation continuum and dealing with delivering quality software continuously. While software testing has come a long way, from just an afterthought, or a thumb rule approach of spending 10 – 20 % of your development efforts on testing, now, software testing is part of a continuous cycle with a more evolved, active, ‘fit-for-purpose’ strategic role.
While the speed of digital transformation has accelerated since early 2000s, the technological advancements in IOT, Bots, voice assistance, and AI have completely changed the scope and scale of software development.
Each year the dominant technology and digital transformation trends shape and influence the role of software testing. Or what QA and testing mean in the current context. Let’s take a look at some of the broader software testing trends and themes that will dominate the scene in 2019.
1. DevOps-led Digital Transformation
The DevOps movement celebrated 10 years in 2018. This methodology has not only matured in a decade, but also gained momentum as businesses realize the value of speed and collaboration in the age of digital transformation.
Since Continuous Integration (CI) and Continuous Delivery(CD) are the cornerstones of DevOps success, both software development and testing have evolved to enable the continuous deployment pipeline. This is what a typical DevOps lifecycle looks like:
- Development teams write code. The entire development process is split into small dev cycles that help the teams to speed up delivery.
- Building and deploying the binaries in a QA environment
- QA teams using tools to identify and fix the bugs in each sprint
- Integration of new functionality with existing code and testing again
- Deployment to production with an integrated, seamless flow
Clearly, automation of build, deployment and testing play a vital role here. And so does the use of CI/CD tools and test automation tools. With renewed emphasis on customer experience and a fast-moving product lifecycle, DevOps provides the right culture and processes to succeed in the ever-transforming landscape. With continuous testing paradigm, tech leaders in QA domain are working to bring in automated test case generation, better test coverage, seamless feedback loops between Dev and Ops, and continuous optimization of test projects to deliver quality much earlier in SDLC. The next topic explores the role of AI and ML in delivering this outcome.
2. AI and ML – backed Intelligent Test Automation
The tipping point in software testing or the third wave in test automation as many call is Artificial Intelligence and Machine Learning led Intelligent Test Automation. Using a scientific approach and the power of data and analytics in testing, it has great impact on the scope and range of software testing.
This is because AI and ML drive automation more effectively, bring innovation and optimize QA efficiencies beyond the scope of traditional testing.
How? BOTs enabled and AI/ML based testing learns continuously from your data(both manual and automated) often in real time and uncovers insights that were previously impossible. Connecting these dots delivers remarkable business value.
So, leveraging data from your systems like bugs, resolutions, source code repository, rest cases, logging etc. you can identify problems faster and altogether prevent them.
From automated test creation using rules to risk coverage optimization, prioritizing testing, and predictive and prescriptive analytics to deliver better customer experiences. All the while maintaining faster time to market and higher ROI.
Listed here are only some of the benefits of using AI and ML-backed automation.
- Predictive and Prescriptive QA
- Improvement of test strategy
- Reusable framework that aids prioritization of test cases
- Optimization and automation of test case design
- Maximum test coverage and test depth
- Intelligent Result Analyzer for automated error bucketing
- Removal of duplicates and dead test cases
3. Shift Left and Shift Right
Neither Shift Left nor Shift Right are new terminologies or trends in the software testing parlance. But a combination of both approaches is what seems to work for many organizations looking at CD and performance testing benefits.
Traditional testing that occurred toward the end of the dev cycle caused bottlenecks and did more harm than good. Shift Left Testing shifts the focus on quality much earlier in the development cycle to enable prevention rather than detection.
By involving the QA team sooner, you can catch defects and identify problems earlier in the cycle, leaving enough time for fixing issues and preventing them from becoming too complex or costly.
Whereas Shift-Right is when you test in production for functionality, performance, fault tolerance and customer experience by using controlled experiments.
The benefit of testing in production as opposed to test environments is that you can test for unexpected events like crashes, failures, performance problems and flawed user experiences.
The emphasis now is both on shift left testing(to enable early and continuous testing) and shift right(to address performance and user experience issues).
4. Performance Engineering
Move aside Performance Testing, 2019 is all about performance engineering. The focus will shift from executing performance test scripts to identifying potential performance issues much earlier and creating a strategy to deal with them beforehand.
Performance engineering requires all the elements of the system to work together in sync. This comprises performance, security, usability, software hardware, configuration, customer experience and business outcomes. This means aligning and integrating all components to make sure they achieve their intended aim.
With the rising complexity of applications and a growing number of DevOps/Agile teams continuously deploying apps, performance engineering will be the norm. You need to monitor and manage the performance of the app throughout the lifecycle to ensure stability and integrity of every additional component.
5. IoT Testing
Internet of Things is all-pervading now with wearable tech, infrastructure and development, healthcare, smart homes and industrial internet among various other uses. As hyper-connectivity becomes the new normal, the number of connected devices by 2025 is predicted to be 1 trillion.
It is not just the astounding number of devices that use IoT but new tech like RFID, NFC, Z-wave and more advanced technologies evolving each year. IoT test approaches have also evolved and require a different set of tools and techniques altogether. The focus is on security, usability, connectivity, compatibility and performance testing.
Testing is uniquely challenging because of the device interaction module, the hardware-software mesh, real-time data testing and atypical nature of the software. IoT testing will dominate the scene as 2019 gets underway.
Organizations face many challenges and choices today as technology evolves and digital economy grows. Adopting the right trends, tools and processes will help them to stay on top of their game and stay competitive.