Monday, February 23, 2009

Some Dichotomies in Testing

Testing versus Debugging : The phrase “ Test and Debug “ is treated as a single word.
The purpose of testing is to show that a program has bugs.

The purpose of debugging is find the error or misconception that led to the program’s failure and to design and implement the program changes that correct the error.

Note : Debugging usually follows testing, but they differ as to goals, methods and psychology.

Function versus Structure : Tests can be designed from a functional or structural point of view. In functional testing the program or system is treated as a blackbox.


Black box Testing : Here we don’t know the inter functionality we knows only about the input and the outcome. In structural testing does look at the implementation details, as programming style, control method, source language, database design and coding details.


White box Testing : Here inter functionality is considered Designer versus the Tester : Designing depends on a system’s structural details. The more you know
about the design, the likelier you are to eliminate useless tests.

Tester, test-team member or test designer contrast to the programmer and program designer. Testing includes unit testing to unit integration, component testing to component integration, system testing to system integration.


Modularity versus Efficiency : Both tests and systems can be modular. A module is a discrete, well defined small component of a system. The smaller the component, the easier is to understand but every component has interfaces with other components and all component interfaces are sources of confusion.


Smaller the component less the bugs.Large components reduce external interfaces but have complicated internal logic that may be difficult or impossible to understand.Testing can and should likewise be originated in to modular components, small, independent test cases have the virtue of easy repeatability.

Small versus Large : Programming in the large means constructing programs that consist of many components written by many different persons.Programming in the small is what we do for ourselves in the privacy of our own offices or as homework exercises in an undergraduate programming course.Qualitative changes occur with size and so must testing methods and quality criteria.


The Builder Versus the Buyer :
Just as programmers and testers can merge and become one, so can builder and buyer.
1. The builder, who designs for and is accountable to
2. The buyer, who pays for the system in the hope of profits from providing services to

7 comments: