Saturday, November 12, 2005

Open source tools for software testing professionals

I've recently seen a movie with Diijstra, who was talking about the software testing and QA. He mentioned that years ago, they were proclaiming the idea that every software developer should write rock-solid code, but it actually happened that nowadays developers believe that testers are responsible to detect software bugs (thus developers are somehow not responsible for low-quality code). I personally have seen lots of statistics about how many bugs can be detected by testers performing black box testing (which adopted by most ISVs) - the ranges varied between 30 up until 50, but not more (scary uh? :-) ). And honestly, when you think about it you will realize that software developers can be the best testers ever - they see the code, and they know what it is and is suppose to do, which is the basic pre-requisite for any test being performed by whoever.

And here is the way I looking at the things for software development vs. testing - I usually try to think from the QA engineer's point of view such as I am trying to break my code, what extraordinary cases I haven't considered, any boundary situations, what about UNICODE characters and encoding issues, etc, etc. There are many other questions that one may have, specific for the given project that is running, but it will be always a good think to have this kind of thinking - how I can make sure that my code is really solid!

The project that I am currently involved, has required high-quality since its very beginning. Therefore, every developer is responsible to write unit test and to run his/her code against it, and thereafter, while preparing the daily build, these unit tests are run automatically through the build process that is engaged. What is the benefit of this? Just to name a few, writing simple test cases helps you get a better understanding of the problem that you have to implement; it guides you whether the current implementation meets the functional requiremenets.

And if you are a software developer who is looking for testing tools, here is a very good site that you can find tons of free (open source) frameworks for unit test, performance tests, requirements tests and so forth:
http://www.opensourcetesting.org/

I highly recommend this site to all developers and QA engineers - there is something for each of you :0)

No comments:

Post a Comment