Can You Become A Programmer Without Learning Testing?

Testing and software development go hand in hand. There cannot be one without the other.

But do future junior software developers, in particular, really need to know testing before writing code?

Quality Assurance is important in general. And it is important for software developers to know something about it but they don’t need to have an in-depth study.

When you’re trying to learn software development you need to learn a little bit about everything.

Of course, you cannot be a master in everything. But you need to have knowledge about the various IT branches (methodologies, databases, operations, terminologies, etc).

Having a basic understanding of what quality assurance is and how it works can definitely help you understand the software development life cycle.

There are plenty of good books on testing that you can read in order to deepen your knowledge on the subject.

Test Driven Development

There is one more thing you should know about so as not to get confused by it. Maybe you’ve heard of Test Driven Development or TDD.

Test Driven Development is not the same as QA.

TDD is a method of software development in which you write tests before you write code. All the tests obviously fail since the code doesn’t exist yet.

And as you write code, all your tests may eventually pass. This is more than just preventative testing because every block of code has to conform to a corresponding test.

TDD also makes refactoring simpler because when you introduce new code, you immediately find out if it works because tests will start breaking.

This is but a summary of a pretty complicated thing. TDD varies depending on the programming language and the amount of lines of code.

Conclusion

Leaving aside TDD, the good news is you don’t need to know everything about QA and testing to become a programmer.

But, you do need to know something about it.

My advice is to get familiar with the concept and make sure you understand how QA is going to test your program.

Knowing terms such as black box, white box testing or boundary conditions helps you understand how bugs get filed so you can effectively work as a team.

Don’t get too overwhelmed by the amount of information. Try to seek help whenever you don’t understand a concept. Ask questions if something feels unnatural to you.

Don’t let obstacles get you down. Just keep going, keep learning and you’ll get there.