1.

What do you understand by black box and white box testing? Differentiate between them.

Answer»
  • WHITE box testing: White box testing examines the inside structures of the software, including the employed data structures, internal design, code structure, and how it works, rather than just the functionality, as black-box testing does. It's also known as structural testing, clear box testing, or GLASS box testing.
  • Black box testing: Black box testing is a sort of software testing when the software's internal functionality is unknown. The testing is carried out with no knowledge of the products' internal workings. The following methods can be used to conduct black-box testing:
    • Syntax Driven Testing: This method of testing is used on systems that may be represented syntactically by a language. Compilers, for example, are a type of language that can be described using a context-free grammar. The test cases are created in such a way that each grammatical RULE is applied at least once.
    • Equivalence partitioning: Many types of inputs work similarly, so rather than give them all separately, we can group them together and test only one of each group's inputs. The aim is to divide the system's input domain into a number of equivalence classes, each of which works in a similar fashion, i.e., if a test case in one class results in an error, other test cases in other classes will also result in an error.

The following table illustrates the DIFFERENCES between white box and black box  testing:

White-box testingBlack box testing 
It's a testing method in which the tester is aware of the system's internal structure.It's a method of testing software that doesn't require knowledge of the program's or application's internal structure.
It is also known as Structural testing, clear box testing, code-based testing, or glass box testing.Data-driven, box testing, data-, and functional testing are all TERMS used to describe this type of testing.
Because the internal workings of the system are known, the tester may test accordingly.The application's internal behaviour is unclear, therefore testing is based on exterior expectations.
Testing is better suited to lower-level testing such as Unit and Integration testing.Higher stages of testing, such as System Testing and Acceptance Testing, benefit from this sort of testing.
White Box testing necessitates a working grasp of programming.Black Box testing does not necessitate programming knowledge.
It's simple to automate white box testing.Because the test and programmer are so intertwined, automating them is difficult.
The fundamental goal of White Box testing is to ensure that the code is of high quality.The major goal of this testing is to determine what functions the system under test has.
After completing the Detail design document, testing can begin.Following the preparation of the requirement specification paper, testing can begin.
To execute white box testing, you'll need an expert tester with a lot of expertise.Low-skilled testers can test the application without having any prior understanding of the programming language or operating system implementation.


Discussion

No Comment Found