Software Testing Trends | 2018 Edition
Part of my job is to look at the growing and popular trends within Software Testing. As part of this I’ve tried to keep track of upcoming trends I’ve noted on social media, job websites, job descriptions, testing news and anything else I can get my hands on. I’ve tried to highlight here what I’d consider the Top Testing Trends of 2018…
Open Source Software is more popular than ever
Let’s face it, open source software is pretty cool — whenever I try to find a tool or app to help in my testing I will always include the word Open Source in my Google searches.
Usually it’s free (under the right licensing agreements — always check this) it’s also way easier to give feedback to an open source project or even contribute directly to the project yourself if you’re feeling brave. You can usually reach out to the community or put a bug report on GitHub to tell the devs that something isn’t quite right.
Over the last couple of years it’s felt like the days of heavy licensing fees are slowly creeping into the distance (aside from bespoke enterprise software) we’re arming ourselves with enough open source tools and established standards that we can apply the learnings to pretty much any project we’re on. Standards like OAUTH and Swagger; why try to reinvent the wheel if there is a perfectly good (and usually well documented) one for you to use.
People want fast applications
People have always wanted fast applications, that isn’t new. What is new however is the shift in people’s expectations of their applications. Not too many years ago it was an accepted standard within software development departments that a website was ‘performant’ if it responded within 10 seconds
That kind of response time simply won’t meet anyone’s expectations in this generation of IT. Akamai ran a survey a while back on users expectations for application performance and revealed that:
- 40% of users expect a load time of <2 seconds
- 30% expect a visible response (something appearing on the screen) within 1 second
- 18% expected an instantaneous response
With figures like this it’s easy to see why Performance Testing is also in an increasing demand, knowing how performant an application is becomes one of the chief concerns of the wider development team and therefore a skill that companies are asking for from their Testing Teams. Learning how to compliment your Testing with performance testing tools like JMeter, Taurus or Gatling can really help you add value.
SDETS are the new hotness
With a mixture of technical expertise, testing experience and usually a strong foundation of a coding language or two under their belt it’s no wonder that the sheer demand for Software Development Engineers in Test (SDET) is on the rise. IT Jobs Watch shows a significant rise in the popularity of this role within the last 12 months alone.
They are the swiss army knife of Testing, able to bridge the perceived gap between Testing and Development. Usually they focus mainly in Automation in a chosen language (C#, Java etc) but the term is now being used to describe Testers with enough technical skill to solve difficult problems on a short term basis within projects.
It’s a new avenue within the industry that people can pursue, learn more technical skills and add more value to their team, their company and career.
TCoE is dead, long live DevOps
Honestly the Testing Centre of Excellence never really felt like it took off in the first place personally but the DevOps culture and subgenre of IT has exploded in the last year or so. More and more dedicated and specialist people are migrating from Administrator or Tech Support to DevOps Engineer.
Blurring the lines between roles even more sometimes is that the Testing role sometimes crosses over to that genre. If a Tester wants to monitor an application they may learn on the skills practiced by a DevOps team in order to get something like Prometheus and Grafana to check the health of a system.
Mixing development, technical support, implementation and monitoring the DevOps culture encourages involvement from initial stages of a project to live and beyond.
Embrace the Cloud
I’m the first to admit ‘it’s not really a cloud, it’s someone else’s computer’ but there is no denying the growing trend within agile teams as they adopt cloud based solutions. Previously seen as the realm of start-ups and the solution to smaller issues, services like Amazon Web Services and Azure are offering more and more tools and services that allow monolithic companies to embrace cloud solutions.
Specific migration services and teams dedicated to cutting the operation costs of larger organisations are making it easier to leverage the ‘power of the cloud’ for your organisation.
There is a learning curve however, not all cloud providers are created equally and it’s best to have people within your organisations to champion this approach and to be on hand for administrative duties.
Internet of (hacked) Things
It’s hard to ignore the sheer number of people writing and speaking about how dangerous the Internet of Things could potentially be. When people think of the IoT they normally think of things like smartphones, smartwatches that sort of thing but really it’s anything that has an active internet connection. Your thermostat, your doorbell, even your door lock!
Even the water filter system within the very office I’m currently sat in to write this, that’s connected to the internet. I don’t even know why!
These aren’t science fiction anymore or even ‘coming soon’ they are here and purchasable by consumers. They all have an active connection to either the open internet or at the very least your own network at home. This all sounds like great convenience, right? And you’re right — if everything worked 100% of the time and no software bugs exist then these devices would make our lives exponentially better.
But then if that was the case, all us Software Testers would be out of a job, wouldn’t we…
With cyber-crime being at a 63% increase since 2017 it’s easy these days to imagine someone accessing your personal files without your consent; but what about your IoT devices? Imagine someone hijacking your thermostat, logging the information within it and knowing when you set your ‘away from home’ timers?
Or your security system, if someone gained access to that they would, at best, be able to view your home through the cameras and at worst be able to disable the devices remotely.
Security issues have always been present but now with the explosion of IoT devices it’s becoming more and more end-user (or customer) facing. Companies are only responsible for the security of their devices, not the overall security of your network.
The rise of the Engineer
Testers have always gotten a bad reputation in the past. I’ve been in my fair share of teams that treated Testers as a ‘necessary evil’ or as people who ‘just pressed buttons and watched things work’ so it’s warming to me to see a great change within Testing. The rise of the Engineer.
I covered this in my post How to Ruin your Software Testing Career; Become QA but identifying yourself as a Software Testing Engineer is an important step to self identity within the IT and Testing industry. Testers are usually no longer happy sitting there performing manual testing day in-day out, they want more technical skills. As a bear minimum they want Automation experience, or API experience.
More and more Testers now want to bridge the gap between the testing they have done traditionally and more specialised testing like Load or Security and this is an excellent thing, having more technical skills floating around your product team is never a bad thing.