Google

Tuesday, January 15, 2008

Software Testing

Software testing is a critical element of software quality assurance and represents the ultimate process to ensure the correctness of the product. The quality product always enhances the customer confidence in using the product thereby increases the business economics. In other words, a good quality product means zero defects, which is derived from a better quality process in testing.

Software is an integrated set of Program codes, designed logically to implement a particular function or to automate a particular process. To develop a software product or project, user needs and constraints must be determined and explicitly stated. The development process is broadly classified into two.

1. Product development
2. Project development

Product development is done assuming a wide range of customers and their needs. This type of development involves customers from all domains and collecting requirements from many different environments.

Project Development is done by focusing a particular customer's need, gathering data from his environment and bringing out a valid set of information that will help as a pillar to development process.



Testing is a necessary stage in the software life cycle: it gives the programmer and user some sense of correctness, though never "proof of correctness. With effective testing techniques, software is more easily debugged, less likely to "break," more "correct", and, in summary, better.


Most development processes in the IT industry always seem to follow a tight schedule. Often, these schedules adversely affect the testing process, resulting in step motherly treatment meted out to the testing process. As a result, defects accumulate in the application and are overlooked so as to meet deadlines. The developers convince themselves that the overlooked errors can be rectified in subsequent releases.


The definition of testing is not well understood. People use a totally incorrect definition of the word testing, and that this is the primary cause for poor program testing.

Testing the product means adding value to it by raising the quality or reliability of the product. Raising the reliability of the product means finding and removing errors. Hence one should not test a product to show that it works; rather, one should start with the assumption that the program contains errors and then test the program to find as many of the errors as possible.


Definitions of Testing:

“Testing is the process of executing a program with the intent of finding errors ”
Or
“Testing is the process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements”
Or
"... the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements or to identify differences / between expected and actual results..."

No comments: