Methodologies – Discuss Software Methodologies in detail.

Software Testing Methodologies:

Software Testing Methodologies defined as the strategies and testing types used to certify that application under test matches client expectations.
Testing Techniques:
There are three methodologies used for testing which are as follows:
In This post we will learn about White Box Testing and its types:

White Box Testing:

White Box Testing is also known as clear box testing, glass box testing, code box testing. It is usually performed by developers. In this type of testing, code is visible to the tester. White Box testing is based on the inner working of an application. Internal Testing is done in this phase. In white-box testing the inner working of software is visible.

White Box Testing Techniques:

  • Statement Coverage
  • Branch Coverage
  • Path Coverage
  • Condition Coverage
  • Multiple Condition Coverage
  • Decision Coverage
  • Control Flow Testing
  • Data Flow Testing

Statement Coverage: 

This Technique Requires every possible statement in the code to be tested at least once. It is used to calculate the total number of executed statements in the source code out of the total statements present in the source code.

            Statement Coverage =  (Number of executed statements/Total Number of statements) * 100

              For eg: Number of executed statements = 5

                       Total Number of statements=7

                Now Statement Coverage= 5/7*100=71%.


Branch Coverage:

Series of tests to ensure that all the branches are tested at least once. Branch Coverage works on the basis of If-Else condition.

        Branch Coverage = (Number of decision outcomes tested/Total number of decision outcomes) * 100

Path Coverage: 

All possible path which means each statement and branch is covered. In this technique, we use source code of the program so that we can find every executable path.


White Box Testing Tools:

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit
  • Veracode
  • RCUnit
  • cfix
  • Google test
  • JUnit
  • JSUnit


  • In White Box Testing, code is optimized by finding hidden errors.
  • White Box test cases can be easily automated.
  • Provides clear rules when testing needs to be stopped.


  • It can be expensive.
  • White box testing can be complex.
  • White box testing is time-consuming.
  • It can be possible that we sometimes miss some lines of code that need to be tested.
  • In-depth knowledge about a programming language is required when you are performing white box testing.
In the coming posts, we will discuss these three statement coverage, branch coverage, and path coverage in detail.