Software Testing 1
Software Testing 1
1.Functional testing: It is a type of software testing that validates the software systems against the functional requirements. It is
performed to check whether the application is working as per the software’s functional requirements or not. Various types of functional
testing are Unit testing, Integration testing, System testing, Smoke testing, and so on.
2.Non-functional testing: It is a type of software testing that checks the application for non-functional requirements like performance,
scalability, portability, stress, etc. Various types of non-functional testing are Performance testing, Stress testing, Usability Testing, and so
on.
3.Maintenance testing: It is the process of changing, modifying, and updating the software to keep up with the customer’s needs. It
involves regression testing that verifies that recent changes to the code have not adversely affected other previously working parts of the
software.
4.Black box Testing: Testing in which the tester doesn’t have access to the source code of the software and is conducted at the software
interface without any concern with the internal logical structure of the software known as black-box testing.
2.White box Testing: Testing in which the tester is aware of the internal workings of the product, has access to its source code, and is
conducted by making sure that all internal operations are performed according to the specifications is known as white box testing.
3.Grey Box Testing: Testing in which the testers should have knowledge of implementation, however, they need not be experts.
Different Levels of Software Testing
1.Unit testing: It a level of the software testing process where individual units/components of a software/system are tested. The purpose is
to validate that each unit of the software performs as designed.
2.Integration testing: It is a level of the software testing process where individual units are combined and tested as a group. The purpose
of this level of testing is to expose faults in the interaction between integrated units.
3.System testing: It is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this
test is to evaluate the system’s compliance with the specified requirements.
4.Acceptance testing: It is a level of the software testing process where a system is tested for acceptability. The purpose of this test is to
evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.