Levels of Testing:

Unit Testing, Integration Testing, System Testing, User Acceptance Testing

Unit Testing

Unit testing is a smallest testable part of a software usually they will give one or two inputs and getting one output. Unit testing conducts on single program or single module. Unit testing is white box testing technique. Unit testing is done by developer.

There are three unit testing techniques :

  • Basic path Testing
  • Control structure testing
  • Mutation testing

In conditional coverage testing two types of testing available which is

Conditional coverage testing

Loop coverage testing

Integration testing :

In integration testing individual software modules are integrated logically and tested as a group.Integration testing mainly focus on checking the data communication amongst these modules. It is done by the developer. Integrated testing is a white box testing technique.

There are two types of approaches in integration testing :

  1. Top down approach
  2. Bottom up approach

It is also called I & T testing which is integration testing.

Why we have to do integration testing :

There is a change in required while software module is built. The new build may not be integrated that’s why integration testing is necessary. Sometimes interface of the software module could not be correct.

Approaches methodology/ Strategies of Integration Testing :

1.Stubs & drivers – both are temporary program to test

2.Bottom up integration

3.Top down integration

Stub : It is a module under test

In this method module called stub, Driver calls modules.

Bottom up Integration :

Advantages :

1.Fault localization is easier

2.No time is wasted waiting for all the module to be developed

Disadvantages :

  1. Critical module on the top which controls the flow of an application.
  2. Easy prototype not possible

In this method testing will happen from sub module to main module.

Top down integration

Advantages :

  1. Fault localization is easy
  2. Critical modules are tested
  3. Easy prototype is not possible

Disadvantages :

  1. Need more stubs
  2. Modules at the lowers levels are tested inadequately

Integration testing procedure :

  1. Based on test strategies
  2. Need to prepare integration test plan
  3. Design the test scenarios, test case, test scripts
  4. Execute the test case followed by reporting defects
  5. T racking and retesting the defects
  6. Steps three and four will repeat until the integration completion is successful

Integration test plan :

1.Approaches to test

2. Scope and out of scope for integration testing

3. Roles and responsibilities

4. Pre requisite for Integration testing

5.Test environment

6. Risk and mitigation paln

System Testing :

It is a black box testing technique.

  1. Testing the overall functionality of the application with respect to the customer requirement.
  2. It is a black box testing technique
  3. Before conducting the system testing we should know the requirement well
  4. It is done by testing team
  5. System testing focus on the following aspect to check the flow of the application till the end
  1. User interface testing (GUI)
  2. Functional Testing
  3. Non functional testing
  4. Usability testing

User Acceptance Testing :

After completion of the system testing UAT team conducts acceptance testing in two levels.

Alpha testing :

It is the application will test in our environment

Beta testing :

Sometimes application will test in the customer environment. It is not staple. Customer may realize the application to the public and make the customers to identify the defects and realize one more version of the application in future.

White box testing :

It is a testing technique to check the internal logic of the program or code and it’s structure. It is also called glass box testing or transparent testing.. Most of the defects can be found in unit, compound and integration level. This test can cover the code, path, branch, conditions.

White box testing technique :

  1. Code coverage
  2. Path coverage
  3. Condition coverage
  4. Branch coverage

Black box testing :

Testing conducts on the functionality of the application with respect to the customer requirement.

Example : System testing & UAT testing

Grey box testing :

It is a combination of black box and white box testing.

Example is Database testing

Whatever we give in the frontend it is stored in the data base to check the information which is present in he database with the frontend details to execute the SQL command. This is one type. In parallel by giving the valid information in the frontend which is present in the database we also conduct a black box testing. So we here conducting black box testing and white box testing both, these type of testing is called grey box testing.