After studying Computer Science and working as a software developer
throughout university, I applied to join Kainos as a Software Engineer to
continue with what I knew and enjoyed doing.

Taking part in Kainos╩╝ seven week Engineering Academy, which every graduate or placement student who joins us completes, built on what I╩╝d learnt at university and focused on developing me in my role as a Software Engineer – covering topics from SQL, Java and Angular to presentation skills, agile sprints, and testing. At the end of training, I was surprised to be quickly given the opportunity to join a team as a tester. Before this point, I hadn╩╝t ever considered a testing role as an option – from my experience at uni, all I knew testing as was ÔÇśwrite and follow these test cases ÔÇö> fill in this table once you╩╝re done ÔÇö> mark testing as complete╩╝.

Why not just automate everything?

I accepted the offer to join the team as a tester under the understanding that the experience would introduce me to new ways of working and help me become a better developer. Another set of training was prepared for me by the project╩╝s testing team, who all took time and effort to welcome me to the role and answer any questions I had. Since this training period, I have learned more about what testing actually consists of – which was a lot more than what university had led me to believe!

Working as a tester is less to do with automated tests – these should be
made by developers to verify their own work. There is also no manual runthrough of strict scenarios or rules. Testing isn’t manual or automated, just like there are no ÔÇśautomated developers╩╝ or ÔÇśmanual developers╩╝. It isn╩╝t just following any set of scenarios or test cases – just like developers don╩╝t follow ÔÇśdeveloper cases╩╝ (see more here). Instead, testers will choose their own way of:

  • focusing on analysis over execution
  • providing training on testing to the team
  • monitoring testing activities, identifying where improvements can be made
  • foreseeing and preventing problems
  • focusing on edge cases, not checking happy paths
  • enabling the whole team to be responsible for quality

(Taken from the Kainos Test Capability best practices.)

The testing role requires a cycle of exploration and experimentation to
question, study, observe and infer new information about the system in order to achieve the list above. This process highlights vulnerabilities, issues or future problem areas for both the team and stakeholders throughout the whole development lifecycle. The role of a tester isn╩╝t just to follow a set of test cases, but to go further and understand the wider context of the project, anticipating problem areas that could threaten the value of the product for the client. Many serious bugs may go unfixed because the decision-makers of the project don╩╝t understand the bug╩╝s implications – good testers are able to collaborate with the rest of the team to determine which areas should be prioritised and fixed to limit any damage to the project.

Kainos trains testers to be independent and reliable team members, with the freedom to design their own work and take responsibility to account for it. This freedom means that there are as many opportunities to grow and learn more about different aspects of testing as you can make time for. Not only will you be improving your own skills, but you╩╝ll be directly improving the quality of the project and the skills of the rest of your team. In my short time on the project, I╩╝ve been given opportunities to learn using:

*If you want to try out any of these, see if you can make the leaderboard
here!

As a graduate joining the team as a tester, not only has the role widened
my appreciation for what goes in to making good code, but it╩╝s given me the chance to learn from all members of the team (from other testers, developers, webops, agile leads, security engineersÔÇŽ). The support network and encouragement within Kainos to try new roles and grow from a foundation of a Computer Science degree is invaluable. I believe the testing role gives a great opportunity to develop yourself and really contribute to the experience of real users.

Find out more about testing roles at Kainos, and how you could be making a
difference.