Software Testing Types
There are many types of software testing such as Functional Testing, Non-Functional Testing, Automation Testing, Agile Testing, etc. Given below is a list of testing typesFunctional Testing types include:
- Unit Testing
- Integration Testing
- Interface Testing
- Regression Testing
- System Testing
- Smoke Testing
- Sanity Testing
- Beta/Acceptance Testing
Non-functional Testing types include:
- Volume Testing
- Security Testing
- Performance Testing
- Compatibility Testing
- Install Testing
- Recovery Testing
- Reliability Testing
- Usability Testing
Above given testing, types are used most frequently. Now let's explain the testing types one by one which is mentioned and some other which are not mentioned. In this article, we will cover the most common testing types, not all the testing types.
Unit Testing
Testing type in which small units of an application are being tested is known as unit testing. It is normally done by developers, not by testers. The purpose of unit testing is to verify the code quality.Smoke Testing
A testing type in which we check all the major functionalities of the application. Before starting detailed testing, testers run a smoke testing cycle to verify the build stability. Smoke testing can decide either it is good to proceed with the build or not.Sanity Testing
Testing of small changes or bug fixes is called sanity testing. Insanity testing testers only verify the changed things, not the whole application. Suppose a tester finds a bug in the application. After that developer will fix the bug. After the bug is fixed by the developer, the updated build will be given to the tester, and the tester will only verify that bug.Alpha Testing
A testing technique that is carried out at the developer's site is called alpha testing. Alpha testing is done before releasing the software to the end-user. This testing is carried out when the development phase is completed and software is about to launch. The main reason to run the alpha testing cycle is to identify all possible issues or defects before releasing it into the market or to the end-user.Beta Testing
Testing which is carried out by customers is called beta testing. Beta testing is done in a real environment and end-users test the application with real data.Ad-hoc Testing
Testing carried out by testing any flow of the application is called ad-hoc testing. This is also called random testing. Through Adhoc-testing we find the defects and try to break the application by executing any flow of the application or any random functionality. It is done without any plan or documentation.Acceptance Testing
In acceptance, testing the client verifies whether the end to end the flow of the system is working fine or not. The client accepts the software only when all the features and functionalities work as expected. In acceptance testing client satisfaction is important.Black Box Testing
Testing of an application's functionality without knowing the internal details is called black-box testing. Internal detail is not considered. Tests are based on the requirements and functionality.White Box Testing
Testing of the internal structure of code is called white box testing. It is also called glass box testing. To perform white box testing coding knowledge is compulsory. Tests are run to cover the code statements, branches, conditions, etc.Grey Box Testing
Grey box testing is a combination of both black box testing and white box testing. The aim of this testing is to find possible errors in the code and usage of the application. Both things are covered code and front-end functionality.Back-end Testing
In back-end testing, data verification is done in the database. Either entered record is saved successfully or not. We can also verify the data retrieval.Accessibility Testing
It determines that software or application is accessible for disabled persons or not. Disabled means color blind, deaf, mentally disabled, blind, and other groups.Compatibility Testing
Compatibility testing validates how software behaves in a different environment. like web servers, hardware, operating systems, mobile devices, and browsers.Functional Testing
Functional testing ignores the internal details. It focuses only on the functionality of the application either it is working as per requirements or not.Non-Functional Testing
It is a type of testing which involves testing of non-functional requirements such as load testing, stress testing, security testing, recovery testing, volume testing, and system response, etc,Exploratory Testing
In exploratory testing, the tester explores the application and finds the bug. A type of testing that is performed without any documentation. The application is tested by using it. Tester understands the application flow by using it and finds the defects. It's all about discovery, Investigation, and learning. Test cases are created in advance.Monkey Testing
A technique in software testing where the user tests the application by giving random inputs and checking the behavior of the application. It aims to check the application behavior when a layman uses the software without any knowledge. No, a document is provided to perform the monkey testing.Static Testing
Static testing is a type of testing which is performed without executing the application. It involves the review of documents, walkthroughs, and inspection of the deliverables of the project.Dynamic Testing
Dynamic testing is a type of testing which is performed by running the application or executing the code. The user requirement's verification is done in dynamic testing.Performance Testing
A type of nonfunctional testing is executed to check the performance of the application. How application behaves under different circumstances like load, stress, and volume.Load Testing
Load testing is a subtype performance testing, the behavior of the application is determined during different load. The number of concurrent users is increased gradually to verify the system response under different loads.Stress Testing
It is also a subtype of performance testing. Stress testing is used to determine the behavior of the application beyond the load. Suppose an application supports 5000 maximum number of concurrent users, so for stress testing, we will try with more than 5000 users. Similarly, we can go beyond the limit with storage capacity to check how and when it will crash.Gorilla Testing
Gorilla testing is a type of testing wherein a module is tested repeatedly to ensure that its functionality is working fine. Developers can also do gorilla testing.Recovery Testing
A type of testing that validates the recovery of data. How an application recovers data in case of crash or disaster.Regression Testing
A type of testing that validates the functionality of a system as a whole after some modifications or changes. In regression testing, we verify that existing functionalities are working fine or not.Security Testing
A type of testing is used to verify the security of a system. A special team performs security testing. It is done by penetrating different combinations of data in a hacking way. It helps us to protect our system from external threats. It also ensures that how our systems are secure from viruses and malicious programs.Usability Testing
A testing technique is used to verify the look and feel of the software. Application is tested with a user point of view, that how much application is user friendly. A new user can understand easily or not. If an application is user friendly, then it will be easier for new users to use it. The application's navigation systems should be more clear for a layman.Volume Testing
A type of non-functional testing is performed by a performance testing team. The application is tested by giving large amounts of data. Systems response time and behavior are measured when it comes across a huge volume of data.Negative Testing
A testing technique which is used to break the system by providing negative inputs. Negative or incorrect data is used to check the system response. How it behaves in case of incorrect data.Mutation Testing
Mutation testing is a type of white box testing where the source code of one program is changed and existing test cases identify the defects. Changes are done on a small scale so that the entire application's functionality would not be affected.Happy Path Testing
A type of software testing which ensures that positive flows of application are working fine. No negative inputs are used in happy path testing. The main focus is only on the valid and positive inputs through which application generates the expected results.Installation Testing
Installation testing is used to validate that systems are installed successfully and its functionality is working as expected.Reliability Testing
A software testing technique ensures that how much the system is reliable and can it perform failure-free operations for a specific span of time in a particular environment.Above mentioned testing types are used most commonly. There is still a long list of testing types, but not all testing types are used in all types of projects. We have covered the most common which are used in the software testing life cycle.
0 comments:
Post a Comment