30 Aug 2003 vivekv   » (Journeyer)

Sun, Aug 30, 2003

OK. I am back at this again!

Sun, Aug 24, 2003


Spent the whole day cleaning up all my paperwork today. Archived most of the old paperwork to a carton box. Felt good about getting rid of various old paperwork.


My wife asked me why I am not updating the diary anymore. So I am back at it again. Need to find the time to write this.

Oh - did I mention, I do have a new laptop an IBM thinkpad - 1.8 Ghz P4 with 512 MB of RAM. Real nice piece of hardware. Too bad it run MS Word and Excel all the time - occupational hazard I guess :-)

Sun, Aug 17, 2003


I have been thinking about XP and the need for large amounts of data for testing in a large project that uses Test Driven Development. Let me explain this better.

In any large projects, to perform unit test of some part of the system there is a need for certain amount of preconditions to be setup initially. A good example in an e-commerce system is to consider the scenario of checking out a shopping cart by providing address, credit cards etc.,. The first precondition would be that the user must be logged in to the system to perform the checkout. This is the easier part - TDD can login the user as part of the test case.

This is precondition that is represented as session data in the application. This is different from the data requirements of the application.

The real data requirement is that the user must exist in the system's database so that he can log in. To checkout a product, the product must be added to the shopping cart. To add a product to the shopping cart, the product must exist in the product database. Thus we have another data requirement that should be setup before we can perform testing on the checkout process. This is the data requirement of the checkout process that will increase exponentially due to the various test cases required for the checkout process.

The checkout process probably requires more information to be setup before it can perform its task - for example price of the product, any discounts on the product, tax information so on and on. This is the exponential amount of data that I am referring to. Add to this, each test case will require different types of products to be setup that will require all the additional data fixtures.

How do we solve this ? I have not seen a solution that is convincing enough for this problem. Anybody has any ideas ?


Everybody seems to think that Ant is a good thing. Having been involved with Java development for over four years now and having used Ant for nearly two years, I think I wholeheartedly agree with the world at large. Having said that, I have been thinking about why is it that Ant is considered "good". I think the answer lies in what ant provides as regular services and how it provides them. I am not referring to the laundrylist of features that is supported but more importantly the fact that the development team for Ant understands development so well that they have captured the essence of tools required for a development (compile it, package it, deploy it, transfer to remote systems etc., ) in such a fashion that it is available within a single environment (the ant buidl script) and accessible in a consistent fashion (the build.xml). I think this is the key to its success there is no single tool on earth that will let you checkout, compile and do FTP at the same time. I think this is the pattern in which tools for software development must be developed to be successful.

Thu, Jul 17, 2003


Went home at 2:00 AM last night , got to bed at 3:00 and wife woke me up at 7:00 AM. So feeling a little run down today. Lots of trouble at work resulting in late work.

Open Source

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!