Page 35 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 35
Software Testing and Quality Assurance
3.1 Structural and Functional Testing
Structural and functional testing are two important types of software testing. Structural and functional
testing are also called as white box and black box testing.
3.1.1 Black Box Testing
Black box testing, also termed as behavioral testing, checks if the software works as per the desired
requirements or specifications. It is called black box testing because the tester performs the tests without
knowing the internal logic of how exactly the software works. He/she focuses on the outputs
generated in response to selected inputs and execution conditions.
Did you know? In neural networking or Artificial Intelligence simulation, a black box is used to
describe the constantly changing section of the program environment which a
programmer cannot test easily.
Developing efficient test cases is very essential during black box testing. Since the tester has no
knowledge of the internal working of the software, they need to rely completely on the analysis of the
transformation of the inputs to the outputs based on which they find bugs in the software. This test
enables the tester to know whether or not the software does what it is supposed to do. The functional
specifications or requirements of the software provide the information about the software
functionalities.
Testing search engine is a good example for black box testing. You are not
aware of the processes that work behind the search engine to provide the
desired information. While testing a search engine you provide input in the
form of words or characters, and check for output parameters such as relevance
of the search result, time taken to perform the search or the order of listing the
search result.
Advantages of Black Box Testing
Black box testing has many advantages, which include the following:
1. Testers do not have to understand the internal working of the software, and it is easy to create
test cases with the perspective of an end user.
2. The testers mainly deal with the Graphic User Interfaces (GUI) for output, and they do not spend
time analyzing the internal interfaces. Therefore, test cases can be developed quickly and easily.
3. As soon as the specification of the product is complete, the test cases can be designed.
4. Black box testing helps to expose any ambiguities or inconsistencies in the specifications, and
tests are carried out from a user's perspective.
Testing the functions of an ATM is a good example of black box testing. The
tester acts as a customer who is using the ATM and checks the functions of the
machine. He/She does not know the internal working of the logic. The test
cases are developed to check the functions through the GUI of the ATM such as
change in display of the GUI when card is detected, masking the password or
navigating from main menu to a specific function.
Disadvantages of Black Box Testing
1. A tester can test only a small number of possible inputs and it is highly impossible to test every
possible input stream.
2. It is very difficult to design test cases if specifications are not clear and concise.
3. Situations, such as unnecessary repetition of test inputs, can occur if the tester is not informed of
test cases that the programmer has already tested.
28 LOVELY PROFESSIONAL UNIVERSITY