Types of Software Testing
The software life cycle is a process that explains the flow of tests that must be performed for each product. The V-Model ie Verification and Validation Model is an ideal model that is used to improve a software project. This model contains the software development life cycle on the one hand and the software testing life cycle on the other. Checklists for the software tester set a basic level that leads him to his daily activities.
Testing Black Box:. He explains the process of entering the input into the system and verifying the output without considering how the system generates the output. It is also known as "Behavioral Testing."
Functional testing: Software tested for functional requirements. This checks if the application is running according to the specification.
Performance Testing:. This test verifies the correct operation of the system in accordance with the requirements of the user. Performance testing depends on stress and stress testing, which is applied internally or externally to the system. Load testing. With such performance testing, the system goes beyond the limits to test the system's performance under higher loads. Stress testing: in this type of performance testing, the system is tested beyond normal expectations or operational capabilities. Usability Testing: This is also known as User Testing. It checks the ease of use of the application.
Regression testing: Regression testing is one of the most important types of testing that checks whether a small change in any component of an application affects immutable components or not. This is done by re-executing previous versions of the application.
Smoke testing:. It is used to test the application’s test capability and is also called "Test assembly verification or link testing." This means that it checks the application is ready for further testing and work, without dealing with more precise details.
Health Check: A health check verifies system behavior. This is also called narrow regression testing.
Parallel testing: Parallel testing is performed by comparing the results of two different systems, such as old vs new or manual vs automatic.
Recovery testing: To test how quickly the system can recover in the event of a hardware failure, catastrophic problem or system failure, it is very important to test the testing.
Testing the installation:. This type of software testing determines the ways in which the installation procedure produces incorrect results.
Compatibility Testing : The compatibility test determines whether the application works under a supported configuration, as expected, with various combinations of hardware and software packages.
Configuration Testing: This test is performed to verify compatibility issues. It determines the minimum and optimal hardware and software configuration and determines the effect of adding or modifying resources such as memory, drives, and processor.
Conformity Testing: This checks to see if the system has been designed in accordance with standards, procedures, and recommendations.
Error testing:. This determines the ability of the system to correctly handle erroneous transactions.
Testing with manual support:. This type of software testing is the interface between people and the application system.
Inter-Systems Testing: This method is the interface between two or more application systems.
Experimental testing: Experimental testing is similar to special testing and is performed to study the functions of the software.
Volume testing: This testing is performed when a huge amount of data is processed through the application.
Script Testing:. Script testing provides a more realistic and meaningful combination of functions, rather than artificial combinations that are obtained through domain or combinatorial testing.
User Interface Testing: This type of testing is performed to verify how user-friendly it is. The user should be able to use the application without any help from the system staff.
System testing: This testing is carried out in a fully integrated system to assess the compliance of the system with the specified requirements. This is done to check whether the system meets its functional and non-functional requirements, and is also intended for testing outside the limits defined by the software / hardware requirements specifications.
User acceptance testing : Acceptance testing is carried out to verify that the product is acceptable to the client and whether it meets the specified requirements of that client. This testing includes testing Alpha and Beta.
Alpha testing: Alpha testing is performed on the developer's site by a client in a closed environment. This is done after testing the system.
Beta Testing: This is done on a client site by a client in an open environment. The presence of a developer when performing these tests is optional. This is considered the last step in the software development life cycle since the product is almost ready.
Testing White Box:. This is the process of entering data into the system and checking how the system processes the input data to generate output. For a tester, you must know the source code.
Testing devices: Testing on the developer's website is performed to check if a specific piece / block of code is working. He tests the unit of the program as a whole.
Static and dynamic analysis:. Static analysis requires passing the code to find out any possible defect in the code. While in dynamic analysis, the code is executed and parsed for output.
Report Coverage:. It ensures that the code is executed in such a way that every application statement is executed at least once.
Coverage of the decision: This helps in making the decision by running the application at least once to judge whether it leads to true or false.
Coverage of conditions: In this type of software testing, each condition is satisfied, making it true and false in each of the ways at least once.
Path coverage: Each path in the code is executed at least once to get full path coverage, which is one of the important parts of white box testing.
Integration testing: Integration testing is performed when various modules are integrated with each other to form a subsystem or system. This mainly concerns the design and construction of software architecture. This is further classified as low-level integration and top-down integration.
Testing integration with the lower level: Here, the components of the lowest level are tested first, and then the testing of components of the higher level is performed using the "Drivers". The whole process is repeated until all components of a higher level are tested.
Testing integration from top to bottom: This is completely opposite to the bottom-up principle, since it checks the top-level modules, and the module branch is tested step-by-step using “Stubs” until the corresponding module comes to an end.
Security testing: Testing, which confirms how well the system protects itself from unauthorized internal or external or intentional damage to the code; means security testing. Security testing ensures that the program is available only to authorized personnel.
Testing mutations: When testing mutations, the application is checked for a code that was changed after fixing a specific error / defect.
use the following link to get the printed format Software Test Types