This is also called glassbox testing. This type of testing techniques is performed by the programmers by executing the application with all boundary values ( Inputs). This whitebox testing is classified into two types.
1. Unit testing
2. Integration testing

Unit Testing : It is also called as module testing, unit testing is performed by developers,

Broadly classified into 2 tests
Execution Testing
Operation Testing

Integartion Testing : This test is carried out by both Developers and testing team with respective of all dependable modules in the developed application.
This is classified into 3 approaches

1. top-down approach
2. bottom-up approach
3. Sandwitch approach

Software testing techniques

Software testing plays a major role in software quality assurance and represents the ultimate review of specification, design and coding.

Testing Fundamentals

Testing is the one step in the software engineering process that could be viewed as destructive rather than constructive.

Is testing really destructive? No, the objectives of software testing are different

Objectives:

Software testing is a process of executing a program with the intent of finding an error. A good testcase is one that has a high probability of finding an undiscovered error.

A successful test is one that uncovers an undiscovered error.

Testing Principles:

1. All tests should be traceable o the requirements.
2. Tests should be planned before software testing begins.
3. Testing should begin with small modules and progress towards testing big modules.
4. For the effective results testing should be carried out by third party.

Testability:

It is simply how a computer program can be tested. There are some metrics with which we can measure our testability.

Operability,
Observability,
Controllability,
Decomposability,
Simplicity,
Stability,
Understandability.

Software Testing Types:

There are two types of software testing.
1. Whitebox testing.
2. Blackbox testing.