Bridge between Black Box and White Box – Gray Box Testing Technique

Software testing is a highly complex and time consu ming activityIt is even difficult to say when tes ing is complete. The effective combination of black box (external) a nd white box (internal) testing is known as Gray-bo x testing. Gray box testing is a powerful idea if one knows something about how the product works on the inside; one can test it b etter, even from the outside. Gray box testing is not black box testing, because the tester does know some of the internal workings of the software under test. It is not to be confused with white box testing, testi ng approach that attempts to cover the internals of the product in detail. Gray box testing is a test strategy based partly on internal s. This paper will present all the three methodolog y Black-box, White-box, Graybox and how this method has been applied to validat e cri ical software systems. KeywordsBlack-box, White-box, Gray-box or Grey-box Introduction In most software projects, testing is not given the necessary attention. Statistics reveal that the ne arly 30-40% of the effort goes into testing irrespective of the type of project; h ardly any time is allocated for testing. The comput er industry is changing at a very rapid pace. In order to keep pace with a rapidly ch anging computer industry, software test must develo p methods to verify and validate software for all aspects of the product li fecycle. Test case design techniques can be broadly split into two main categories: Black box & White box. Black box + White box = Gray Box Spelling: Note that Gray is also spelt as Grey. Hence Gray Box Testing and Grey Box Testing mean the same. Gray Box testing is a technique to test the applica tion with limited knowledge of the internal working s of an application. In software testing, the term the more you know the be tter carries a lot of weight when testing an applic ation. Mastering the domain of a system always gives the t ester an edge over someone with limited domain know ledge. Unlike black box testing, where the tester only tests the applicatio n's user interface, in Gray box testing, the tester has access to design documents and the database. Having this knowledge, the tester is able to better prepare test data and test scena rios when making the test plan. The gray-box testing goes mainly with the testing of web applications b ecause it considers high-level development, operati ng environment, and compatibility conditions. During b lack-box or white-box analysis it is harder to iden tify problems, related to endto-end data flow. Context-specific problems, associ ated with web site testing are usually found during gray-box verifying. Bridge between Black Box and White Box – ISSN 2277-1956/V2N1-175-185 Testing Methods Fig 1: Classification 1. Black Box Testing Black box testing is a software testing techniques in which looking at the internal code structure, implementation details and knowledge of internal pa ths of the software. testing is based entirely on the software requireme nts and specifications. Black box testing is best suited for rapid test sce nario testing and quick Web Service Services provides quick feedback on the functional re diness of operations t better suited for operations that have enumerated necessary. It is used for finding the following errors: 1. Incorrect or missing functions 2. Interface errors 3. Errors in data structures or External database access 4. Performance errors 5. Initialization and termination errors Example A tester, without knowledge of the internal structu res of a website, tests the web pages by using a br owse ; providing inputs (clicks, keystrokes) and verifying the outputs agai nst the expected outcome. Levels Applicable To Black Box testing method is applicable to all levels of the software testing process: Testing, and Acceptance Testing. The higher the level, and hence the bigger and more c mplex the box, the mo method comes into use. Black Box Testing Techniques Following are some techniques that can be used for esigning black box tests. Equivalence partitioning Equivalence Partitioning is a software test design technique that involves selecting representative values from each partition as test data.  Boundary Value Analysis is a software test design t echnique that involves determination of boundaries for selecting values that are at the boundaries and jus t inside/outside of the boundaries as test data.  Graphing is a software test design tec hnique that involves identifying the cases (input c onditions) and conditions), producing a CauseEffect Graph, and generating test cases accordingly . Gray Box Testing Technique