Testing is dead, long live testing.
Ben Mancini has worked in software for the last 13 years. From testing to managing test teams and being responsible for development departments. An early adopter of agile Ben speaks from painful experience on what has worked and what hasn't.

Testing is dead, long live testing.


Off the back of an incredibly useful conversation with Dan North this week (Check out his website here https://dannorth.net/) we touched on testing.

 

At my current employer they took a decision last year to remove the role of test engineer entirely from the development teams and whilst I don’t want to get into the why’s of that decision (Because I simply wasn’t here at that point) it did raise an important discussion point with me following the meeting with Dan.

 

I may be about to make a statement that many disagree with in saying this but I believe the role of ‘test engineer’ as we see it today doesn’t have much of a shelf life left in it. The same thing happened to Test Manager a few years ago as agile began to be adopted by more and more development teams. To give a bit more clarity to this statement I mean the role of manual focussed test engineers doesn’t have much longer to run, particularly in an agile organisation.

 

10 years ago many large development functions could afford to have a system, integration, UAT and non-functional set of teams to perform their testing. It wasn’t quick, but then it didn’t need to be in a silo based waterfall set-up where one team handed work over to the next team. When your lifecycle operates in months rather than days or weeks it simply doesn’t matter that testing may require a month or more to be completed.

 

That wasn’t to say that testing didn’t get squeezed. It did. I was there when my own teams would have weeks shaved off the end of their test window to accommodate a right to left plan that demanded a release on X date regardless of the quality or level of confidence testing had provided.

 

Now with agile deeply embedded into many organisations it simply isn’t feasible to have a dedicated pool of people solely focussed on large scale manual testing. Automation isn’t necessarily the answer to this either (see why below) but shifting more of the testing to earlier in the lifecycle is both proven to be cheaper in the long run for detecting bugs and ensures the quality conversation is had much earlier when issues can be discussed and addressed without causing a crisis later.

 

So where does this leave manual testing?

 

It absolutely still needs to be done, but it needs to be done in a smarter way. Supported by automation (But not entirely dependent on it) by test engineers who are multi skilled and multi-disciplined who are coming at the testing from a user’s perspective rather than a developers. So whilst I entirely support the idea of developers doing more testing of their code this must be balanced with the ‘my baby isn’t ugly mentality’ that all developers will have fallen into at some point. When you’ve created a piece of code you’ve put blood, sweat and possibly tears into it. To then be expected to find defects in your code is a big ask and I’ve met very few developers who can perform this honestly and consistently.

 

As Dan pointed out to me this week this is where agile tends to fall down in addressing this issue. Agile was created by developers, for (Dare I say it) developers. Testers weren’t really a consideration, which is why you see many flavours of development teams trying to strike a balance between development and testing using an agile approach. So a developer will not test a piece of code (Whether its there’s or someone else’s) in the way a test engineer can. They won’t spot the issues a user will spot as easily or as quickly.

 

And so, what about automation?

 

It’s helpful, and should be one of the tools any test engineer holds. But it isn’t the answer to everything. Automation is for the low change, low impact areas of the code. You’ll still always need a human element involved.

 

So for me test engineers need to move more towards a role where they are able to both conduct automation where it’s needed alongside a well versed users ability to spot the bugs automation or a developer won’t see. This means strong user experience skills, probably significant UI knowledge, a basic level of development knowledge and strong test skills. I know of teams that are working towards this model but I’m yet to see any that have nailed it entirely. For me this will be the next convergence of roles in IT. The time of many hat test functions is coming to an end, it’s simply a matter of making sure we have the skills to be ready for the change.

very interesting article!

Like
Reply

perhaps i m missing something here but the ones that code, shall not test their own code?

Like
Reply

I have to say in nearly 20 years of testing I genuinely can only remember two projects that didn't operate a hybrid test approach. It's why SIT and SUAT have been bandied about for so long. Testers have always had to be multi skilled and wait around long enough (roughly 7 years) and you see the same methodologies re-badged having been marginally improved and revamped in the intervening years. I suspect you're viewpoint comes from experience with your client base (just guessing so apologies if I'm off the mark!), but my reality is the type of tester you allude to is in the minority and has been for a very long time. I can't remember the last time I worked with a tester who was that 2D. We have to be so multifunctional these days that I fear we fulfill several roles rather less successfully as we might just the one if companies actually took notice of their lessons learned rather than paying lip service to them.

Agile is still maturing but the writing is on the wall for testers - if you don't upskill & add value you won't have a job. Particularly true for performance testers - there are many who see their function as creating & running load test scripts leaving results analysis & diagnostics to others, whilst other performance testers have evolved into performance engineers who understand the technical solution & can work alongside developers offering advice and steering away from bottlenecks.

To view or add a comment, sign in

More articles by Ben Mancini

  • Getting off the shoulders of giants

    “Scrum is immutable” A comment you’ve probably seen repeatedly at this point if you’re a reader on agile practice…

  • What I learned from 3 months of job seeking

    I’m not sure if the below is particularly insightful, but it was my lived experienced over the last 2-3 months, this…

    7 Comments
  • Take you right into the danger zone

    Interesting couple of posts on here this week from a variety of different people about comfort zones and how they are…

    1 Comment
  • The state of agile 2022 Report

    I sometimes describe myself as a 'recovering agilephobe' and you don't need to understand much about me and my views to…

    3 Comments
  • The End of LinkedIn?

    Its Monday afternoon, and I’ve just seen the third copy and paste example of a completely fictitious Steve Jobs quote…

    24 Comments
  • Why your agile transformation is failing

    Running a meetup group that focuses on agile coaching, software development and design means I get to meet a lot of…

    7 Comments
  • A toxic industry?

    Recruiters get a bad rep in our industry, unfairly in some cases, but then you see some of the absolute tripe that gets…

    5 Comments
  • Announcing the first Cambridge Agile Exchange unconference

    Here at Cambridge Agile Exchange we are hugely excited to announce our June meetup event… Passion bounded by…

  • Agile Manchester – Day 3

    My final (And slightly delayed by travelling home) blog post on the Agile Manchester conference. Keynote – The changing…

  • Agile Manchester - Day 2

    So day 2 of my daily blog posting recap of the Agile Manchester conference. You can find out more details of it here.

Others also viewed

Explore content categories