What is Unit testing?Unit testing, also called Component testing is performed by programmers to test that a specified unit of the program meets the expected output when a particular input is provided. Here, the programmer has to know the internal logic and code of the system. It is a way of performing the White box testing. It involves checking that each feature specified in the “Component Design” is implemented in the components.
A Unit in unit testing means a module self contained and by itself.
What is Assembly testing?Assembly testing moves one step ahead of Unit testing. It checks if two or more modules are able to communicate and produce expected results or not. No Unit in the system can perform stand alone activities. The output of one module may be used as input by another, so it is highly important if the related modules are able to connect and produce the desired result. Assembly testing is a way of Black box testing and can be done through the UI.
What is Regression testing?Regression testing is performed to see if the system would work well in case of any enhancements or changes in future. Here, all the scripts are run together to see that others are not effected by a change in one module.
What is System Testing?System testing is done to see if the system delivers the required features, functional and non-functional requirements & outputs. It doesn’t check each component individually but the whole system is checked as one entity. It is done at developers end. The testing for non-functional requirements includes:
a. Performance Testing
b. Volume Testing
c. Stress Testing
d. Documentation Testing
e. Robustness Testing
What is Acceptance Testing?Acceptance Testing is performed by the client to see if the system delivers what was requested. It looks similar to system testing but the difference is in the focus. Here, the testing is done by Client from his point of view as he is the one who knows the whole process and requirements of his business.
What do you mean by V-model in testing?V-model performs a mapping between the type of test and the stage in project development i.e which test is to be performed at which stage. This has 4 levels of testing the system:
1. Unit Testing-performed by system team at first level
2. Integration/ Assembly testing-performed by system team or an independent tester
3. System Testing- performed by system team
4. Acceptance testing-performed by the client.
What is difference between SITP and UTP in testing?A test plan that is done at the smallest level or stand alone mode is known as Unit Test Plan. For example, a project is having customer and invoicing modules. So the test on customer module and invoicing module will be done individually. This is Unit Test Plan.
Later both customer and invoice is to be tested in one set. To do so, we integrate both into one set and test them. So System Integration Test Plan and Unit Test Plan can be done by using NUNIT.
Unit testing is normally done by developers and the system testing is normally done by testing professionals in an integrated mode.
What’s the difference between Unit testing, Assembly testing and Regression testing?Unit testing ensures that the program unit meets the requirements which are reliable. Unit testing is normally conducted by the programmer who is supervised by the team lead. Testing the individual unit is the main objective of unit testing. Unit testing follows white box testing style.
Assembly testing demonstrates the interaction among modules in a correct, stable and proper manner which was defined in the functional requirements that are provided by the client. Assembly testing follows black box testing style.
Regression testing ensures the proper functionality of an application irrespective of changes or enhancements to the system. The testers will run all the scripts in order to ensure that nothing has been affected.
What is V model in testing?The mapping of the type of testing to the stage of development in a given project is done by V model. In this model of testing there is a testing stage for every development stage which means a mapping between the development and a testing.