Monday, November 14, 2011

Gray Box Testing

Code coverage testing involves “Dynamic Testing” methods of executing the product with pre¬written test cases and finding out how much of code has been covered. If a better coverage of a code is desired, several iterations of testing may be required. For every iteration, one has to write a new set of test cases for covering those portions of code that were not covered by earlier test cases. To do such type of testing, not only does one need to understand the code and logic but also need to understand how to write effective test cases that can cover good portions of the code.
Understanding of code and logic means white box or structural testing whereas writing effective test cases means black box testing. So, what we need is in fact a combination of white box and black box techniques for test effectiveness. This type of testing is known as gray box testing’.
Thus we can say that
WHITE + BLACK = GRAY
What is Gray Box Testing?
Black box testing focuses on software’s external attributes and behaviour. Such testing looks at an application’s expected behaviour from the user’s point of view. White box testing / glass-box testing, however, tests software with knowledge of internal data structures, physical logic flow, and architecutre atthe source code level. White box testing looks at testing from the developer’s point of view.
Both black¬box and white-box testing are critically important complements of a complete testing effort. Individually, they do not allow for balanced testing. Black box testing can be less effective at uncovering certain error types such as data-flow errors or boundary condition errors at the source level. White box testing does not readily highlight macro level quality risks in operating environment, compatibility, time-related errors and usability.
How experts have defined the Gray Box Testing
Gray box testing incorporates the elements of both black box and white box testing. It considers the outcome on the user end, system-specific technical knowledge and the operating environmer It evaluates the application design in the context of the inter-operability of system components. The gray box testing approach is integral to the effective testing of web applications comprises of numerous components like both software and hardware. These components must be tested in the context system design to evaluate their functionality and corripatiouity.
Industry experts have provided some definitions of gray box testing, few of them are given below.
Definition – 1: “Gray box testing consists of methods and tools derived from the knowledge of the application internals and the environment with which it interacts, that can be applied in black box testing to enhance testing productivity, bug finding and bug analyzing efficiency – by Nguyen H.G
Definition – 2: “Gray box testing is using inferred or incomplete structural or design information to expand or focus black box testing”. - Dick Bende
Definition – 3: “Gray box testing is designing of the test cases based on the knowledge of algorithms interval states, architectures or other high level descriptions of program behaviour”. - Dong Hoffmar
Definition – 4: “Gray box testing involves inputs and outputs, but test design is educated by informatior about the code or the program operation of a kind that would normally be out of scope of view of the tester”. - Cem Kanei
Where does the Gray box testing fit in?
Gray box testing is well suited for web application testing because it factors in high level design environment and the inter operability conditions. It addresses problems that are not as easily considered by a black box or white box analysis, especially problems of end-to-end information flow and distributed hardware / software system configuration and compatibility. Context-specific errors that are germane to web systems are commonly uncovered in this process.

1 comments:

  • hr.riyabhat@gmail.com says:
    February 20, 2019 at 12:29 PM

    Knowing more about Gray-box testing and thier functionary aspects with their relative terms and thier definitions as well as made my knowledge enriched.
    https://www.exltech.in/software-testing-course.html

Post a Comment