Software Testing
Glossary of Terms
In No Particular OrderWhite-Box | Black-Box | Unit and Component | Usability | User Interface | Acceptance
Integration | Recovery | System | Scenario | Fault Tolerance
Regression | Smoke | Alpha | Beta | Test Data
White-box testing: (also "glass box testing" and "clear box testing") is the testing of software with the knowledge of the internal structure and coding inside the program. A software component is treated like a transparent box into which test designers can peek while designing a test. Test designers can take advantage of their knowledge of the component's implementation to design tests that will cover many, but not all, paths of execution through the component. (It's mathematically impossible, within practical time constraints, to test all paths.) TOP Black-box testing: testing of a software component as though it were a solid black box (one you can't see inside). Tests are built around valid and invalid inputs with a view to comparing outputs to output requirements and without any knowledge of the internal coding in the application. The goal is to test how well the component conforms to the published requirements for the component. TOP Unit and component testing: testing the building blocks of an application, in isolation from the application's other units and components. Units are generally the individual elements of an application (single classes, for instance), while components may be composed of one or more units. TOP Usability testing: testing the application with a range of potential users, from the beginner to the expert, to determine how easy it is for all users to learn and actually use the application. TOP User interface testing: Primarily, this is GUI (Graphical User Interface) testing performed to ensure that the user interfaces are 'user-friendly', ubiquitous and actually match user requirements specifications. TOP Acceptance testing: testing done by the intended user of the application to ensure that it works the way the user expects it to work. (Acceptance test passing is easier if the developers actually based their development against formal user requirement specifications.) TOP Integration testing: testing the integration and communication between the components and systems that compose an application. TOP Recovery testing: testing the application's ability to recover from varying degrees of failure, or deviation from the expected result. TOP System testing: testing that attempts to discover defects that are properties of the entire system rather than of its individual components. This category includes defects due to resource utilization, performance, security, and recovery. TOP Scenario testing: testing an application against a set of common uses, as outlined by the business use cases. TOP Fault Tolerance testing: testing an application to determine if it will continue to run despite the presence of software or hardware defects. TOP Smoke testing: This is actually a hardware test. You turn on the new or repaired hardware; if there's smoke, it doesn't work! <smile> However for software testing, a smoke test is run right after a new build has been installed. It is used to verify that build versions are correct; that the build itself is complete and that all major functions still work. It is not, however, a substitution for a full regression test. TOP Regression testing: testing a program that has been changed in some way, either when major defects are fixed by developers or when a the product has been enhanced by new features. Adding or modifying source code frequently introduces errors in other routines. Many of the old and stable functions must be retested along with the new ones. A group of regression tests exercise, as completely as possible, the functional features of the entire application. TOP Alpha testing: testing newly developed hardware or software in a test lab setting. When all the bugs have been fixed, the product next goes into beta test with actual users. TOP Beta testing: testing the application by a subset of actual users under what are considered to be normal operating conditions for the purpose of obtaining 'real-world' feedback. When done properly, it's a formal process with well-defined feedback channels. TOP Test data: A set of data created for testing new or revised programs. It should be developed by the user as well as the programmer and must contain a sample of every category of valid data as well as many invalid conditions. TOP
Return to:
Aunty Violet's Advice for the PC Impaired Home Page
Copyright © 1998 – 2000 Violet Weed, Inc.