Software testing is a very different animal from what it was just 10 years ago. There are more devices, with multiple versions of software, not to mention apps which must be tested in addition to browsers. The tech landscape is constantly changing, with new processes and tools, and constant updates to technologies, meaning testing isn’t the bolt-on that it’s often mistakenly seen as - but an integral part of the software development cycle.
In fact, these days, testing can sometimes take more resources than the development process itself due to multiple browsers and devices. On the other hand, what may take three days in development, could be tested in a few hours - which is why it’s vital to be clear on requirements from the off.
The biggest influencers of change in recent years
- Agile testing - the software development practice that promotes frequent, automated testing of new code as it is completed, ensuring defects are fixed as soon as they are found, is one of the biggest influencers of change in testing. This makes it much easier to identify and isolate problems as the product evolves. Given that software product development can be dynamic and many factors can impact performance and vulnerability, this is an important capability of testing.
- Clarity and planning - as software development becomes more complex and dynamic, projects increasingly run at speed within tight time frames, which can impact requirements being less defined than they could be. Unless requirements are well defined, this can always lead to challenges between whether something is a defect or a change.
- The strawman - when it comes to documenting a project, these days more focus is placed on building a ‘strawman’ in order to show a starting point (rather than a detailed plan), which will be modified as required. This leads to change and a constant chain of development and testing and can work really well if a team is well structured and everyone is focussed on the same end goal, but not necessarily if the team is constantly changing.
- Apps - these are now more prominent, so websites and apps have to work in conjunction with each other. This adds extra complexity to testing, for example, when logging in on an app, you tend to stay logged in, on a website you log out. Some functions work better on a website than an app, so things have to be tailored for both.
- Biometrics - Password1 is no longer a standard test fallback option. Biometrics are changing the face of security and access control, and new methodologies and approaches to testing are constantly being developed.
- Automation - may be even more prevalent, but there will always be a need for manual testing.
The past few years have also seen changes in the methodologies and tools testers use, some of them game-changing. For example, JIRA (X-Ray) test suites allow testers to script and link tests to requirements. This can then show clients the method of testing and give visibility as to how much testing is required, coverage, etc.
It’s a similar story with DevOps, where test suites etc can be created and reported upon.
What makes a good software tester?
Testing has changed a lot since I started 20 years ago. And whereas learning automation is key, this mustn’t take away from the fundamental basics of analysing, scoping and testing.
Adaptability, approachability and an inquiring mind are key to success in this role.
It’s perfect for someone with an interest in how things work. In turn, a software tester will always be at the forefront of new technologies, whilst enjoying client interaction as they analyse requirements and improve processes.
The opportunities to learn are significant. There’s always a way to improve a process, there’s always a new system, there’s always a new tool. Testing allows collaboration between development and business, and there are pathways to both. There is also the opportunity to specialise in certain roles, such as security testing, pen testing or automation, to name a few.
Getting into testing
I got into testing in order to improve processes and make my own job better. As it turned out, it opened up a new career for me.
I have a degree in English, so I’d certainly not say a tech degree is necessarily required. Learning on the job is a great way to get into software testing, but having a good grasp of technology and an analytical mind is an advantage.
Software testing is now seen as a popular and potentially lucrative career field. But if people are interested in following a career in testing, it’s worth going into it with their eyes open - which means understanding what a project lifecycle looks like and where and why testing is important. Testers may be more focussed on particular technologies, or within certain areas, such as mobile/app testing only.
Companies can create more opportunities to develop the next generation of testers by establishing test practices and processes, offering apprenticeships in this area, and, of course, embracing equality. After all, a dynamic sector requires a dynamic workforce.
Discover more about our approach to software testing.