Geekzone: technology news, blogs, forums
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.

19 posts


Topic # 106409 23-Jul-2012 17:54 Send private message

Hey all,

I've been trying to teach myself TDD and have found that I'm pretty undisciplined and end up just writing the code eg. just getting in done. And then I find 6-18 months or more down the track changes start making the coding brittle etc 

So I'm thinking I want to get some training on TDD. Actually get it pounded into my head how this should be done and how to use the supportive tech (like JUnit, continuous build, dependency injection etc).

Has anyone completed a formal course in TDD? If so, would you recommend it and now that you have been using it in the 'real world' -does it still seem relevant?

I'm based in Wellington but am willing to travel. I'm currently looking at Equinox IT or Soft Ed (Agile Academy) as they both do a Agile with TDD course. I wonder if they are any good? Haven't been able to find much at vic uni specialising in this subject. 

Any pointers appreciated. 



Create new topic
12 posts


  Reply # 664451 31-Jul-2012 11:30 Send private message

The main purpose of "test driven development" is to make sure individual components of a program work as intended to cut down on debug time.

for example:
object A
does stuff (you should write all the necessary functions of A)
object B
//yet to be written, relies on x,y,z and does (stuff)

then, you can call individual components of "A" to make sure they work before you start writing "B". As for "real" training: Most universities promote TDE in their courses. A good language to create the habit in would be python due to the large support of TDE present within the language itself in the form of the doctest module. When calling the functions/methods/whatever, it is best to TRY and break the code, parsing strings where there should be ints etc to make sure that it doesn't do unexpected things. Drawing UML diagrams (google it) also helps when trying to get your head around test driven development to make sure you know the dependencies of each class and the availability of objects. It also helps to comment your code because even though it sometimes seems like the functions purpose or usage is obvious at the time of writing, 6 months later it can seem a little foggy.

learn python (as an interest even, just to get used to TDE)
draw UMLs
Comment your code.

1788 posts

Uber Geek
+1 received by user: 212

  Reply # 664465 31-Jul-2012 11:40 Send private message

Daft: <snip...>

learn python (as an interest even, just to get used to TDE)
draw UMLs
Comment your code.

Are you being obtuse or just trolling?  Did you read the OP?  He wants someone to recommend a Java TDD course\training provider; and by the looks of it you might benefit from similar...

12 posts


  Reply # 664643 31-Jul-2012 14:47 Send private message

First of all, substitute TDE for TDD: recurring typo.

If you'd taken the time to read the full post... I answered the question: " Most universities promote TDE in their courses". However, I then proposed that the above (python, UMLs, comments) Would generally help him instill the habits that form TDD. COMP150, a first year python course at Otago University specifically focuses on TDD through the full and proper implementation of python's built-in doctesting class.

While I appreciate that, (given the tl;dr only) it may look like an obtuse post or troll, I was merely saying that it is possible that perhaps the OP was just going about his problem the wrong way and that there are (potentially) better ways to do it without spending money on courses.

Furthermore, most education providers don't offer a course with specific focus on TDD (I'd cite this but apparently I can't post links). Learning a new language (such as python, with aforementioned focus on doctesting) might help break the cycle of "just doing it" as you are accustomed to doing in Java. This skill could then be transferred back to Java.

Hope that clears things up.


4430 posts

Uber Geek
+1 received by user: 214


  Reply # 664648 31-Jul-2012 14:52 Send private message

The particular course below may not be exactly what you want but give this group a call and see what they recommend. They provide all kinds of education services to the corporate market and individuals.

1788 posts

Uber Geek
+1 received by user: 212

  Reply # 664713 31-Jul-2012 16:11 Send private message

@Daft: Apologies, my previous post probably seems a bit harsh; my tongue was in cheek when I wrote it (or maybe I just got out of the wrong side of bed or something) ;-)

Ok, I sort of get what you're saying: Learn good practices\principles not technologies(?) - and yeah good practices should be language agnostic. But there are certain things that an explanation of TDD should include to be taken seriously IMO.

And I still don't think learning a new language would be the best way to learn more about TDD in this case. Java is not my first language, but there appear to be plenty of very good tools\frameworks\etc for Java to get a good TDD process going: ant, cruisecontrol, junit, plenty of mocking frameworks, svn, pico, spring, etc. And given the OP has specified Java, it would make more sense to me to stick with an environment that he's already comfortable with.

19 posts


  Reply # 665026 31-Jul-2012 22:41 Send private message

gzt: The particular course below may not be exactly what you want but give this group a call and see what they recommend. They provide all kinds of education services to the corporate market and individuals.

Thats exactly the course I was looking at. They were planning to run it in Wellington this month but got canned due to low numbers. Has anyone attended it? Was it actually worth the money? They offered to have individual coaching from the consultant that runs this workshop but gets pricey has he has to fly from oz. Ugh. 

@daft / @sidefx - while a new programming language could be useful for rounding skills although I was looking for something a bit formally structured, preferably with a tutor to beat me with a stick when I will probably think I can do it better, faster (eg. hack).... :-) even a course at a uni / tech.

12 posts


  Reply # 665850 2-Aug-2012 07:57 Send private message

Well, you could rig up some kind of robot behind you to give you a decent hiding when you forget to test modules. =P On a more serious note, you'd probably be better off at the aforementioned course (agile). Even the uni courses are pretty slack on enforcing the requirement for TDD, a lot of it comes down to discipline (like any good habit).

Create new topic

Twitter »
Follow us to receive Twitter updates when new discussions are posted in our forums:

Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:

Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:

News »

Trending now »
Hot discussions in our forums right now:

Moment of Truth?
Created by BarTender, last reply by Zippity on 17-Sep-2014 13:18 (265 replies)
Pages... 16 17 18

Mr. Key to extradite Kim Dotcom?
Created by TimA, last reply by Bung on 17-Sep-2014 12:46 (118 replies)
Pages... 6 7 8

Spark DNS Issues - Amazing - Broadband Service Alert
Created by PeteS, last reply by Demeter on 15-Sep-2014 14:13 (307 replies)
Pages... 19 20 21

hp bios update
Created by foxy38, last reply by foxy38 on 14-Sep-2014 19:08 (26 replies)
Pages... 2

Linksys EA6700 $98 at Harvey Horman
Created by macuser, last reply by macuser on 16-Sep-2014 15:18 (18 replies)
Pages... 2

2014 Holden SS (V8) or Ford XR6-T (in-line 6 turbo)
Created by joker97, last reply by ilovemusic on 16-Sep-2014 14:34 (71 replies)
Pages... 3 4 5

FLIP changing my IP address every few minutes
Created by HairyScot, last reply by HairyScot on 16-Sep-2014 16:43 (15 replies)

Warning: Rage Ahead - Campbell Live and childhood poverty
Created by kawaii, last reply by gzt on 15-Sep-2014 22:57 (231 replies)
Pages... 14 15 16

Geekzone Live »
Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.

Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.