The software testing community has experienced the exciting year of 2017 with many trends taking shape. Amid both hypes and actual applications of artificial intelligence (AI) and automation, many developments and challenges in software testing through the year deserve our attention. They include a continuing trend in adoption of DevOps and test automation practices and tools, increasing test automation for web applications along with new and more powerful test automation tools introduced to the market, remaining difficulties in managing test data and environments, shortening release schedules, and the lack of time for testing.
In reference to the state of software testing in 2017, we here make bold predictions of trends of software testing for 2018 and beyond.
- Increasing Adoption of DevOps
DevOps is a set of practices that aim to reduce the time from development (Dev) to operation (Ops) while ensuring the quality of software. According to Google Trends, as shown in the figure below, DevOps has gained an overwhelming interest over the past five years. This trend likely continues in the next few years. We will see more organizations employing DevOps practices more fully. As DevOps practices emphasize on automation and integration, more practices and tools are introduced to support automated testing and continuous integrations.
- More Utilization of Test Automation
Although test automation is an essential part of DevOps, it currently only accounts for less than 20% of software testing activities according to World Quality Report 2017 – 2018. Organizations mainly focus on functional UI and regression testing.
Test automation is seen as the main approach to shortening the testing and delivery time. The capability to integrate with DevOps toolchains becomes a must-have feature of test automation tools. Most major open-source and free tools such as Selenium and Katalon and commercial tools as Ranorex and TestComplete now support integration with many DevOps toolchains like Jenkins, GIT, and JIRA.
- Combining Manual and Automated Testing
Although test automation is a hot keyword today, manual testing is still dominating in the QA and testing industry. This state of software testing makes it hard to address challenges in ever shortening delivery cycles and complex test environments and data. Combining manual and automated testing practices and tools is likely a continuing trend in the next few years. Right testing strategies are those that take advantages of both manual and automated approaches.
- Intelligent Test Automation and Analytics
AI and machine learning techniques have been applied to software development to improve the productivity of project teams and quality of software. Given recent advancements and growing applications of AI and ML in practice, there will be more intelligent test automation technologies and tools that are smarter in generating test cases, test scripts, test data, and in maintaining and reusing test scripts. They would also bring advancements to formulating test scenarios, predicting application behaviors, and predicting areas and levels of test. Intelligent testing tools will need to offer smart analytics to help better diagnose faults and visualize test results and overall product quality using multi-source data.
Refer to the Dzone report for the Best 10 automation testing tools that cannot be missed in 2018.
- Increasing Mobile Test Automation
The utilization of test automation in software projects is now at a low level. For mobile test automation, it is even lower. There is a current lack of right methods, tools, and devices to perform automated testing of mobile applications. The increasing shift away from desktop and web towards mobile applications along with ever shortening time-to-market requires software organizations to increase the application of test automation for mobile applications. Emerging mobile test platforms and tools such as Kobiton and Sauce Labs may offer advanced and right capabilities to make mobile test automation more executable and affordable.
- Shortening Delivery Cycles
Rapid changes in technologies, platforms, and devices pressure software development teams to develop, test, integrate, and deliver faster and more frequently. Software needs to be delivered and deployed daily instead of monthly or weekly. Software organizations will invest more in improving their development and delivery processes and methods as well as employing a right set of DevOps tools. This demand will derive the growth of DevOps practices and tools which leads to further utilization of test automation in QA and testing.
- API and Services Test Automation
The main utilization of test automation now focuses on UI testing. A majority of API and services testing is currently performed by developers manually. The trend will be an increasing application of automating API and services testing processes, at a greater pace than automating the UI testing process. Independent testers who are equipped with intelligent and easy-to-use tools will be responsible for API and services testing, helping to reduce time-to-market while improving software quality.
To support smart testing and analytics, data has to be gathered from different sources and phases in software development, such as requirements management systems, change control systems, task management systems, and test environments. We will see test automation and management tools offering features to integrate with various ALM toolsets and test environments. This integration allows smarter decision-making concerning software testing and quality.
This article offers the bold predictions of trends in the next few years. As any prediction can be wrong, the trends here may suggest opportunities and challenges for us in the software industry.