Thursday, May 15, 2008

Different Testing Terms

Unit testing:Testing the smallest unit.
Integration testing:testing the integration between modules.
System testing:Testing the system as a whole whether it meets the specification requirements .
User Acceptance Testing:This is the tesing done by actual users to determine whether the system satisfies the acceptance criteria or not.
Regression testing:Testing to check that while fixing some bugs some unintended bugs have not been introduced in the system.
Performance Testing: Testing the system whether it meets the specified performance requirements.
Usability Testing:Check the system whether it is easy to use by the users.It also verifies the ease of learning software ,inclding the user documentation.
Configuration Testing: Testing to determine how well the product works with a broad range of hardware/peripheral equipment configurations as well as on different operating systems and software.
Recovery Testing:It is used in verifying software restart capabilties after a disaster.
Security Testing: Testing how well the system protects against unauthorized internal or external access, willful damage, etc; may require sophisticated testing techniques.
Smoke Testing: typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or corrupting databases, the software may not be in a 'sane' enough condition to warrant further testing in its current state.
Alpha Testing: testing of an application when development is nearing completion; minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.
Beta Testing: testing when development and testing are essentially completed and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or testers.
Load testing - testing an application under heavy loads, such as testing of a web site under a range of loads to determine at what point the system's response time degrades or fails.
Soak Test :-Soak testing is running a system at high levels of load for prolonged periods of time. A soak test would normally execute several times more transactions in an entire day (or night) than would be expected in a busy day, to identify any performance problems that appear after a large number of transactions have been executed.
Compatibility Testing :-Testing used to determine whether other system software components such as browsers, utilities, and competing software will conflict with the software being tested.
Exploratory testing - often taken to mean a creative, informal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.
Ad-hoc testing - similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it. A testing phase where the tester tries to 'break' the system by randomly trying the system's functionality.
Context-driven testing - Testing driven by an understanding of the environment, culture, and intended use of software. For example, the testing approach for life-critical medical equipment software would be completely different than that for a low-cost computer game.
Accessibility Testing: Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).