SOFTWARE TESTING
It is a process of verifying and validating that software or application is bug-free, meets the technical requirements as guided by its design and development, and meets the user requirements effectively and efficiently with handling all the exceptional and boundary cases.
SOFTWARE TESTING STRATEGIES
- VERIFICATION: It refers to the set of tasks that ensure that software correctly implements a specific function.
- VALIDATION: It refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements.
Verification -> “Are we building the product right?”
Validation -> “Are we building the right product?”
TYPES OF SOFTWARE TESTING
- MANUAL TESTING: Manual testing includes testing software manually which means without using any automated tool or any script. The tester takes over the role of an end-user and tests the software to identify any unexpected behavior or bug. There are different stages for manual testing such as unit testing, integration testing, system testing, acceptance testing, and validation testing.
- AUTOMATIC TESTING: Automation testing is a type of software testing where the tester writes scripts and uses another software like Selenium to test the product. This process involves the automation of manual processes.
SOFTWARE TESTING TECHNIQUES
- BLACK BOX TESTING: A testing technique in which the tester doesn’t have access to the source code of the software and is conducted at the software interface without concern with the internal logical structure of the software is known as black box testing.
- WHITE BOX TESTING: The technique of testing in which the tester is aware of the internal working 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.

LEVELS OF SOFTWARE TESTING
- UNIT TESTING: A level of the software testing process where individual units, components of a software, or system are tested. The purpose is to validate that each unit of the software performs as designed.
- INTEGRATION TESTING: 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 the integrated units.
- SYSTEM TESTING: A level of the software testing process where a complete, integrated system, the software is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements.
- ACCEPTANCE TESTING: 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 or not.
Comments
Post a Comment