Software testing has been rapidly growing over the past several years and here are some software testing trends to be aware of in 2017.
More Open Source Tools-As more pressure is placed on reducing expenses, more software testing teams will look at alternative options in reducing software testing licensing. Adoption of open source tools will continue as Agile and DevOps practices evolve. This software testing trend will continue for the next several years.
Test Automation Growth-Most software testing organizations already have some test automation practice in place, however, there will be a focused effort to increase the amount of automation that is in place. Companies will continue to focus test automation in the areas of smoke testing and regression testing. Where companies can, they will use automation tools such as Selenium and Appium.
Performance Engineering-There will be additional attention in the area of performance engineering due to additional data demands and production level failures related to system performance. Companies will begin to require performance testing to be completed prior to production implementation.
Digital Transformation-More attention will be place on customer satisfaction and this will require a digital transformation with the customer workflow. This will require extensive amounts of software testing to ensure that the customer has a positive experience. This transformation will go across multiple systems and require security in terms of the customer data. In most cases there will be a mobile component to the digital transformation.
Big Data-Explosion of demand for data due to IoT devices and additional data in order to make better business decisions will require new technology to support the additional capacity. Software testers will need to be able to learn more about Big Data and will need to verify that the data is correct before it is consumed. Platforms such as Hadoop will need to be learned. This will require a solid test data management practice.
Cloud-Continue cloud adoption will grow as more traditional companies such as insurance and finance begin to slowly transform their business to the cloud. This transformation will continue to evolve for the next several years. Software testers will need to understand more about public, private and hybrid cloud solutions. Software testing companies will also look for software testing platforms to help them accelerate software testing.
Agile/DevOps-Most companies will have Agile as the default software development lifecycle. As Agile continues to take shape, companies will begin to focus on building DevOps practices. This will also include Continuous Development and Continuous Integration. The DevOps approach will help to build collaboration across teams and help increase the amount of automation used in developing and deploying software. In addition, most companies will start to integrate Security as a part of their DevOps practice.
I hope this list helps. It will be interesting to see where software testing heads as we look at 2017 and beyond.
In Agile the team normally consists of the BA, Developer, and Tester. It some organizations, the tester is responsible for manual, automated and performance testing activities. That is a lot of responsibility for one person but it does happen in small IT organizations. In larger organizations it gets a little more complicated. I have setup multiple testing departments and I create a shared services model for both automation and performance work. The tester works with those teams and identifies automation and performance testing efforts. I do require that if the test case is going to be automated, it needs to provide the right amount of detail so the automation team will be able to script it properly. I also like the manual tester to execute and pass the test case before it is automated. Input in terms of the stability of the code is also needed, otherwise you can burn a lot of hours having to constantly update changing automated scripts. The beauty of this model is it allows multiple Agile teams to leverage automation and performance skills. As more automation and performance testing is needed, those shared services team will grow creating a model that can scale.
The Agile teams don’t typically need dedicated resources for automation and performance testing, so hours are only used when needed. To keep in line with the Agile methodology, I have both my automation and performance teams create Sprints for the work that is needed so I can closely measure how things are going within a given timeline. Since the effort is shared across the team, they follow standard Agile principles and have their own series of meetings, demos, and retrospectives to ensure communication is flowing across the team. They also may participate in some of the meetings such as daily stand ups for the projects they are supporting.
I have adjusted this model a bit to fit the needs of each organization. It has worked well and I will continue to use it moving forward. The teams like the approach and it has helped to build stronger teams using this approach.