Software testing involves the analysis of software and systems to avert risk and prevent issues. You'll be a valuable asset to a range of industries which rely on safe, functioning software to operate
Software testers are involved in the quality assurance stage of software development and deployment. You'll conduct automated and manual tests to ensure the software created by developers is fit for purpose and any bugs or issues are removed within a product before it gets deployed to everyday users.
Your role is integral to the creation of software systems and technical products including vehicles, electronic goods, defence, and healthcare. You might work on bespoke, individual projects or multinational projects spanning the globe and costing billions of pounds. You'll need to be familiar, or become familiar with, programming and using coding languages.
As a software tester, you'll need to:
- meet with system users to understand the scope of projects
- work with software developers and project support teams
- identify business requirements
- plan projects
- monitor applications and software systems
- carry out stress testing, performance testing, functional testing and scalability testing
- write and execute test scripts
- run manual and automated tests
- test in different environments including web and mobile
- write bug reports
- assess code
- carry out resource planning
- review documentation
- work towards departmental and project deadlines
- provide quality assurance
- provide objective feedback to software development project teams
- trouble shoot and problem solve
- design tests to mitigate risk
- present findings to software development and business user teams
- travel to different project sites
- work on multiple projects at one time
- document analysis
- liaise with project teams in other parts of the world
- communicate findings to technical and non-technical colleagues.
- Starting salaries for graduate-level software testing positions are in the region of £18,000 to £24,000 (depending on location and company size).
- With three to five years' experience, salaries can rise considerably. Software testers earn £35,000 to £50,000 on average.
Salaries vary according to location, technical knowledge and the sector. The City of London and financial services currently pay the highest salaries. Some companies also offer bonus schemes, benefits and overtime payments for unsociable hours.
Income figures are intended as a guide only.
Working hours usually follow a standard office day of eight or nine hours, between 8am and 6pm. However, due to the nature of project work you may be required to work outside these times.
On occasion this may mean working shifts and weekend work. This would be most likely to occur during periods of software deployment or if a project happens to be taking place across a variety of locations and time zones.
What to expect
- Work is mainly office based and you'll spend the majority of your time at a computer.
- Your role may be stressful at times, particularly around the time of project completion.
- Once you've gained adequate experience, you could progress into the freelance and contracting market. This would enable you to select specific projects and work more flexibly. However, working as a contractor may not provide the same benefits and job security in comparison to a permanent employee.
- The IT sector, including software testing roles, has a higher ratio of male to female workers. However, there is a higher ratio of female to male software testers when compared with other IT jobs (such as software development). Organisations working to encourage more females into software testing roles and IT careers include and the .
- Companies employ software testers in many locations within the UK. The highest concentration is in large cities including London, Manchester, Edinburgh and Birmingham. There are also international opportunities, most notably in the USA and India, where a large number of off-shore software testing companies are based.
Software testers often have a degree in computer science or IT. However, the role is open to graduates from a variety of degree disciplines including:
- electrical engineering
You can enter the software testing profession with an HND or foundation degree. A diploma in software, IT, or engineering may be most highly regarded by companies.
You'll need to have:
- strong verbal and written communication skills with the ability to liaise with a variety of stakeholders
- problem-solving skills
- the ability to work under pressure
- attention to detail
- competent technical skills
- the ability to work in a team and individually
- organisational skills with the capability of working towards tight deadlines
- a passion for working with technology.
A number of large graduate employers offer summer internships and year-in-industry placements, which provide the opportunity to gain relevant work experience. Completing such a placement will give you useful professional software testing experience and would expose you to the full development lifecycle.
Some companies run work shadow schemes to give an insight into the software testing profession.
Your university may also have a computing society. Joining relevant university societies will help you demonstrate your passion for technology and may provide other opportunities to meet with companies and industry professionals.
Software testers are required in a variety of organisations and sectors. Large employers with sophisticated software and IT systems will have the most opportunities. Technology companies and smaller organisations also require software testers.
You can find software testing opportunities in:
- financial services
- professional services
- public sector
Large graduate employers may include software testing within their rotational IT graduate programmes. This would give you the opportunity to gain experience in software testing as well as other IT roles (including project management, application support and software development).
Employers with less traditional rotational graduate schemes may offer software testing as a direct entry role where candidates start work as a software tester from day one.
You may wish to consider your preference for style of working before you apply for jobs. Large organisations often have software testers dedicated to one project, while smaller organisations may have a central team working on multiple projects.
Look for vacancies at:
Training will depend on the company you join and can vary from structured training and development programmes organised via a graduate scheme, to on-the-job training and short courses, as required.
The IT sector is ever changing, so it's important that you keep up to date with developments and specific software testing trends.
Joining a professional association, such as BCS, can be helpful and may help to expand your awareness of the IT sector. Membership can also offer opportunities to meet a variety of professionals.
The BCS, along with more than 100 accredited training organisations worldwide, runs a number of software testing courses and professional qualifications. The courses and qualifications are mapped against SFIA (the Skills Framework for the Information Age), which is the UK's government-backed competency framework describing IT roles and the skills needed to carry them out.
At present there are no specific software testing postgraduate degrees offered by UK institutions. However, it's not uncommon for software testing professionals to decide to study a postgraduate IT qualification at some point during their career. Search postgraduate courses in computer sciences and IT.
You may start your career as a software tester on a graduate scheme or via an entry-level position. Career progression can be rapid. The speed at which you progress will depend on your experience, your exposure to different systems, and awareness of testing methods. Professional qualifications and technical skills will help to speed up your progression.
Some software testers progress into senior software testing roles, including:
- senior software tester
- software test team lead
- test manager.
You could choose to specialise by gaining experience within a specific sector, for example, financial services or media. Or you may decide to diversify and develop an understanding of many sectors.
Additionally, as software testers are required to work with business and project teams, you could move into business-facing roles, such as business analysis and project management.
Progression into software development roles is another possible route.