Another week, another lunch.
This lunch had the biggest attendance yet. I won’t be putting up all the names because I can’t remember them all :-$. We had about 20 people showing up, most of them were new faces. It was very good to see that Tim Haines could make it as well as Owen Evans. Another new addition was John Rusk and a couple of people from the TradeMe development team.
With lots of people it becomes a lot more difficult to follow all the conversations at once. I’ll do my best to write up the minutes, if I miss something please let me know so I can add it.
My start question for today was: How do people do integration testing?
The question is a bit on the broad side I admit but Owen Evans stepped up and gave us a rundown of how they do it. The first thing I got from his explanation is that there is a right way to write tests and a wrong way to write them. Because unit tests shouldn’t do integration testing etc.
He explained that in the beginning they had a build process that would take about 2 hours to complete and after refactoring their app to use the right way of testing it only takes them a couple of minutes. Owen uses Fit and Fitnesse for doing the integration testing. He also explained that integration tests are not tests you would want to run on every build but preferrably during the nightly build so you have something to look forward to when you start your programming day
Owen said a lot more but I can’t remember all of it -sorry Owen-
The guys at TradeMe have a manual testing process as do we (Xero).
I think JD was the first to mention watir for automated integration testing, which I second. I think watir or watin are beautiful tools as is Selenium.
For more info on which one fits your project best: http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/
Somehow we got on the subject of source control and the different source control systems were using. My personal preference is subversion closely followed by Team Foundation Server. Most people in our group liked subversion the best some of the reasons for it are the fact that it is not bound to a visual studio solution, the cost of subversion is also a major factor and the fact that it is not related to any specific technology and the fact that subversion can be easily integrated with other systems.
JD then asked who did use unit testing and it turns out that about 6 people actually did use unit testing. One of the reasons mentioned for people not using it was that tests take too much maintenance as your code evolves. The response to that objection was that in that case you’re probably writing your tests wrong. The benefits in my opinion were that you write code that is a lot more beautifull and you get a nice, warm fuzzy feeling inside called confidence in your code.
Next John Rusk took the floor bringing us back to the original question and he introduced us to a new term: exploratory testing. Which is a way of trying to bring structure to an unstructured process (manual testing). It wasn’t very clear to me where the distinction lies with manual testing except for the fact that the user that does the actual testing does need to have some knowledge of the application domain.
JB said that another good way to understand what your application is going to withstand is to take a couple of uneducated users (they don’t know anything about the application) and put them in front of a terminal and watch what they are doing. This gives you some very valuable insights for usabilty as well as finding some bugs.
My second question was: What differentiates an average developer from a great developer ?
This question didn’t get the same attention as the first one because the answers to this one were almost unanimously: Passion
The willingness to make mistakes, the drive to look for answers yourself, an inquisitve mind.
I personally don’t think of software development as being a science for me it’s more an art form which might be a good topic for next week.


Too bad I couldn’t make it today
But I was out partying for the subtext nomination for the sourceforge community choice award
http://codeclimber.net.nz/archive/2007/07/03/Subtext-nominated-for-the-SF-Community-Choice-Award.aspx
I’d like to add something to the discussion about "average developer vs great developer".
The ability to troubleshoot problems… seems that most developers don’t have the right approach in doing it, and just stop working if they face a problem they cannot solve in the first 1 – 2h of testing
Hey Ivan, thanks for a really well hosted meet up, it’s good to gather all together and just talk (well personally me = waffle).
I think you’ve pretty much covered all my salient points that I tried to make. And hopefully I can come to the next one and talk some more
Yeah it was good to have you in the group. I’ll hope you can make it again next time.
Thanks for the kind words.
On the topic of what makes a great developer, the following link popped up today…
http://www.sqlservercentral.com/columnists/jchan/3000.asp
By the way, this is a good link on exploratory testing: http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=2255&tth=DYN&tt=siteemail&iDyn=2
PS, Ivan, is their a length restriction on the comments posted here? I tried to post a longer comment earlier, with no success (sometimes error messages, sometimes none…)
Hi John,
I don’t know of a length restriction. But I do know that my current blogging engine is not up to scratch and I will be migrating it next saturday to a new engine.
if you want to put a longer post you’re more than welcome to email it to me and I’ll post it in a different post.
Chez
Ivan