As software complexity grows, new testing tools help developers control bugs and costs alike. Derek Jones Software testing may be one of the least attractive of all software-development activities. Yet, simply put, it's one of the most important parts of the development process. Typically, it costs 10 times more to fix a bug at any stage of the development cycle than it does to fix it during the previous stage. But the cost of formal, comprehensive testing procedures can be prohibitive and often delays the time to market unacceptably.
Software testing involves more than just debugging code.
It encompasses the validation and verification of software throughout the whole development process. Static vs. Dynamic Testing So-called static analysis tools analyze the source code of an application. Static checks deal with such details as un-reachable code, the misuse of pointers, undeclared variables, and variables used before initialization. Commercially available tools either support a variety of programming languages or are specifically designed for a certain language. Generally, tools that focus on a specific language can better handle that language's special cases.