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 is 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.
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. Examples of these definitions are such statements as “Testing is the process of demonstrating that errors are not present”, “The purpose of testing is to show that a program performs its intended functions correctly”, and “Testing is the process of establishing confidence that a program does what is supposed to do”.
Testing the product means adding value to it that means raising the quality or reliability of the program. 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. Thus a more appropriate definition is:
Testing is the process of executing a program with the intent of finding errors.
What is the purpose of Testing?
- To show the software works: It is know as demonstration-oriented
- To show the software doesn’t work:
- It is known as destruction-oriented
- To minimize the risk of not working up to an acceptable level:
- It is known as evaluation-oriented
Why do we need to Test?
Defects can exist in the software, as it is developed by human who can make mistakes during the development of software. However, it is the primary duty of a software vendor to ensure that software delivered does not have defects and the customers day-to-day operations do not get affected. This can be achieved by rigorously testing the software. The most common origin of software bugs is due to:
- Poor understanding and incomplete requirements
- Unrealistic schedule
- Fast changes in requirements
- Too many assumptions and complacency
- “Testing is an activity in which a system or component is executed under specified conditions; the results are observed and recorded and an evaluation is made of some aspect of the system or component
- “ - IEEE
- Executing a system or component is known as dynamic testing.
- Review, inspection and verification of documents (Requirements, design documents Test plans etc.), code and other work products of software is known as static testing.
- Static testing is found to be the most effective and efficient way of testing.
- Successful testing of software demands both dynamic and static testing.
- Measurements show that a defect discovered during design that costs $1 to rectify at that stage will cost $1,000 to repair in production. This clearly points out the advantage of early testing.
- Testing should start with small measurable units of code, gradually progress towards testing integrated components of the applications and finally be completed with testing at the application level.
- Testing verifies the system against its stated and implied requirements, i.e., is it doing what it is supposed to do? It should also check if the system is not doing what it is not supposed to do, if it takes care of boundary conditions, how the system performs in production-like environment and how fast and consistently the system responds when the data volumes are high.
TEST CASE DESIGN
TEST CASE DESIGN TWO
DESIGN OF TEST CASES PART THREE
TEST CASE DESIGN PART THREE
TEST CASE DESIGN PART FOUR
TEST CASE DESIGN PART FIVE
TEST CASE DESIGN PART SIX
TEST CASE DESIGN PART SEVEN
TEST CASE DESIGN PART EIGHT
TEST CASE DESIGN PART NINE
REVIEWS AND APPROVAL OF TEST CASES
WRITING SOFTWARE TEST CASES PART ONE
WRITING SOFTWARE TEST CASES PART TWO
WRITING SOFTWARE TEST CASES PART THREE
WRITING SOFTWARE TEST CASES PART FOUR