Testing software is a big deal. Computer theorists,
good programmers and analysts all have made their hands
dirty in a quest to come up with good testing strategies.
I am not a big fan of frameworks for they tend to become
rigid after a while. But a reasonable set of facilities
need to be provided so that developers don't go on
reinventing the wheels.
For years, JUnit had become almost synonymous with testing
Java software. And sure enough, I think it is a great framework,
the greatness being attributed to simplicity.
In the meanwhile, software became complex, the programming
language we program in (read Java) became more powerful and
expressive. The enterprise scenarios became more complex,
definitions of testing were expanded. Although it is usually the
smaller problem in convoluted logic that's embedded in
a bigger problem, reaching that smaller problem became
more difficult. Another factor contributed to it was the
deficiencies in the de facto standard of the present day.
That's when the need of a new way of testing became more
obvious and TestNG was born. We tried to evaluate TestNG
and compare and contrast it with JUnit and the result of that
brain storming is attached herewith. Please go through it
and let us know if it is useful read.
I don't like evangelizing and certainly don't want to say that
TestNG is a cure-all framework, but it surely is promising.
Regards,
Kedar