Sign in to follow this  
PragmaOnce

What does unit testing mean?

Recommended Posts

PragmaOnce    755

Hey guys.

 

So a lot of the blogs/tutorials that I have been reading refer to unit testing a lot. It will say that a certain approach makes it easier for unit testing etc.. I did take a glance at the Wikipedia page but it's too much new information for me to solidly grasp. I'm still in high school so I have yet to learn the jargon/glossary associated with a Computer Science course.

 

So I was wondering if one of you could explain it to me in simpler terms and perhaps a basic implementation of how it is used and why you would use it. 

 

Thank you.

Edited by PragmaOnce

Share this post


Link to post
Share on other sites
DareDeveloper    1018

Why do you want to do it? Because you make changes / additions to the existing code at some point and not notice that it breaks functionality that worked previously (who tests every functionality they ever implemented).

A good coverage of functionality with unit tests ensures that you will notice that the code you have modified does no longer work the way it used to work. At some point (possibly integrated into your build process) you will run the unit tests and see if the code still satisfies the conditions. That is pretty much what writing unit tests is about:

you declare that, for example, you want a method to return 10 when you pass 5 as parameter #1 and 2 as parameter #2.

 

Broken tests might be desired (in that case you update the unit tests) or not (in that case you fix your new code).

 

You might want to look at TDD (test driven development). With that approach you write the tests first (they will all fail at first) ... then you write the code that makes them succeed.

That approach makes sure you don't write extremely cool classes with dozens of options for later use and never actually use half the code.

You also have to think about responsibilities of modules, scenarios and the architecture before you jump into the implementation ... which is usually a good thing:

(http://blog.activelylazy.co.uk/2011/02/09/if-i-had-more-time-i-would-have-written-less-code/)

 

Showing examples is a little difficult. It depends a lot on your desired workflow how this is set up. I'd google what options there are for unit testing for your programming language of choice and visit its website.

The real beauty of unit tests can be seen when it is integrated into a continuous integration solution. But I guess you have enough input to process already ...

Edited by DareDeveloper

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this