Common types of software testing.
Functional testing and non-functional testing are the two most common sorts of software testing. Maintenance
testing is yet another broad type of test.
Functional testing
Functional testing is a type of software testing that assesses the program's function. This includes determining
whether the program performs as expected and whether it fulfills the client or user's requirements. Unit,
integration, and system testing are all forms of functional testing.
Functional testing consists of the next testing types:
- Unit Testing: a method of programming in which individual units of source code are tested to determine if
they are fit for use.
- Integration Testing: a phase in software testing in which individual software modules are combined and
tested as a group.
- System Testing: a method of software testing that assesses a complete and integrated software system to
verify that it meets specified requirements.
- Component testing: software testing technique in which individual software components are tested to ensure
that they work as expected.
- End-to-end testing: a method of software testing that assesses an entire system, from start to finish, to
ensure that it meets specified requirements.
- Regression testing: type of software testing that is performed to verify that a system still works after
changes have been made to it.
- Smoke testing: type of software testing that is typically used to determine if a build is stable enough to
be tested.
- Sanity testing: a type of software testing that is usually used to determine if a build is stable enough for
further testing.
- API testing: a type of software testing that is conducted to assess the functionality of an API.
- UI testing: a method of testing the graphical interface of a software application.
- White-box testing: software testing technique that assesses the internal structure of a program.
- Black-box testing: a software testing technique that assesses the functionality of a program without looking
at its internal structure.
- Acceptance testing: a type of software testing that is usually performed by the customer to see if a system
meets their requirements.
Non-functional testing
Non-functional testing is a type of software testing that assesses the non-functional aspects of a system.
Non-functional requirements are those that describe how the system should behave, as opposed to what it should
do. They include things like performance, scalability, security, and usability. Non-functional testing assesses
these aspects of the system.
Non-functional testing consists of the next testing types:
- Performance testing is a type of software testing that is conducted to assess the speed, responsiveness, and
stability of a system. Performance testing is typically done to ensure that a system can handle the load of
real-world usage.
- Load testing: a type of performance testing that is conducted to assess the behavior of a system under heavy
loads.
- Stress testing: a type of performance testing that is conducted to assess the behavior of a system under
extreme conditions.
- Failover testing is a type of software testing that is conducted to assess a system's ability to recover
from failures. Failover testing typically involves testing the system's ability to switch to a backup system
in the event of a failure.
- Recovery Testing is a type of software testing that is conducted to assess a system's ability to recover
from failures. Recovery testing typically involves testing the system's ability to switch to a backup system
in the event of a failure.
- Compatibility Testing is a type of software testing that is conducted to assess whether a system is
compatible with other systems. Compatibility testing typically involves testing the system's ability to
interoperate with other systems.
- Usability Testing is a type of software testing that is conducted to assess the usability of a system.
Usability testing typically involves testing the system's ability to be used by users.
- Security Testing is a type of software testing that is conducted to assess the security of a system.
Security testing typically involves testing the system's ability to protect against security threats.
Maintenance testing
Software maintenance testing is a type of software testing which is done to check the software after it has been
maintained. Maintenance can be done for various purposes like
- To make changes in the system
- To repair or replace a component
- To update software to work with new hardware
- To improve performance
- To add new features
Conclusion
After reading this blog post, you should have a good understanding of the different types of software testing.
Functional testing is important to ensure that the software works as intended. Non-functional testing is
important to ensure that the software meets the expectations of the users. Maintenance testing is important to
ensure that the software continues to work