30 Aug 2003
(updated 30 Aug 2003 at 03:35 UTC) »
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
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.
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.