There are seven levels of testing. They are as follows:
§ Unit Testing
§ Component Testing
§ Integration Testing
§ System Testing
§ Acceptance Testing
§ Alpha Testing
§ Beta Testing
§ Unit Testing is a type of testing that is performed by software developers.
§ Unit testing follows white box testing approach where developer will test units of source code like statements, branches, functions, methods OR class, interface in OOP (object oriented programming).
§ Unit testing usually involves in developing stubs and drivers.
§ This type of Software Testing is performed by developers.
§ Component Testing is carried out after completing Unit Testing.
§ Component Testing involves testing a group of units as code together as a whole rather than testing individual functions, methods.
§ Integration Testing is one of the important types of Software Testing.
§ Once the individual units or components are tested by developers as working then testing team will run tests that will test the connectivity among these units/component or multiple units/components.
§ There are different approaches for Integration testing namely, Top-down integration testing, Bottom-up integration testing and a combination of these two known as Sand witch testing.
§ Entire system is tested as per the requirements.
§ Black-box type testing that is based on overall requirements specifications, covers all combined parts of a system.
§ Acceptance testing is a formal type of software testing that is performed by end user when the features have been delivered by developers.
§ The aim of this testing is to check if the software confirms to their business needs and to the requirements provided earlier.
§ Alpha testing takes place at the developer’s site by the internal teams, before release to external customers.
§ This testing is performed without the involvement of the development teams.
§ The focus of this testing is to simulate real users by using black box and white box techniques.
§ The aim is to carry out the tasks that a typical user might perform.
§ Alpha testing is carried out in a lab environment and usually the testers are internal employees of the organization.
§ To put it as simple as possible, this kind of testing is called alpha only because it is done early on, near the end of the development of the software, and before beta testing.
§ Beta Testing of a product is performed by “real users” of the software application in a “real environment” and can be considered as a form of external user acceptance testing.
§ Beta version of the software is released to a limited number of end-users of the product to obtain feedback on the product quality.
§ Beta testing reduces product failure risks and provides increased quality of the product through customer validation.
§ It is the final test before shipping a product to the customers.
§ Direct feedback from customers is a major advantage of Beta Testing.
§ This testing helps to tests the product in real time environment.