Software Testing Introduction

·What is software testing?Software testing is a part of software development life cycle. It is the process of running/evaluating an application/program/document for two reasons

§To find errors

§To ensure the application meets customer’s requirements.

·What is its importance in software development?

Testing can

§avoid errors in a software

§ identify errors in a software

·When to start testing an application?

Testing should be started as early as possible. Once requirements are clear &

the first document is available, you can start testing phase by verifying the document.

·When to stop testing?

No application is bug free. So there is always room for testing. But there are

different criteria’s based on which the testing of a particular release is

stopped. We may stop testing at a very early stage in some particular scenarios like:

§No proper specification

§No supporting environment

§The functionality of the system does not justify the specification by any means

Other common reasons to stop testing are:

§Lack of time (could be due to deadlines)

§Budget issues

§Coverage achieved its target

§Bug rate falls below a particular level.

·What are the different levels of testing?Generally we can say there are levels of testing:

§Unit testing

Each unit of the software is tested separately. The functional & non functional characteristics may be tested. Mostly tools are used to help in unit testing. White Box testing techniques are used here.

§Integration Testing

The individually tested units now need to be integrated & tested. The interface & interactions between these units are tested in integration testing. This may include White Box testing or Black Box testing or a mixture of both called Gray Box Testing.

§System testing

When all the units are integrated system as a whole is tested for its functional & non functional attributes. Black Box testing is used in system testing.

§User Acceptance Testing

This is done by the user of the system. The customer tests the system to ensure that it is fit enough to be released and also the requirements are met. Defect finding is not given much emphasis.