Functional Vs. Structural Testing

Read Complete Research Material



Functional vs. Structural Testing

Introduction1

Background2

Functional Testing3

Types of Functional Testing Techniques4

Unit Testing4

Integration Testing4

System Testing5

Regression Testing5

Acceptance Testing5

Alpha Testing6

Beta Testing6

Advantages of Functional Testing6

Disadvantages of Functional Testing7

Structural Testing7

Types of Structural Testing Techniques8

Basis Path Testing8

Flow Graph Notation8

Cyclomatic Complexity8

Graph Matrices9

Control Structure Testing9

Loop Testing10

Advantages of Structural Testing10

Disadvantages of Structural Testing11

Debate of Functional and Structural Testing11

Analysis12

Difference between Functional and Structural Testing12

Analysis and Opinion of Debate13

Summary and Conclusion14

References16

Functional vs. Structural Testing

Introduction

Any activity that is intended for the assessing a capability or attribute of system or program and defining that it meets the needed outcomes is the Software Testing. However, it is crucial to the software quality and is extensively organized by the testers and programmers. In addition, due to the restricted comprehending of the software principles, software testing still remains an art.

The overall behavior of the program is addressed by the functional testing as it tests the functional completeness, testing transaction flows, and input validation of program. The functional testing is considered as black box testing as no internal logic knowledge of the system is required for developing the test cases. Some of the types of functional testing are regression testing, system testing, and user acceptance testing.

Structural testing is known as the white box testing as the internal logic knowledge of the system is required for developing the test cases. There are several techniques included in the structural testing such as code coverage, logic testing, path testing, nested loop testing, test and analysis, and much more. In addition, the load testing, unit testing, performance testing, integration or string testing, and stress testing are also considered as the structural testing.

The entire system is validated and tested by both the testing methods. For instance, a structural test case can be gathered from a manual of technical documentation (Myers, Sandler, & Badgett, 2011). On the other hand, a functional test case can be taken and gathered from the description of the documentation for how to perform a specific function like the acceptance of the input of a bar code. Both the methods of testing are required for the effectual testing of systems.

Background

A significant technique for evaluating the quality of a software product is known as the software testing. It is the process and procedure of analyzing and examining an item of software for detecting the differences among the required and prevailing conditions i.e. bugs, and for the evaluation of features of the software item. It is an action that should be completed all through the process and procedure of the complete development. Software testing is considered as one of the “V & V”, or the “verification and validation” practices of software.

The first V i.e. verification is the process or procedure of assessing a component or system for determining whether the products of provided phase of development gratify the conditions that are executed at the beginning of that phase. The activities of verification incorporate the reviews and testing (Belvin, Broglie, Frederick, & Hawkey, 2010). For instance, in the software that is for the Monopoly game, it can be tested and verified that two players cannot ...