Edge Hill Knowledge Share

Teaching University Students About Real-World Software Testing

Recently, three members of our QA community here at AO went out to a local university to talk to second-year Computing students about Quality Assurance. The three AO QAers were all previous students at the university, with one of our most recent new starters graduating less than 12 months ago. We wanted to give back and share how much there is to learn in testing!  
Previously testing has barely been taught, if at all, at universities. So, when an opportunity arose to share our experiences and stories with students, we of course jumped at the chance!   
We wanted to show students how QA is done ‘in the real world’ and how we assure quality here at AO. We covered where testing sits now within the software development life cycle and how this looks at AO.  


What does it mean to ‘shift left’?  

Previously, most software teams approached work with a waterfall model, with testing being done at the end. In a shift left approach, testing is performed earlier in the development cycle. This helps identify and prevent problems earlier in the process.  

To give a practical demonstration of this, we asked the students to take part in a ‘shift left exercise’ where all members of a typical software development team (a BA, 2x Dev, and a QA) would sit in an assembly-line and flip a dozen coins before passing on to the next member of the line, all the while being timed. Following each round, the QA would ‘shift left’, becoming closer to the start of the process at each round. Our aim here was to demonstrate in a very basic fashion, how involving the QA at the beginning of the process found ‘bugs’ (or in our case defective coins) earlier, and reduced the time to complete features, compared to having QA at the end or later in the process.  


So why wasn’t QA taught at university?  

When we were all at uni, testing wasn’t really talked about (in fact we all kind of stumbled into it as a career). Testing may have come up as an area in some web development modules, but as a standalone focused class it was, until recently, unheard of. Because the focus was always on development, and testing seen to be secondary, it led students to believe that testing only ever encompassed unit testing, with wider considerations such as how tests fit into a continuous deployment pipeline, and how coding and development knowledge can be used to help test, never being covered.   

We’ve all been impacted and become frustrated by a bug on a website or application that stops us doing what we want. Depending on the scale of the issue this can really damage a company brand and result in lost custom. Educating students on how and what to test during university is well worthy of a module! And we’re glad to report that many Computing degrees at Edge Hill are addressing this – the class we went into was a dedicated module called “An Introduction to Software Quality Assurance and Testing”.  


Why now?  

Well, in recent years testing is shifting from a last-minute afterthought, to being included at the start of all conversations. With the shift left and shift right movement, the QA community is growing. Quality is no longer a ‘tick box exercise’ at the end of project, it’s a necessity for a healthy product.   

As testing seems to suffer from many misconceptions, we wanted to make sure we addressed these; for example ‘testing is done at the end’ or ‘it’s for people who can’t code’. We wanted to show students who are looking to get into testing that it’s an activity that lives throughout the software development process, that testing starts before the first line of code is even written, and having the ability to be able to code is a huge asset in regards to automation.   


Summary  

To finish the class, our very newest QA Engineer discussed how she went from recent graduate to QA, the skills needed, what she’s learnt along the way, and the expectations she had before becoming a graduate QA Engineer.  We all told students how the awesome the QA community is (better than any other in our biased opinion!) and if you’re looking to learn more about testing then we’d recommend you get in touch with us here at AO, and also take the opportunity to attend some of the great local meetups,  from Test Bash Manchester and Ministry of Testing Manchester, or various other events hosted by the Ministry of Testing!