Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Structural testing, functional testing, and the differences between them ..

With the continual advancement in the field of software engineering, obviously the sophistication levels of the software testing have also increased and consequently many new development as well as testing methodologies have appeared in the scenario of the software world. With so many software testing methodologies around, it is obvious for one to get confused and have difficulty in terms of being able to decide which technique to follow in order to get more effective results. Here in this article, we have focused on two software testing methodologies, namely structural testing as well as functionality testing. We shall elaborate these two processes by the means of differences between them.
Structural testing involves testing the test suite based on the structure of the software system or application program itself. Structural testing is known by many names like glass box testing, code based testing and most popularly it is known as white box testing. Structural testing can also be thought of as a testing which tests the features and functionalities of the software system or application against the specified functionalities or features. It is somewhat based on the thoroughness of the test cases. Before carrying out structural testing, it is necessary to understand the rationale of it and how does it actually complement its black box counterpart called “functional testing”.
The tester should have an adequate knowledge about test coverage. The tester should also be able to distinguish among the common characteristics of the structure and he should also be informed about the limitations and practical uses of the structural testing. Structural testing is important since only testing the control flow does not suffice; since its test cases do not cover all the listed specifications. On the other hand, structural testing tests each and every specification individually via multiple parts of the system. The test cases developed for structural testing cover the need of control flow testing and prove to be very effective in uncovering the missing fault paths in the program code.
The first step in structural testing is the creation of the structural test suite. The test cases are checked against the structural coverage to check if any specification has been missed. In the next step, the unexecuted elements are then executed which reveals the flaws in the development process of the software. Structural testing is usually performed via automation processes. But, there is still one drawback of structural testing which is that it does not guarantee any effective test suites. Now let us discuss about the black box counterpart of the structural testing as mentioned above, the functional testing.
Functional testing is based on the principles of black box testing. In contrast to the test cases of the structural testing, the test cases of the functional testing are based only on the specifications of that component of the software which is under test. The test cases test the functionalities corresponding to them by putting in the values and comparing the actual outcome with the expected outcome. Functional testing as it is a type of black box testing; it is obvious for it not to take into consideration the internal structure of the software system as was in the case of the structural testing. Unlike structural testing, the functional testing involves the checking of the software functionalities against its specifications as well as design documents. A typical functional testing process involves the below mentioned 5 steps:
1. Identifying the functions that are expected to be performed by the software system.
2. Creating the test data that is based up on the specifications of the functions.
3. Determining the outcome whether or not it is based on the function’s specifications.
4. Executing the test cases.
5. Comparing the actual and expected outcomes.

Agile Project Management with Scrum Agile Testing: A Practical Guide for Testers and Agile Teams Agile and Iterative Development

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>