Speaking at the Google Testing and Automation Conference

Posted on August 23, 2007

I’ll be speaking tomorrow at the Google Testing and Automation conference about Frankenstein, a functional testing tool for Swing that I’d co-authored with Chris. I’m really looking forward to the conference, and I’ll be posting about the sessions over the next couple of days. All the talks are going to be published on YouTube.

Deploying Rails Applications - talk at Barcamp Bangalore 3

Posted on April 13, 2007

I did a talk was on Deploying Rails Applications at Barcamp Bangalore 3. Around 20 folks turned up, which was great considering that it was one of the last talks of the day. The LCD projector needed a fair amount of tweaking before it finally came to life, so we ended up starting a bit later than planned.

The slides are here.


The audience had questions about virtualization, Nginx and debugging RoR apps, and we ended up with a nice discussion on Rails hosting options. Gitu has a pretty flattering review of my talk:

Deploying Rails Applications – Vivek Prahlad
This was a kind of a neat demo i liked the most. Vivek gave a neat presentation on deploying Rails applications and also gave a real time experience of how it works behind with his blog. FYI his blog runs on RubyonRails.

One of things I talked about was about how I’d used a combination of Monit, Cron, Nginx, PostgreSQL and Mephisto to create this site. My aim had been to put together a self-healing setup that would essentially take care of itself with minimal manual intervention. (This blog runs on a 256MB VPS from SliceHost. The site has been up for approximately one and a half months, and the total memory usage is around 200 MB. The mongrel cluster runs a pair of mongrels).

Monit is really what brings it all together – it now seems to be the monitoring tool of choice for RoR applications. (If you’d like to know more about Monit, check out this post). I especially like the natural language syntax the the Monit configuration uses:

# eating up memory?
if totalmem is greater than 60.0 MB for 5 cycles then restart
# high cpu load?
if cpu is greater than 50% for 2 cycles then alert
# hung process?
if cpu is greater than 80% for 3 cycles then restart
# bad, bad, bad
if loadavg(5min) greater than 10 for 8 cycles then restart
# something is wrong, call the sys-admin      
if 3 restarts within 5 cycles then timeout                         
 

I was pretty happy with how the talk went, considering that I’d put the slides together after putting up the topic on the board!

Asia Pacific Testing Conference

Posted on April 03, 2007

I was at the Asia Pacific Testing Conference in Singapore last week. The two day conference was the first of its kind in the APAC region – around a 100 folks participated. The agenda was quite packed, especially since the speakers had half hour slots to do their stuff.

Here are a few pictures from the conference and the area around the venue:

The audience was quite new to agile – most of the folks I’d met used variants of waterfall. Interestingly, a lot of the speakers talked about how it becomes difficult to handle changes if you’re following a waterfall model. When requirements changed, the advice seemed to be to either refuse to implement the change, or to notify every single stakeholder about it. Another common theme was about how the CMMi does not address testing explicitly. During the breaks, I ended up chatting about how agile addresses both of those issues, and how developers and testers collaborate closely with each other on agile teams.

I especially enjoyed the talks on Exploratory Testing and Test Strategy and Automation for Complex Systems. The automation talk was about a small team of testers went about automating different aspects of testing their system to great effect. Wilfred Soon delivered the second half of the presentation, and he had the audience in splits with his one liners.

My talk on Web Test Automation with Selenium went quite well – I managed to complete the talk, which included a couple of demos, within my half hour budget. A couple of folks mentioned that they were keen on trying out Selenium on their projects, mainly because of the support for testing Ajax applications. Funnily enough, someone came up after the talk and asked if I was one of the founders of ThoughtWorks! Now I don’t quite remember talking about anything that even remotely suggested that :-)

One of my messages was around how test code is code, and how the practices and principles that apply to good code apply to good test code as well. Refactoring, DRY, and abstraction are just as valid for test code (More on that in a future post, maybe?). One of my demos was around refactoring Selenium RC tests, which definitely got the testers in audience excited – most of them had never seen refactoring in action before.

During the talk, I’d mentioned Continuous Integration briefly. The majority of the audience was used to nightly builds, and found CI intriguing.

The presentation is here

Overall, it was a good conference – I made a lot of friends, and I hope to be back the next time around as well!