Introduction: Overview, Definition and Background
Introduction: Overview, Definition and Background
It is an important resource in determining quality of the software. The time required to test any software has increased with the advent of fourth generation languages which increases the implementation time. Despite immaculate advancements in the area of computer sciences and development of new verification techniques, software testing still remains an effective and efficient mean of testing any system.
Categorization of the software testing: The process of software testing can be divided in to two broad categories:
1) Functional testing a) b) c) d) e) Unit testing Integration testing System testing Regression testing Acceptance testing
1) Functional Testing: This type of testing is based on the specifications of the software, it is a type of black box testing in which complete integration of the system is needed to evaluate the system compliance with the specified requirements. Input is given to test the functionality of a system, it was intended for. Functional testing requires five basic strategies: Preparation of test data to check the specifications of the system. Inputs which are business requirements Finding output of the functions based on the specifications of the function. Test case execution. Observing the actual and expected outputs.
a) Unit testing: This type of testing forms the basic and lowest level of testing, it is usually done by developers before handing over the system to quality assurance team. Unit testing can also be known as module or component testing. The objective of the unit testing is to check the functionality and reliability of a system isolated in to individual parts.
b) Integration testing: