Software Testing in School/University


(Heather) #1

One thing we have noticed with our local meetup is the lack of student attendance. Among the meetup regulars some have had school or university students in for placement. The majority of these placement students have never heard of software testing or have but it wasn’t covered in their curriculum.

I saw a post on testers.io slack last night asking about software testing being taught in schools or universities. I know the poster is based in the UK so it would lead me to believe that it isn’t commonly taught over there either. I think this is something that we should work towards addressing as a community but I’m not entirely sure how we would go about it.

So I have two questions:

  1. Do you know of any schools or universities that teach software testing in some capacity? (I’m not referring to certifications here, that’s for a different forum post)

  2. Have you any suggestions about how we should encourage adding it to the curriculum?


CS and SoftEng degrees without Dedicated Modules on Testing / QA
(Mark) #2

Interestingly I was discussing this with a tester on my team in regards to universities teaching Software testing as well as Computer Science/Software development. My personal experience hasn’t been great, I started an online course to gain an MSc in Software development and ended up leaving the course out of frustration. I found the material to be outdated and irrelevant to what I was doing as a tester and developer in my daily job. I was learning UML, writing essays and barely touched any code and the only mention of testing was a single paragraph on Unit testing.

Now others might disagree with me but I feel that universities are so pre-occupied with trying to deliver courses that give students relevant skills in software development, that teaching software testing is a complete lost cause. The industry is changing so quickly with development they can barely keep up (imagine what changes in three years) so that testing is viewed as an aside to development. In addition, if you look at our own industry and the popular methods of training testers, encouraging repeatable actions over context and soft skills, I imagine any universities attempting to teach tester will be encouraged to attempt to emulate that type of training.

The goal of delivering effective training to those coming into software testing is key to Software testing clinic. We are working to get into a position that we can offer students or universities a model of learning software testing that results in students heading into the workforce with relevant skills. I believe we are already seeing the benefits in that based on the success of our current students finding their first job in testing and their progression from there.

Another aspect that I feel gets overlooked is hands-on testing experience in different contexts. My experience of learning my craft was working at different places and learning from mistakes and successes, something I think Software testing training is lacking. My personal dream is to see the Software testing clinic mature to a point where it is able to offer a mixed blend of training that involves both hands-on experiences of testing and lessons in tools, skills and theory, almost like an apprenticeship.

Note: If you want to learn more about the Software testing clinic get in touch with me @mwinteringham or @danashby or check out www.softwaretestingclinic.com


(Heather) #3

I’ve been thinking a bit more about this. I agree with the points you’ve made about the training being outdated by the time graduation arrives. I was wondering if maybe it might fall to the work placement section of the degree for people to get a taste for it. I appreciate that doesn’t happen in all degrees.

Another possibility is having something like STC as an optional workshop that wouldn’t be graded but students could attend it in their final year. Perhaps if they have a final project to do they could in the presentation stage then talk about how they might test that. These could be the ramblings of a crazy person!

I guess the most basic gradeless option would be for lecturers to encourage meetup attendance in the local area. I was sure free beer and pizza would help :grin:


(Matthew) #4

I disagree that education in general is a lost cause simply because the industry shifts so much. Is it the industry that shifts? Or is it the technology or the techniques and ideas? Surely there are some things that don’t change? Is there not some value in teaching some parts of testing?
For example, one of the things we focus on in testing is critical thinking. Could we not be doing more to promote the understanding, awareness, ability and appreciation of critical thinking skills in software development? This would have applied 20 years ago as it does today. Not only could we be making people more aware of this (and other) roles in software development, but we could be creating better developers too, who are better prepared for what to expect from testers and advocate testing themselves!

Mark, you say that universities are pro-occupied with keeping software development courses up-to-date, but they fail to do that too. That’s not a reason not to try and make things better - in fact - we could be helping universities make those dev courses better instead! Who says testing has to be a degree in itself? Could we not apply ideas and concepts to general software development?

I could imagine a module on “Software delivery” (or in other words “The real world of software development”) - where students could be even briefly exposed to how the coding skills they’ve learnt are applied in a workplace. Covering topics such as SDLC, the roles developers play in shaping software, the responsibility they hold to a company and the various biases and assumptions that can affect their work. Through these topics you can be indirectly exposing them to testing. By no means would it be perfect, there are no “correct” ways to educate people, but I felt my experience through education completely lacked that. Not only did I have no idea how my coding skills would be practically put to use but I had no idea that were other roles that I could get into. I feel my growth as a tester could have been accelerated with a better initial starting point and many of the challenges we face daily stem from a wider lack of awareness of testing. I believe as many people progress from education (not necessarily university!), its one way of helping tackle this.

I’ve heard of some universities actually doing some elements of the above (e.g. giving requirements for an assignment, then intentionally changing the requirements prior to the deadline - to provide a more realistic scenario). This is the kind of thing I would be looking to help encourage - not necessarily a shiny new degree or GCSE or something. Just as testing is supportive to development in the workplace, it can be supportive in education.


(Matt) #5

Unfortunately, universities are pretty bad in general when it comes to teaching the practice of software development. Testing is neglected as part of that.

I got a Computer Science MSc from a prestigious UK university, and they barely mentioned testing. They didn’t even mention source control. Agile got a look in, but we were told briefly what it was, not how it works in practice, or recommendations for reading, or anything. It was great for teaching me fundamentals (algorithmic analysis, data structures, compilers, etc), but there was almost no industry best practice. It was an academically focused course, not an engineering focused one.

Personally, I think it’s because academics don’t have a lot of industry experience. If you’ve chosen academia, you stay there, and the same for industry. There’s not a lot of crossover. At least from what I’ve seen, a lot of academic coding is very technical, often solo, but not connected to the wider dev community. And you’re likely to design courses based on what you’re familiar with. I understand that designing courses with particular tools in mind may date quickly, but general ideas like testing your stuff regularly should be ageless.

@matthewbretten is totally right, it’s our duty to reach out and try to help improve things. Especially if academics struggle with having expertise in it. I don’t agree with it being a lost cause. Testing IMO is a fundemental development activity, and that’s how it’s practiced in industry. I think students would value knowing how things are done in software dev teams, if they want to become software engineers, or testers, or whatever.


(Will) #6

Although I didn’t do a software related course (Mechanical Engineering for my sins) one of the things that did occur to me is that meetups should need to be advertised at universities in general. Even just to get an idea of what different businesses do and how they operate.

And of course it helps with getting a job too…