Most of the interviews are intimidating. We might forget the important ones during the interview. The idea of this post, is to cover the important testing types in short and clear way. Also as a reference manual for the interview rush. Keep Reading 🙂
1. Smoke Testing
Smoke testing is an end to end testing performed on the build to determine the stability. It is done by testing the crucial functionality of the application.
The purpose of smoke testing is to determine that the build is stable or not. Smoke testing is done to ensure that, the crucial functions of the program are working as expected , and not concerned about the inner details.
Who does ?
It depends, The Development team does smoke tests before deploying the build to make sure the build is good. On the other hand, QA team performs basic tests before starting the detailed testing.
2. Sanity Testing
Sanity testing is done to check whether the newly added functionality/ bug fixes are working as expected or not. If sanity test cases are failed then there is not point in testing further as the required features or functionality is not available. For Differences between smoke and sanity testing which is regular question, check out here: Smoke vs Sanity
Retesting is to verify that the defects are fixed and the functionality is working as expected. When a defect is fixed, the test cases which are failed with reference to the defect are executed again.
4. Regression Testing:
Regression testing is performed to verify that the defect fixes made to the software works as expected and does not break the existing functionality.
For differences between Regression testing and Retesting check this link Regression vs Retesting
5. Alpha Testing:
A type of user acceptance testing conducted in the software company, by the test engineers just before delivering the application to the client.
6. Beta Testing:
It is also a type of user acceptance testing conducted in the client’s place either by the end users or third party experts, just before actual implementation (production) of the application.
7. Static Testing (Look and Feel Testing):
A type of testing in which one will perform testing on the application or its related factors without any actions.
EX: GUI Testing, Document Testing, Code Reviews.
8. Dynamic Testing:
It is a type of testing in which one will perform testing on the application or its related factors by doing some actions.
Ex: Functional Testing.
9. Installation Testing:
In this type one will install the application in the environment, following the guide lines provided in the deployment document(Installation Doc), in order to confirm whether the provided guide lines are exactly defined for installing the application.
10. Port Testing:
A type of testing in which tester will install the application in to the original client’s environment and check weather it is compatible with that environment.
11. Usability Testing:
Testing the user friendliness (UI) of the application is called usability testing. Mainly concentrates on the following.
- How easy the application for usage.
- How easy to learn the application
- How convenient for the end user.
12. Compatibility Testing:
It is a type of testing in which one will install the application into multiple environments, prepared with different configurations, in order to check whether the application is suitable with those environments or not. Usually these types of testing are focused in a product based company.
13. MONKEY Testing:
It is a type of testing in which one will perform abnormal actions on the application. Intentionally, in order to check the stability of the application. Like a Monkey
14. EXPLORATORY Testing:
EXPLORING: Having basic knowledge of about some concept, doing some navigations and knowing more about the same concept is known as Exploring.
The domain experts will perform testing on the application without having the knowledge of requirements, just by parallel exploring the functionality.
15. End To End Testing:
Testing the end to end scenarios of the application is known as End to End Testing. Generally the complete flows are testing right from starting to ending.
16. Security Testing:
A type of testing in which one will check whether the application is properly protected or otherwise.
To do the same the BLACK BOX TEST Engineers will perform the following types of Testing:
17. Authentication Testing:
In Authentication testing one will enter different combination of user names and passwords and check whether application allows only the authorized people to access.
18. Direct URL Testing:
Entering direct enter the URL’s of secured pages, in order to check whether the secured pages are directly accessed with out login to the application. For Example: www.icicbank.com/abc1234user/accounts/payments/funds transfer – This page should not be accessible directly.
19. Firewall Testing(or) User Privileges Testing:
It is a type of testing in which one will enter in to the application as one level of user and will try to access beyond the user limits, in order to check whether the fire walls are working properly or not.
20. Mutation Testing:
Testing performed on the application are its related factors by introducing some minor changes deliberately to the application is called mutation testing. for example replacing a logical operator.
21. SOAK /Reliability Testing:
In the type of testing the application is used continuously for a long period of time (days,weeks etc)in order to check the stability.
22. ADHOC Testing:
In Adhoc testing, one will perform testing in their own style after understanding the requirements clearly. It is done to uncover the defects that are not covered/found in planned testing. Usually in the final stages of the project, This type of Testing is encouraged.
23. Parallel Testing:
Parallel testing means testing multiple applications or subcomponents of one application concurrently to reduce the test time.
24. Performance Testing:
It is an advanced testing in which the testing team creates huge environment to conduct this testing. During this test, testing team validates the Speed of Processing, Scalability (Max users at a time) and Stability (fluctuations). Also performance tools like jmeter are used.
25. LOAD Testing:
A load test is conducted to understand the behavior of the application under a specific expected load. It is performed to determine a system’s behavior under both normal and at peak conditions. It helps you determine how application behaves when multiple users are logged in sumultaneously. example: bookmyshow website with huge traffic on the first day release of movie tickets.
26. STRESS Testing:
Testing beyond the normal operating conditions is called stress testing. The main objective is to ensure the software does not crash in conditions of abnormality such as low system memory. Example: bookmyshow website can handle 20000 users at a time and suddenly 21000 users logged in, In this case the application should not crash.
27. STORAGE Testing:
Storage testing is to test if the system rightly stores and retrieves such data from the database. Also has sufficient space to prevent unexpected termination due to lack of space.
28. Data Volume Testing:
Volume testing means testing the behaviour of the application with huge amount of data. for example: MS-Access cannot handle data more than 2 GB. After 2GB it behaves abnormally.
29. Cross Browser Testing:
Testing websites for cross browser compatibility on real browsers. QA team tests the application on various browsers such as Chrome, safari, firefox, IE etc.
30. Big Bang /Informal:
In Big Bang testing, all the modules are integrated and then the system is executed as a whole to know whether all the integrated modules are working fine or not.
31. Icremental/Formal Testing:
A multiple stages of testing process from unit level to system level is called incremental testing. It is also known as formal testing.
32. Integration testing:
Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.
33. Non-functional testing:
Testing the attributes of a component or system that do not relate to functionality, e.g. reliability, efficiency, usability, security, performance, portability etc.
34. Requirements-based testing:
An approach to testing in which test cases are designed based on test objectives and test conditions derived from requirements, e.g. tests that exercise specific functions or probe non-functional attributes such as reliability or usability.
35. White Box Testing:
White box testing is a method of testing software that tests internal structures or workings of an application.
You have done a good job until now. Refer below posts as well for some good understand of other concepts