How developers view testing and what to do about it

So I’ve started learning iOS development since November last year. I chose a course to follow and quickly found out that the course had ZERO lessons on testing. Once or twice the teacher said the word testing, but her actions weren’t testing at all. It was just trying out one path in the app and saying it was testing. We know better. I was slightly annoyed.

This morning I was triggered again because a well known person in the iOS community has made a video on how to become an iOS dev in 2021 and testing isn’t even in the list of core skills. Just watch a couple minutes from the video here, I linked it so it starts at the correct time.

The way he talks about testing triggers me because:

  • he seems to talk about testing as if it’s only automated tests
  • he seems to be only talking about unit testing
  • he shares something I’ve heard from many developers I’ve worked with over the years: it’s just not fun to write tests. He calls it as fun as flossing your teeth.

And I’m like, yeah, if this is your understanding of testing no wonder you aren’t having fun. I’ve learned to write unit tests somewhere last week and I can think of nicer things to do. I like exploratory testing more.

But whatever, the point of this post is two-fold.

  1. I feel like communities are too isolated. I’m in the testing and iOS dev community now, but I feel like there’s so much room for awesome collaborations, like a meet-up takeover or something. What can we do?
  2. How can we quickly make clear to developers that testing is so much more than verifying expected results. It’s so much more than finding out if your code is okay. Does anyone have a short video or article that we can send his way? Something that explains the essence of testing for developers.

I’m a bit annoyed to find myself in this position again because frankly, what I disliked a lot when I was a tester was trying to change developers perception about testing. It cost me a lot of energy with (what I felt) very little pay-off. I don’t like to be in the business of changing people’s minds, but on the other hand I feel like there’s a lot to win in this area. That’s why I’m asking your ideas, thoughts, etc, about this. I can’t do this alone and I don’t want to.

7 Likes

This is so fundamental. I’ve still got one Dev I work with who just doesn’t get it. Thankfully that is currently a minority where I work!

I don’t know how to turn a Dev who doesn’t want to get it in the right direction. But, I do know how to engage those who are doing a great job and encourage them!

Make sure the Developers you work with of interact with who are Test allies are celebrated.

If they are positively making contributions to the Tester Community, nominate them for #TesterOfTheDay!

2 Likes

Hello @maaike.brinkhof !

I agree with @bencf1 and want to suggest that it is an on-going conversation of influence and support.

I’m fortunate to have been on many teams with varying levels of developer commitment to testing. In an effort to improve understanding and commitment, I added unit testing to the overall test strategy, met with the development lead to review the approach and get some agreement.
The agreement is a spectrum from a commitment to experiment to an agreement to provide units tests with completed code. As you know, it doesn’t happen easily or quickly but, as Ben mentions, we can celebrate those developers who support testing. I would expect unit test results - beneficial results, results that show failures when something has changed not just pass or fail - to be the largest demonstration of benefit to the project team.

I have seen where a trusted set of tests provide rapid and valid feedback on new and changed code. I thought it helped the project team to deliver high quality products quickly. Getting to that point is a team effort built on small successes but it requires someone to lead the team in that direction. Testers, in my opinion, are in the best position to be that leader and start those conversations.

Joe

3 Likes

I think the issue starts with schooling, at uni’s they don’t learn much about testing. They might have 1 or 2 lessions about selenium and a bit of unit testing.
The teachers often don’t like to test themselves and students well… you know … are student :stuck_out_tongue:

So at some point it totally depends on the person itself, but trying to find a dev who likes writing unit tests is pretty rare. At least you found developers who believe in automation, I’ve seen developers who said ‘we’ll do a unit test’ and it was actually a code review. Or devs think that testers only point and click in the UI, instead of playing around with the API, DB & CI/CD and what more…

I totally believe there should be more visibility for these things and I think it starts in schools because afterwards it’s to late.

3 Likes

I had done that a few weeks ago. Its not a “short” video, but interesting & worth watching. You can start at 1:07:00. Does that look helpful?

1 Like

Change others’ perceptions, minds, thinking, beliefs, values are much harder than it seems.

“We” as testers should keeps growing ourselves and our craft. The perceptions on testers and testing will change towards a better one when “we” become better of what we do.

Last but not least, have fun while we are on our journey to become better.

3 Likes

I’m a developer who likes testing. One thing that that came to me only recently is a proper understanding that I am more than a cog in a machine that converts user stories into code.

This machine should be a small part of a much bigger thing, that worries about value, risk and users. I think that a direct approach to persuade developers to think differently will be hard. What incentives are there for developers to raise their gaze away from The Machine, if the loudest and maybe only voice they hear is scrum masters etc. are asking when things will be ready?

Getting people around developers involved (as well as talking to developers themselves) might help. Product managers I hope will be open to discussion about value, UX people to discussion about users, and project management to discussion about risk. These could be the way in to showing how crucial testing should be (and how it isn’t just automated checks).

3 Likes

This feels like something @sjprior’s #MakeATester research crosses over with

3 Likes

Thanks for the tee up @christovskia. Yes this is something that my research a few years ago highlighted. Universities don’t cover enough about testing or Quality, but you can learn up to 7 different programming languages over the 3 year comp sci syllabus. Is it therefore any wonder that students that become developers have no real understanding of good testing practices?

I too have worked with developers who didn’t get it, but took it on as a personal challenge to work with the ones who didn’t get it and ensured they got it enough to become advocates for the test teams. Helping them start unit testing themselves and working alongside them really helped this.

As far as what to do? We need to change the narrative coming out of schools and universities. I will be reaching out alongside the other Testing Peers podcast hosts to all UK based universities to learn more about what testing they currently cover and how we can support an uplift in what is offered. This is not just about Making testers, but is also about raising the awareness of good testing to the developers with the key message that quality isnt just down to the test team.

Any suggestions how we do this is other countries to help this, would be great too!

6 Likes

As far as what to do? We need to change the narrative coming out of schools and universities. I will be reaching out alongside the other Testing Peers podcast hosts to all UK based universities to learn more about what testing they currently cover and how we can support an uplift in what is offered. This is not just about Making testers, but is also about raising the awareness of good testing to the developers with the key message that quality isnt just down to the test team.

Awesome @sjprior !!

3 Likes

@sjprior - I think it is also important to consider why universities don’t care about testing or quality. Do you have any insight into that? I suspect that it is because the tech industry does not care much about testing either. If there is little demand for the skill and relatively low compensation, then why develop and supply that skill? (Consider Microsoft, a large, well paying and reputable employer. There are almost zero QA jobs and the Devs do a lot of the testing).

I wonder if universities are highly resistant to change just like most government agencies. No one measures their outcomes and they can’t really be held accountable, so there is no reason for them to change or improve. I do see some universities offering coding bootcamps recently and a few of them even offer (almost useless) testing bootcamps. With so many capable people getting decent tech jobs without degrees and some even thriving in those jobs, the universities are worried about their own survival. I don’t know if we can change universities without creating an existential threat to them i.e. punish them instead of trying to reform them.

PS - Instead of educating people and companies about testing, I wonder if it is better to let them fail in the long run and then discover if testing could have prevented or mitigated their problems. For some people/companies, it is better to let them learn from their own experience instead of other’s experiences.

In some Dutch Universities and highschools, testing is taught to Computer Science students. There is a strong tendency to teach about test methodologies with certifications, which are required for certain jobs.

In TestNet, the Dutch Special Interest Group in Software Testing, a working party made a testing curriculum for bachelor studies in 2018:
https://www.testnet.org/testnet/p000289/werkgroepen/werkgroep-opleiding-testen-op-hbo-of-academisch-niveau

There are some references to English documents. These links are marked with Engels, which is the translation of English.

This led to a minor in 2018 - 2019. The working party is not active any more.

3 Likes

I’d argue that we’ve been successful at “failing” for a long time and broadly speaking: no one gives a shit. Shitty software is being built everywhere and people use it en masse, so…this has also led my down a trail of thought of “how neccessary is testing anyway?”. The type of testing I (and I guess most people on this forum) tend to do goes way beyond just “checking stuff”, but a lot of software is being tested and released just like that…with barely any good testing, or with testing that’s just checking (automated or not).

3 Likes

I was like what?! A dutch school teaching testing… but then I saw it’s the Netherlands and not Belgium :smiley:
I mean we do give workshops at Uni’s here (Belgium) but it’s meanly because teachers “have” to give something about testing and many don’t really know anything about the subject so they always ask consultants to give something.

1 Like

This is an interesting topic and one where I always feel that I’m sort of having a different opinion than most in this community…

I recognise the bit about not everybody caring about or valuing testing. However I don’t think this is a problem.

For many people within MoT (or the broader testing community), testing is the goal. Things must be tested! And not only the minimal (happy) paths, but everything. And while that is commendable, it’s very rarely the case outside of our community.
Maybe from frustration @maaike.brinkhof phrases it as nobody giving a shit, but I don’t think that’s the case either. People give a shit, but they just have different standards. They want “good enough”, not perfect. And while we can debate about what “good enough” might mean, it’s almost always way less than what testers think. And a lot of times people can get to “good enough” without “good” testing.

This is a controversial and sensitive topic, and please believe me when I say that I’m not out to offend people, but this is a problem that only exists within the testing community. The testing community is a pretty isolated place with quite some gatekeeping, that mainly acts within its own bubble. We can bang on our own chest all we want within these forums and we get thumbs up an approval from only the people here.

I attended TestJS summit recently. This is a JavaScript focussed conference with a focus on testing. Now, based on the above messages I don’t think that anything that was discussed during that conference would be considered here as “real” or “good” testing (or even worse make a distinction with checking…). But those people there knew their stuff. Yes it had a lot of focus on automation and the technical side of things, but it was more than enough for them to gain enough confidence to release their product.

And that indeed brings us to the question “how necessary is testing anyway?”. Well, going by the things that I see happening outside of the testing bubble, not that necessary any more. The reason why I don’t consider this a problem is because it forces us to transition towards another approach of assuring quality. And to be honest, in that direction I see huge opportunities and possibilities for (former) testers to have more impact and influence than they’d ever had before.