Search This Blog

Saturday, March 15, 2008

TESTING

6.1 Introduction
Software Testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software. Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate. This includes, but is not limited to, the process of executing a program or application with the intent of finding errors. Quality is not an absolute; it is value to some person. With that in mind, testing can never completely establish the correctness of arbitrary computer software; testing furnishes a 'criticism' or comparison that compares the state and behavior of the product against a specification. An important point is that software testing should be distinguished from the separate discipline of Software Quality Assurance (SQA), which encompasses all business process areas, not just testing.

6.2 White box and black box testing
White box and black box testing are terms used to describe the point of view a test engineer takes when designing test cases. Black box being an external view of the test object and white box being an internal view. Software Testing is the process of executing software in a controlled manner; in order to answer the question “Does this software behave as specified?” Software testing is used in association with verification and validation. Verification is the checking of or testing of items, including software, for conformance and consistency with an associated specification. Software testing is just one kind of verification, which also uses techniques such as reviews, inspections, and walk-throughs. Validation is the process of checking what has been specified is what the user actually wanted.
Validation: Are we doing the right job?
Verification: Are we doing the job right?

6.3 Unit Testing
In unit testing each unit (basic component) of the software is tested to verify that the detailed design for the unit has been correctly implemented.
The basic components such as command prompt, packet generator, timer, simulation engine are checked and verified to ensure that the detailed design is implemented.

6.4 Integration testing
In integration testing progressively larger groups of tested software components corresponding to elements of the architectural design are integrated and tested until the software works as a whole.
After testing all the basic software components, the components are integrated to work as a single system and tested until the software works as whole.

6.5 System testing
In system testing the software is integrated to the overall product and tested to show that all requirements are met.
In this step the software is tested to weather it meets the requirements to work as a network simulator.

6.6 Regression Testing
Changes made in order to fix bugs or develop further functionality may cause previously successful tests to fail, so regression testing is used to repeat the earlier successful tests to ensure that changes made in the software have not introduced new bugs/side effects.


6.7 Test the front-end actions
It has been checked whether the front end is responding properly for different user actions.

No comments: