Software Testing type is a categorization of different software test activities performed on the Software Under Test [SUT], each activity or test has its own importance, objective, Test strategy, and test goals. Each test activity has performed on SUT based on application nature and its defined requirements.
Hi Viewers, Welcome to QAShala.com, this blog is focused on the FRESHER & those who are new in the Software Testing industry. Here, we will try to understand the Software Testing Types.
Mainly Software Testing is classified in to 3 categories
- White Box Testing: It’s also called Unit Testing or Open Testing
- Grey Box Testing:
- Black Box Testing: It’s also called Functional Testing
White Box Testing:
White Box Testing is performed by the Developer, testing consist of verification of each and every line of code, White Box Testing contains each independent path test, all the loops and conditions testing, and code response and performance test.
Black Box Testing:
Black Box Testing is performed by the Test/QA Team, It’s verification of the behavior of software against the requirement specification.
Here is the list of Software Testing Type, a must read for any QA Freshers.
- Functional Testing: Functional Testing is also called component testing, testing each and every component of the software thoroughly as per the defined requirement called Functional Testing. Functional Testing must start with the valid data and then go with a deep test and followed by negative testing.
- Integration Testing: Testing the data flow between the two models or 2 different features called Integration Testing, here individual software modules are added and tested as a group to check the proper interface between all of them. We have different type of Integration testing
- Top-Down Integration testing: Incrementally start adding the module and test, make sure each newly added module should be depending on the previous module.
- Bottom-Up Integration testing: Start testing from the bottom child, incrementally start adding the module and test, make sure each newly added parent module should be depending on the previous child module.
- Big-Bang method: When the Models are unidentified, then the tester combined all the models in one shot and starts testing.
- System Testing: The Process of testing an application to verify that the software system meets its specified requirements, this testing could be performed on both Test and Production Environment.
- End-To-End Testing: This is a kind of System testing, it will cover the complete application test as per the Production environment and the test is similar to real-world scenarios, it includes the mail component test, Database interaction, and all the Happy Path scenarios provided by the business team.
- Acceptance Testing: It’s a basic and conventional Testing usually performed by the customers to determine whether the delivered system could be accepted and the system is behaving exactly what the client wants, this testing some time done by the product owners as well.
- Ad-hoc Testing: Ad-hoc testing is performed without any requirement consideration, tester tries to break the code with the random positive or negative scenarios, in the Ad-hoc testing tester don’t write the test cases because testing based on random cases.
- Exploratory Testing: This testing usually performed when the new functionality or feature added to the application, tester explores the application to understand the deep meaning and how the feature works and its importance, this testing is not based on any planning or documentation.
- GUI Testing: It’s known as Graphical User Interface testing, Tester mainly focuses on the frontend UI as per the requirement specification, it covers all the UI colors, design, font, size, etc.
- Globalization Testing: Testing is performed to check whether the application covers all the Global attributes, Inputs and settings, and application behavior as per different regions and their circumstances.
- ADA Testing: Its stands for “American Disability Act”, also known as accessibility testing, this testing is performed to ensure that the application can be used by special people who are having a disability, this testing is dependent on the client’s requirement.
- Load Testing: Load testing is performed to check the application response and its behavior under a specified load
- Performance Testing: Performance Testing is conducted to measure the application performance based on some expected input at the same time or unexpected input at different times for specified performance requirements.
- Negative Testing: Negative Testing is performed to shows that the application is not working in defined conditions, Tester’s aim is to show that functionality is not working.
- Regression Testing: Testing is performed to verify the impact after any bugs fix or feature added or removed on the system.
- Security Testing: This testing is performed to analyze the risk and threads on the application and verification of all the security component security certificates to prevent the data breach.
- Sanity Testing: This is usually performed at the first stage to determine whether the application or feature is well enough to go for major or main testing, testers verify the main features, integrated modules, data flow and try to find out any blocker issue which prevents or cause problem to performed main test activities, this testing is usually conducted when the system is stable and features are working fine.
- Smoke Testing: This testing activity also performed on the initial states to check the critical/major functionalities, this is usually performed when the application is unstable or sometimes when the application is deployed to the production environment.
- Compatibility Testing: This testing is performed to check whether the application compatible with different hardware machines, different browsers, etc.
Grey Box Testing:
Grey Box Testing is a software testing technique to test a software product or application with little knowledge of the architecture of the application. The need for grey box testing is to identify the defects due to code structure or invalid use of applications.
Thank you for reading, if you have any doubt feel free to reach out to us.