Software Testing is the process to make the software bug free and to ensure that software meets the client’s requirement and for that testing team uses the different type of testing at the time of SDLC.
Each Software Testing type is equally important and each type has its own features, advantages and disadvantages.
Basically, there are two types. Functional and Non functional
Functional Testing
Mainly, there are four types of functional testing.
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Unit Testing:
This testing is done by the developer on an individual unit of a source code or component. The purpose is to ensure each unit performs as per the requirement or not
White box testing and Gorilla testing comes under the Unit Testing.
- White Box Testing: This technique is used to test internal structure and code of the software .
- Gorilla Testing: In this technique, the module of the application is tested in all aspects. It is performed by the QA team.
Integration Testing
It is a type of software testing where individual modules are logically combined together and tested as a whole.
Gray Box Testing is part of Integration Testing
- Gray Box Testing: Basically, it is the combination of white box and black box testing in which test the application against the requirement but using knowledge of internal structure or code.
System Testing
It is used to check end-to-end system specification. In this testing, a complete integrated software product is being evaluated.
Below are the 5 testing types which are part of system testing.
- End to End Testing: It is a software testing method which validates entire software from starting to the end with its integration with external interfaces.
- Black Box Testing: It is method in which functional requirement of the application is tested without having knowledge of internal code or structure
- Smoke Testing: Smoke testing is performed post software build to verify the critical functionality of the application is working fine or not. If not then the QA team can reject the build before detailed functionality testing is performed.
- Sanity Testing: Sanity testing is performed after receiving a software build with minor changes in code to check that the bugs have been fixed and no further issues are introduced due to these changes.
- Happy Path Testing: It is used to check the functionality of an application with known input with expected output.
- Monkey Testing: It is used to check the software application with random inputs to check whether system breaks or not.
Acceptance Testing
Acceptance testing is done by the end user or client just to check that the system is acceptable or not and ready to move on production or not.
Below are the 3 testing types which are part of Acceptance testing
- Alpha Testing: It is a type of software testing performed to identify bugs before releasing the software application to the real users or public.
- Beta Testing: Final testing before releasing applications done by end-users or others.
Non Functional Testing
Mainly, there are four types of non functional testing.
- Security Testing
- Performance Testing
- Usability Testing
- Compatibility Testing
Security Testing
It is a testing method to check whole and fully integrated software which are integrated with other software/hardware systems. So this is used to validate a full computer based system.
Penetration Testing
This testing is used to cover vulnerability and risks that an attacker may exploit in software applications.
Performance Testing
Basically, this testing is used to check the performance of the software and remove the performance bottleneck in software products. Scalability, stability, speed, response time and resource usage can be included in the process of performance testing.
Load Testing
This testing method is used to check the performance of the software product under a specific expected load.
Stress Testing
This method is used to check the reliability and stability of the software application. This testing measures the error handling under extremely high load conditions.
Soak Testing
It is a testing that is used to measure the performance of a software under a huge volume of load for an extended period of time.
- Volume Testing: This testing is performed to check the performance of the software by applying high volume of data in the database.
- Scalability: It is a method to measure the performance of the software or network when a high number of user requests are scaled up and down. This method is used to check the user traffic, data volume and transaction count
Usability Testing
This testing method is used just to check how easy and how user friendly the product is.
Mainly, the method below is known to check usability of the system.
- Exploratory Testing: In this type of testing, testing is being done without following test cases or without creating test cases and tester check the system on the fly
- Accessibility Testing: This is a type of testing to verify the software usable by people with disabilities like hearing, color blindness, old age group.
Compatibility Testing
This type of testing is used to check if the software is compatible with different platforms like different hardware, different operating systems, network devices, mobile devices etc.
Conclusion
It is not always compulsory to perform all the testing types on the software to ensure it’s quality but which test should be performed that depends on the software type , its architecture and other factors.
She is Senior Quality Analyst at Elitech Systems. She has expertise in automated and manual Software testing, proficient in analysing a large scale project with useful insights for developers and project team.
Comments are closed.