Tuesday, December 18, 2007

Structural and Functional Testing

Structural testing is considered white-box testing because knowledge of the internal logic of the system is used to develop test cases. Structural testing includes path testing, code coverage testing and analysis, logic testing, nested loop testing, and similar techniques. Unit testing, string or integration testing, load testing, stress testing, and performance testing are considered structural.

Functional testing addresses the overall behavior of the program by testing transaction flows, input validation, and functional completeness. Functional testing is considered black-box testing because no knowledge of the internal logic of the system is used to develop test cases. System testing, regression testing, and user acceptance testing are types of functional testing.

Both methods together validate the entire system. For example, a functional test case might be taken from the documentation description of how to perform a certain function, such as accepting bar code input.

A structural test case might be taken from a technical documentation manual. To effectively test systems, both methods are needed. Each method has its pros and cons, which are listed below:

Structural Testing
Advantages
The logic of the software’s structure can be tested.
Parts of the software will be tested which might have been forgotten if only functional testing was performed.

Disadvantages
Its tests do not ensure that user requirements have been met.
Its tests may not mimic real-world situations.

Functional Testing
Advantages
Simulates actual system usage.
Makes no system structure assumptions.

Disadvantages
Potential of missing logical errors in software.
Possibility of redundant testing.

3 comments:

Unknown said...

Hello,
The Article on Structural and Functional Testing is informative. It gives detailed information about it. Thanks for Sharing the information about the Functional testing and Structural testing For More information check the detail on Functional testing check, Software Testing Services

Edward said...

Really nice topics you had discussed above. I am much impressed. Thank you for providing this nice information here.

Software Testing Company

QA Services

Game Testing Services

Video Game Testing Companies

anand said...

nice post..

Software Testing Training in Chennai | Certification | Online Courses



Software Testing Training in Chennai | Certification | Online Training Course | Software Testing Training in Bangalore | Certification | Online Training Course | Software Testing Training in Hyderabad | Certification | Online Training Course | Software Testing Training in Coimbatore | Certification | Online Training Course | Software Testing Training in Online | Certification | Online Training Course