Monday, September 10, 2012

Testing types approaches

What is Unit Testing, Integration testing, System Testing, User Acceptance testing and Release Testing…?

Answer:
Unit Testing:
Unit testing is a phase in which each sole units of modules or source codes are tested to verify that they are feasible to use. A "unit" is the smallest testable part of a product or an application. Unit tests are usually created by coders/developers and barely by white box testers. The only main purpose of unit testing is - to verify the logic of the code, by testing each possible section within the given functionality, also known as test coverage. Unit testing is typically done by automating the test scenarios by coding test scripts. Usually test scripts are coded for each unit by white box testers using frameworks like - TestNG, JUnit and Selenium-IDE. These automation test scripts are usually executed every time a developer makes changes to that particular unit. Later, each unit of these automated test scripts can either be combined together in a predefined order for "integration testing" or can be run individually again and again for "unit testing".


Integration Testing:
In integration testing each single unit of modules will be combined together and tested to unmask the defects and faults in the fuses of units and in the interaction between integrated units/components. There are different types of integration testing - some are :- big-bang, bottom-up, top-down, and sandwich testing.

System Testing:
System testing is a stage in which the system requirements and conditions will be analyzed and compared against the actual developed system. System tests are performed, probably after favorable completion of integration testing. System testing inspects if the assembled product meets the specified system requirements.

What are the Reasons for system test.?
1. In the prior test phases, the technical aspects of products were taken into consideration for testing. The system test will be done from the perspective of the end users and the future users. The testers ascertain whether the requirements are absolutely and suitably met.


2. Most of the actions and system behaviors result from the reciprocal actions of all the system peripherals, wherefore, these behaviors are only revealed on the level of total merged system environment and hence can only be caught and tested there. 

UAT - "User Acceptance Testing": 
UAT is the stage of testing in which they determine whether or not a combined system application/product conforms to the system and design requirements specified. The UAT blueprint is retrieved from the system and design requirements document. The User Acceptance Test phase is the approach used by the End User/Client to verify and validate whether or not to accept the final completed system/product.


Approaches and steps:
1. Formalize the acceptance facts and models: 

  • Quality Analysis and Assurance - (QA&A) of Functionality requirements. 
  • QA&A of Performance requirements. 
  • QA&A of Integration quality requirements. 
  • QA&A of finished system software requirements. 


2. Devise an acceptance plan: 

  • Plan Project descriptions. 
  • Plan User responsibilities. 
  • Plan Acceptance descriptions. 


Release Testing:
Release testing is a state that concludes if the product/software is acceptable for the end-user side organization. This stage of testing involves - testing of compatibility issues with other systems. It tests whether software is optimized for performance and handle user loads.

Links:

Next: What are the different approaches of Integration Testing..?

Previous: What is V and V Model..?

See: Blog Index.

No comments:

Post a Comment