Open In App

Structural Software Testing

Last Updated : 23 Apr, 2024
Like Article

Structural testing is a type of software testing that uses the internal design of the software for testing or in other words the software testing which is performed by the team which knows the development phase of the software, is known as structural testing.

Structural testing is related to the internal design and implementation of the software i.e. it involves the development team members in the testing team. It tests different aspects of the software according to its types. Structural testing is just the opposite of behavioral testing.

Types of Structural Testing

There are 4 types of Structural Testing:

Types of Structural Testing

Types of Structural Testing

Control Flow Testing:

Control flow testing is a type of structural testing that uses the programs’s control flow as a model. The entire code, design and structure of the software have to be known for this type of testing. Often this type of testing is used by the developers to test their own code and implementation. This method is used to test the logic of the code so that required result can be obtained.

Data Flow Testing:

It uses the control flow graph to explore the unreasonable things that can happen to data. The detection of data flow anomalies are based on the associations between values and variables. Without being initialized usage of variables. Initialized variables are not used once.

Slice Based Testing:

It was originally proposed by Weiser and Gallagher for the software maintenance. It is useful for software debugging, software maintenance, program understanding and quantification of functional cohesion. It divides the program into different slices and tests that slice which can majorly affect the entire software.

Mutation Testing:

Mutation Testing is a type of Software Testing that is performed to design new software tests and also evaluate the quality of already existing software tests. Mutation testing is related to modification a program in small ways. It focuses to help the tester develop effective tests or locate weaknesses in the test data used for the program.

Advantages of Structural Testing

  • It provides thorough testing of the software.
  • It helps in finding out defects at an early stage.
  • It helps in elimination of dead code.
  • It is not time consuming as it is mostly automated.

Disadvantages of Structural Testing

  • It requires knowledge of the code to perform test.
  • It requires training in the tool used for testing.
  • Sometimes it is expensive.

Structural Testing Tools

  • JBehave
  • Cucumber
  • Junit
  • Cfix

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads