We generally use most of the testing strategy described here. But we are not aware with their name. So know which testing you use and impress your seniors.This area is protected to registered users only.
Module or unit testing – when programmer/developer checks his program himself. It includes boundary condition check, program reviews, error handling, formal verification, all permutation of input/output data etc.
Integration Testing – Testing after integrating all or some modules. It can adopt approach of
- Bottom –up – Test smaller parts first è merge them è test large part è merge other smaller part & test again and so on.
- Top –down – Take bigger part & test it. Add subsequent part and test it until whole module is tested.
- Or both (Sandwich Testing)
- Big Bang – Form a large part from adding similar and smaller parts together. Test it.
The main advantage of the Bottom-Up approach is that bugs are more easily found. With Top-Down, it is easier to find a missing branch link.
Smoke Testing – A quick-and-dirty test that the major functions of a piece of software work without bothering with finer details. Like a check list.
Sanity Testing –just opposite of smoke testing, It asks for deep testing. It include Regression testing.
- Regression Testing – break & test. It requires after integration or sanity testing to find out the bug and repair it.
- Pilot testing – Testing in production like environment. Simulation.
- Parallel testing
- Alpha test – Tested by customer under the supervision of the developer at the developer’s site
- Beta test – Tested by customer at his or her own site without the developer being present
Functional testing – Testing functionality of a system. It includes all tests other than performance test.
Performance Testing – run-time performance of software
- Stress test – checked to see how well it deals with abnormal resource demands
- Volume/load test – test with mass amount of input/requests
- Configuration test (hardware & software)
- Compatibility – like testing a site on various browsers, or running software on many OS
- Security tests – finding security hall, like prevention from SQL injection, Ajax bomb, cross site scripting etc.
- Timing tests – whether system is able to respond properly with in defined time
- Recovery tests – ability to recover from failures. Whether it can recover lost data. Whether it is persistent and crash safe.
Some other performance tests are
- Environmental tests
- Quality tests
- Maintenance tests
- Documentation tests
- Human factors test
- Benchmark test
Black Box Testing – Testing, conducted by external entity, without having any knowledge of system/application
White Box Testing – Testing by external entity who has list of test cases or has prior knowledge of system/application