DEV Community

Testing is Not for Beginners

Jon Calhoun on March 13, 2019

I'm a big fan of testing. I write about it on my blog, I email my mailing list about it, I discuss it with other developers in my spare time, and I...
Collapse
 
rachelsoderberg profile image
Rachel Soderberg

This is a really good point, and isn't something I considered when building my first "real life" application at work. I was kicking myself through the whole process for having done no TDD, but I never thought about whether I could actually formulate test cases for what I was needing to do (probably not, since I was using data from a database, our ERP and Salesforce).

Collapse
 
dowenb profile image
Ben Dowen

Thanks for sharing Jon. I like to push myself out of my comfort zone and to try and understand topics I don't initially agree with!

You make some good points, and... I am going to force myself to stop there, bite my lip and try and learn. :)

Collapse
 
joncalhoun profile image
Jon Calhoun

Part of this is probably personal experience. There are likely a few people who somehow manage to learn it all and do well, or maybe they just happened to learn things in the perfect order, but after seeing many people fail because they tackled far too much at once this is where I settled.

I suspect my own personal experience of not touching tests for the first few years also played a factor. I was really young (like 10-12yrs old) and didn't even know how to setup a LAMP server so I had to rely on free PHP hosts. If I had tried to dive into anything like testing I fear it would have scared me off or frustrated me because I couldn't get anything working.

I am saying all of this basically just to say - I think it's okay to disagree with the article. Your personal experiences might have given you a perspective that I can't truly appreciate the way you do. But I do appreciate you reading and trying to understand my perspective as well :)

Collapse
 
dowenb profile image
Ben Dowen

My personal experience is a bit biased - because I'm a Tester in my day job, and not a "Developer".

I have however been learning about coding and programming for many many years (from when I was also about 10-12). And in fairness, I am still inexperienced at "Unit testing".

However from my experience as a Test Analyst/Test Engineer of some years, I would argue there is a vast world of "Testing" beyond unit and automated testing.

And I genuinely think some of the lessons from being a test analyst would hugely benefit new Developers.

So while the headline is "don't make new devs do testing" - and that I disagree with - I can 100% sympathise with "Don't make new Dev's learn how to implement assertions before they have even learned fundamental concepts".

Collapse
 
natec425 profile image
Nate Clark • Edited

👍

The book Peak: Secrets from the New Science of Expertise taught me a lot about learning one specific thing at a time.

I deal with this problem in my job teaching at a boot camp. People ask, "do you teach <x>?", and I respond, "about 3 months later than you would like." It is easy to overlook all the small steps on the way to teaching a topic and incorporating it into existing competencies.

Collapse
 
benfaught profile image
Benjamin Faught

Perfect Jon. As a newbie myself, I have intuitively avoided the temptation of trying to learn testing. I can see that I need to grow more with language fundamentals and general programming concepts. For example, my goal is web-apps, so I would like to reach beyond the beginner-level and be able to competently build web-apps before testing. Here are just a few things that beginners to web-dev are presented with and it gets overwhelming...

There are the basics -> HTML, CSS, JS, Backend

Then there's more (and this is NOT including any frameworks)...

  • JavaScript (well, it's a lot to know)
  • Git/Git-hub
  • Databases
  • Parcel/Webpack
  • Yarn/NPM
  • How to structure projects
  • Babel
  • code editor
  • Sass
  • Terminal (enough to get by)
  • Deploying Projects
  • Flexbox & Grid
  • Responsive

So, I'll get to testing when I get there 😂