With the universal adoption of DevOps and Agile, software testing is undergoing a huge change. Digital transformation is sweeping the landscape and organizations are moving to test earlier into the product development scope with the shift-left strategy. This has forced the Quality Assurance pros to learn new skills to keep pace with this flurry of developments. That said, Software Testing’s role has become more critical in ensuring that substantial value is delivered to the customer. Let’s take this opportunity to look at the world of software testing in the year ahead of us.
What will continue?
Digital transformation and Agile testing
It has become the norm for companies to implement the agile methodology to develop software and systems. With a sprint-based approach, all the modules must be continuously tested before it is being delivered at the end of the sprint. Expect testing to stay very much an on-going process throughout the development.
As mentioned, testing has become an ongoing part of the development process very much. The coming of DevOps has meant that product development (and delivery) has become continuous -and so has tested. This helps in continuous improvement, monitoring, and deployment of the software while being developed. Continuous Testing will continue revolutionizing the testing process.
Shortening testing life cycle
With Agile and DevOps, there is no separate testing phase as such. Products are iterated fast and versions are released often. This means that modules are developed and tested in tandem. The bad news for product development and testing teams is that the time to test will continue to crash, even as the quality expectations from the software products rise.
Automation is coming to the rescue of time-strapped testing teams by making testing faster. Tools like selenium are helping automate the writing of test scripts. This is enabling testing teams to focus on test case creation. This year, expect Test Automation to start creating some magic in tandem with Machine Learning (more about that later). This combo can help define fit cases for Automation -for eg. logs could be analyzed to identify the most recurring type of similar use cases as Automation candidates.
What will emerge:
- ML in testing
Machine Learning and Artificial Intelligence will start making an impact on the testing and assurance space. We have spoken of how this can help define what parts of the testing can be automated. Also, along with identification of the obsolete as well as the retention-worthy use-cases, ML can also help identify the areas which need to test more as they may be prone to failure. This will help prioritize and direct the testing effort -immensely valuable when testing cycles are shrinking.
- Big Data testing
Big Data will become a primary concern in functional and performance testing. With Big Data and Analytics becoming a staple for organizations of all sizes, huge volumes of data are being created, stored, accessed, and processed. It will become critically important that systems and applications scale up. There is also the need to validate the volume of data for its veracity and quality. Data management will become another key testing concern as will data security.
- IoT testing
IoT use cases are becoming more and more mainstream. Telematics in the automobile industry is already mainstream. Most manufacturing firms are implementing IoT across the board. It is only logical that IoT testing has become a part of the quality landscape. IoT devices will need to be tested for integration, usability, security, and performance. The data will also have to be tested for integrity as this will be pivotal to the success of the IoT implementation. All manner of enterprise systems will have to be tested as they will have to hook up to the IoT solutions.
- Performance engineering
Performance testing will be replaced by performance engineering. This is more than testing for speed and scale. Architectures like Microservices are shifting the goalposts. Software is being delivered in self-sufficient and coherent modules. The focus is shifting to making the larger picture come together. Along with how each module works, it is imperative for the testing folks to understand how all the pieces work together. Testing will have to factor in which modules deliver maximum value and which are the priority to ensure that the best value product is delivered.
Data is flowing in from so many disparate systems. This will need to be integrated with the system being developed. Various modules along with data and systems will need to come together to provide a superior experience to the customer and deliver value. Many systems will need to be interconnected and they will have to work seamlessly together. This makes Integration testing one of the key items to focus on.
- Hybrid of manual and automated testing
This is the year that the myth of 100% Automation of testing will die an unlamented death. It will become the norm to synergistically leverage a smart combination of manual and automated testing. Automation will focus on repeatable, volume testing scenarios, and manual testing will focus on more creative and intuitive issues -all being equally important to product success in the age of the demanding customer.
- Increased used of devices testing on cloud
In 2016, for the first time, the mobile internet users were more than the internet users accessing from conventional desktop devices and that balance has continued tilting in that direction. This makes it imperative to test products from that perspective. Testing will focus not only on access from devices but also usability, user experience, and accessibility from multiple devices, OS’, form-factors, and screen capabilities. Cloud services like AWS will make virtual devices available over the cloud for comprehensive and economically testing.
Software products will focus much more on the user starting 2019, and the software testing will have to follow suit. Call it evolution or call it revolution -software testing in 2019 will be a strategic as well as a challenging task!