Tuesday, January 18, 2011

Software Testing - Software Development Life Cycle

SDLC or Software Development Life Cycle is a software engineering term, which includes all the processes in Software development and deployment. It includes methodologies that are used to design and develop systems. In software engineering the SDLC concept underpins many kinds of software development methodologies. The methodologies referred are the one that help in creating a framework that can be used as a base for developing larger information systems

Testing is sometimes interpreted wrongly. People think that testing should be done after the programming is done for a system or software. In fact testing should be performed at every level of the development cycle.

The most common types of testing involved in the development process are:

o Unit Test: This is the first level of testing in cycle of software testing. The overall product is divided into small units. Testing of these units individuals are termed as Unit Testing.

o System Test: System level is the upper level of unit testing. Whenever there is a large system and different programmers are coding over different units, they are combined and testing done over the combined system is system testing Integration Test.

o Functional Test: When the system is integrated it is tested over its functionality. To test the function of the system I termed as functional testing.

o Automated Testing: It is one of finest way to increase efficiency, productivity and accuracy of the software product. It simplifies the testing practice by reducing the human effort involved. In this we create automated test cases and perform those using automated tools. Automated testing tool repeats the predefined steps and results more accuracy than the manual testing.

Alpha Testing: Alpha Testing is done after the code is competed to check most of its functionalities before actual user start using it. Sometimes a select group of users are involved in the testing. More often this testing will be performed in-house/small scale. or by an outside testing firm in close cooperation with the software engineering department.

o Performance Test: This testing is done when the product is fully developed. Its main objective is to identify the performance of the software as par the customer guidelines.

o Acceptance Test: Testing the system of the software with the intent of confirming accurateness and efficiency of the product and customer acceptance.

Sometimes the software is so complex and big that it is practically impossible to test it completely. Before ending software testing we should keep certain points in mind:

- Testing guidelines should be met
- Test cases should cover every aspect of the software.
- Bugs found in the software should be minimum.
- All the defined test cases should be run at least once.

Once the complete software testing is done the system or software is introduced in the market for the user.

No comments:

Post a Comment