A practice in test driven development