Testing
Software testing is basically to test a software works fault free.
Types of testing:
- Manual testing
- Automated testing
Another classification:
- Functional testing - testing individual functions their inputs and outputs.
- Non-functional testing - includes overall performance, load(stress testing), scalibility.
Levels of testing:
Unit testing:
Done mostly by the author of the code itself. Tests the inputs and outputs of a unit(class).
Integrated testing:
Testing done by integrating several units(classes). Checking the compatibility.
System testing:
Testing how the overall system works with other softwares/environments(OS)
Acceptance testing:
Testing against the client's acceptance and requirements.
Black box testing:
Testing done knowing only the input and output of the software.
White box testing:
Testing done knowing the code and internal structure of the software.
Alpha testing:
Last Test done by the development team to measure output via inputs.
Beta testing:
Testing done by the customers for providing feedback about how the system works back to the development team.