Types of Testing

TYPES OF TESTING

There are 18 types of testing.
1.      Build Verification Testing.
2.      Regression Testing.
3.      Re – Testing.
4.      α  - Testing.
5.      β  - Testing.
6.      Static Testing.
7.      Dynamic Testing.
8.      Installation Testing.
9.      Compatibility Testing.
10.   Monkey Testing
11.   Exploratory Testing.
12.   Usability Testing.
13.   End – To – End Testing.
14.   Port – Testing.
15.   Reliability Testing
16.   Mutation Testing.
17.   Security Testing.
18.   Adhoc Testing. 

1)Build Verification Testing
It is type of testing in which one will conduct overall testing on the related build in order to conform whether the build is proper or not for conducting detailed Testing.
To do some one will check the following,
1) Whether the build can be properly installed in to environment or not.
2) Whether one can navigate to all the pages of the application or not.
3) Whether all the imported features are all available or not.
4) Whether required connections are properly established or not.
In some companies this type of testing is also called as Smoke Testing.
But in some companies just before releasing the build the developers will check whether the build is proper or not. i.e. is known as Smoke Testing and once the build is released the test engineers will check whether the build is proper or not.
i.e Known Build Acceptance Testing(BAT),Build Verification Testing(BVT), Sanity Testing.

2) Regression Testing
It is a type of testing in which one will perform testing on the already tested functionality again and again this is usually done in scenarios (Situations).
 Scenario 1:
When ever the defects are raised by the Test Engineer rectified by the developer and the next build is released to the testing department then the Test Engineer will test the defect functionality and it’s related functionalities once again.
 Scenario 2:
When ever some new changes are requested by the customer, those new features are incorporated by the developers, next built is released to the testing department then the test engineers will test the related functionalities of the new features once again which are already tested. That is also known as regression testing.
  Note: Testing the new features for the first time is new testing but not the regression testing.

Regression Testing – How to Test?

Like any other Testing Regression Testing Needs proper planning.
For an Effective Regression Testing to be done the following ingredients are necessary:
 Create a Regression Test Plan: Test Plan identified Focus Areas, Strategy, Test Entry and Exit Criteria. It can also outline Testing Prerequisites, Responsibilities, etc.
Create Test Cases: Test Cases that cover all the necessary areas are important. They describe what to Test, Steps needed to test, Inputs and Expected Outputs. Test Cases used for Regression Testing should specifically cover the functionality addressed by the change and all components affected by the change. The Regression Test case may also include the testing of the performance of the components and the application after the change(s) were done.
Defect Tracking: As in all other Testing Levels and Types It is important Defects are tracked systematically, otherwise it undermines the Testing Effort.

3) Re – Testing:
It is a type of testing in which one will perform testing on the same function again and again with multiple sets of data in order to come to a conclusion whether the functionality is working fine or not.
1.      Re-testing starts from the 1st build and continuous up to the last build.
2.      Regression Testing starts from the 2nd build and continuous up to the test buld.
3.      During Regression Testing also re-testing will be completed.

4) α  - Testing:
It is a type of testing in which one (I.e., out Test Engineer) will perform user acceptance testing in our company in the presents of the customer.
Advantages:
If at all any defects are found there is a chance of rectifying them immediately.

5)  Static Testing:
It is a  type of testing in which one will perform testing on the application are its related factors without doing any actions.
Ex: GUI Testing, Doc Testing, Code Reviews and etc.

6) Dynamic Testing
  It is a type of testing in which one will perform  testing on the application are its related factors by doing some actions.
Ex: Functional Testing.

7) Installation Testing.
It is type of testing in which one will install the application in to the environment by the following guidelines  provided in the deployment document in order to conform whether those guidelines are perfectly suitable for installing the application in to the environment or not.

8) Compatibility Testing
It is type of testing in which one will install the application to multiple environments  prepared with different combination in order to conform whether this application is suitable with those environments or not.
This type testing is more important for products rather than the projects.

9) Monkey Testing
It is a type testing in which one will perform abnormal actions abnormal actions intentionally on the application in order to check its statements.

10) Usability Testing
It is a type of testing in which one performs testing on the user friendliness of that application.

11) Exploratory Testing
It  is a type of testing in which domain experts will perform testing on the application without having the knowledge of the requirements and just by parallel exploring the functionality.

12) Port Testing
It is a type of testing in which one will install the application in to customers environment and check whether it is compatible with that environment or not.

13) End to End Testing:
 End-to-end testing is similar to system testing,
It is a type of testing in which one will perform testing on all the end to end scenarios of the application.
Ex: Login to Logout of an application

14)Security Testing.
Security/penetration testing is testing how well the system is protected against unauthorized internal or external access, or willful damage. This type of testing usually requires sophisticated testing techniques.
In this the black box test engineers will do the following

1.   Authentication Testing
 It is a type testing in which one will enter different combinations of user names and passwords in order to conform only authorized users are accessing the application.

2.   Direct URL Testing
It is a type of testing in which one will enter direct url’s of the secured pages and will try to access the application in order to check whether the application is properly protecting the secured pages.

3.   Fire fall Leakage testing or user privilege testing
In this type of testing one will enter into the application as one level of user and will try to access the application beyond the user limit in order to conform the fire fall technology is working fine or not.

15) Reliability testing (or) Soak Testing.
It is a type of testing in which one will perform testing on the application continuously for long period of time in order to conform to check the stability of the application.

16) Mutation Testing
It is a type of testing in which one will perform testing or its related factors after doing some changes to them.

17) Adhoc Testing.
It is a type of testing in which the test engineers will perform the application in their own style after understanding the requirements  very clearly usually this type of testing will be encouraged after formal testing.