Saturday 8 November 2014

  1. Unit Testing or Component Testing
  2. It is the first and the most basic level of Software Testing, in which a single unit (i.e. a smallest testable part of a software) is examined in isolation from the remaining source code. Unit Testing is done to verify whether a unit is functioning properly. In other words, it checks the smallest units of code and proves that the particular unit can work perfectly in isolation. However, one needs to make sure that when these units are combined, they work in a cohesive manner. This directs us to other levels of software testing.
  3. Integration Testing
  4. After Unit Testing, software components are clubbed together in large aggregates and tested, to verify the proper functioning, performance and reliability between units, and expose any defect in the interface. This process is known as Integration Testing. It can be performed in two ways-
    • Incremental Testing: testing in the traditional and structured way, this classic approach follows a hierarchical path. It can further be divided into two days:
      • Top-Down Testing: in this approach, top level integrated units are tested first, followed by step by step examination of lower level modules.
      • Bottom-Up Testing: contrary to the top-down approach, this method facilitates testing at the lower level first, and then taking it up the hierarchy. It is generally practiced where bottom-up development process is followed.
      • Sandwich Testing: this approach is the hybrid of Top-Down Testing and Bottom-Up Testing
    • Big Bang Testing: in this approach, most or all of the software modules are put together at once, and then tested. Even though Big Bang testing saves a lot of time, the results recorded are not always accurate. This might result in complications and prevent the developing team to achieve their testing goals.
  5. System Testing or End-to-End Testing
  6. After identifying functional bugs at the Unit and Integration testing level, System Testing is done to scrutinize the entire software system. The objective of this test is to verify the non-functional part of the software like speed, security, reliability and accuracy. Evaluation of external interfaces like applications, hardware devices, etc. is also done at this time. System Testing is also done to ensure that the software meets the customer’s functional and business requirements.

0 comments :

Post a Comment