BLACK BOX TESTING
1. Introduction
Black Box Testing, also known as Behavioral Testing it is a method of software testing in which
the internal structure/ design/ implementation of the item being tested is not known to the tester.
These tests can be functional or non-functional, though usually functional. This method of test
can be applied virtually to every level of software
testing: unit, integration, system and acceptance. It typically comprises most if not all higher
level testing, but can also embody unit testing
Black Box Testing is named like this software program because, in the eyes of the tester it is like
a black box, inside which no one can see. This method helps to find errors in the various
categories like
• Incorrect or missing functions
• Interface errors
• Errors in data structures or external database access
• Behavior or performance errors
• Initialization and termination errors
Most likely this testing method is what most of tester actual perform and used the majority in the
practical life.
Basically software under test is called as “Black-Box”, we are treating this as black box &
without checking internal structure of software we test the software. All testing is done as client's
perspective and analyzer is just mindful of what is programming is assume to do however how
these solicitations are handling by programming doesn't know. While testing analyzer is thinks
about the information and expected yield's of the product and they don't mindful of how the
product or application really handling the information demands and giving the yields. Analyzer
just passes legitimate and in addition invalid data sources and decides the right expected yields.
All the experiments to test utilizing such technique are computed in light of necessities and
particulars record. The principle reason for the Black Box is to check whether the product is
acting according to expected in necessity record and whether it is meeting the client desires or
not.
There are diverse sorts of testing utilized as a part of industry. Each testing sort is having its own
particular points of interest and impediments. So fewer bugs can't be discover utilizing the
discovery testing or white box testing
2. Types of Black Box Testing Techniques:
There are diverse sorts of testing utilized as a part of software industry. Each testing sort is
having its own particular points of interest and impediments. So less bugs can't be discover
utilizing the black box testing or white box testing. Following black box testing techniques are
used for testing the software application.
1. Boundary Value Analysis (BVA)
2. Equivalence Class Partitioning
3. Decision Table based testing
4. Cause-Effect Graphing Technique
5. Error Guessing
1. Boundary Value Analysis (BVA):
Boundary Value Analysis is the most commonly used test case design method for black box
testing. As all we know the most of errors occurs at boundary of the input values. This is one of
the techniques used to find the error in the boundaries of input values rather than the center of the
input value range.
Boundary Value Analysis is the next step of the Equivalence class in which all test cases are
design at the boundary of the Equivalence class.
2. Equivalence Class Partitioning:
The equivalence class partition is the black box test case design technique used for writing test
cases. This approach is use to reduce huge set of possible inputs to small but equally effective
inputs. This is done by dividing inputs into the classes and gets one value from each class. Such
method is used when exhaustive testing is most wanted & to avoid the redundancy of inputs.
In the equivalence partitioning input are divided based on the input values:
• If input value is Range, then we one valid equivalence class & two invalid equivalence
classes.
• If input value is specific set, then we one valid equivalence class & one invalid
equivalence classes.
• If input value is number, then we one valid equivalence class & two invalid equivalence
classes.
• If input value is Boolean, then we one valid equivalence class & one invalid equivalence
classes.
3. Decision Table based testing:
A decision table is a good way to deal with different combination inputs with their associated
outputs and also called cause-effect table. Reason to call cause-effect table is an associated
logical diagramming technique called ’cause-effect graphing that is basically use to derive the
decision table.
Decision table testing is black box test design technique to determine the test scenarios for
complex business logic.
We can apply Equivalence Partitioning and Boundary Value Analysis techniques to only specific
conditions or inputs. Although, if we have dissimilar inputs that result in different actions being
taken or secondly we have a business rule to test that there are different combination of inputs
which result in different actions. We use decision table to test these kinds of rules or logic.
4. Cause-Effect Graphing Technique:
Cause-Effect Graph graphically shows the connection between a given outcome and all issues
that manipulate the outcome. Cause Effect Graph is a black box testing technique. It is also
known as Ishikawa diagram because of the way it looks, invented by Kaoru Ishikawa or fish
bone diagram.
It is generally uses for hardware testing but now adapted to software testing, usually tests
external behavior of a system. It is a testing technique that aids in choosing test cases that
logically relate Causes (inputs) to Effects (outputs) to produce test cases. A “Cause” stands for a
separate input condition that fetches about an internal change in the system. An “Effect”
represents an output condition, a system transformation or a state resulting from a combination
of causes.
5. Error Guessing:
Error guessing is a technique on guessing the error which can prevail in the code. It is
basically an experience based technique where the test analyst uses his / her experience to
guess the problematic areas of the application. If the analyst guesses that the login page is
error prone, then the testers write more detailed test cases concentrating on the login page.
Testers can think of variety of combinations of data to test the login page. To design test
cases based on error guessing technique, Analyst can use the past experiences to identify the
conditions. This technique can be used at any level of testing and for testing the common
mistakes like:
• Divide by zero
• Entering blank spaces in the text fields
• Pressing submit button without entering values.
• Uploading files exceeding maximum limits.
Though Error guessing is one of the key techniques of testing, it does not provide a full coverage
of the application. It also cannot guarantee that the software has reached the expected quality
benchmark. This technique should be combined with other techniques to yield better results.
Advantages of Black Box Testing:
• Efficient when used on large systems.
• SInce the tester and developer are independent of each other, testing is balanced and
unprejudiced.
• Tester can be non-technical.
• There is no need for the tester to have detailed functional knowledge of system.
• Tests will be done from an end user's point of view, because the end user should accept
the system. (This testing technique is sometimes also called Acceptance testing.)
• Testing helps to identify vagueness and contradictions in functional specifications.
• Test cases can be designed as soon as the functional specifications are complete.
Disadvantages of Black Box Testing:
• Test cases are challenging to design without having clear functional specifications.
• It is difficult to identify tricky inputs if the test cases are not developed based on
specifications.
• It is difficult to identify all possible inputs in limited testing time. As a result, writing test
cases may be slow and difficult.
• There are chances of having unidentified paths during the testing process.
• There is a high probability of repeating tests already performed by the programmer.
• Efficient when used on large systems.
• SInce the tester and developer are independent of each other, testing is balanced and
unprejudiced.
• Tester can be non-technical.
• There is no need for the tester to have detailed functional knowledge of system.
• Tests will be done from an end user's point of view, because the end user should accept
the system. (This testing technique is sometimes also called Acceptance testing.)
• Testing helps to identify vagueness and contradictions in functional specifications.
• Test cases can be designed as soon as the functional specifications are complete.
Disadvantages of Black Box Testing:
• Test cases are challenging to design without having clear functional specifications.
• It is difficult to identify tricky inputs if the test cases are not developed based on
specifications.
• It is difficult to identify all possible inputs in limited testing time. As a result, writing test
cases may be slow and difficult.
• There are chances of having unidentified paths during the testing process.
• There is a high probability of repeating tests already performed by the programmer.

Black box testing

  • 1.
    BLACK BOX TESTING 1.Introduction Black Box Testing, also known as Behavioral Testing it is a method of software testing in which the internal structure/ design/ implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance. It typically comprises most if not all higher level testing, but can also embody unit testing Black Box Testing is named like this software program because, in the eyes of the tester it is like a black box, inside which no one can see. This method helps to find errors in the various categories like • Incorrect or missing functions • Interface errors • Errors in data structures or external database access • Behavior or performance errors • Initialization and termination errors
  • 2.
    Most likely thistesting method is what most of tester actual perform and used the majority in the practical life. Basically software under test is called as “Black-Box”, we are treating this as black box & without checking internal structure of software we test the software. All testing is done as client's perspective and analyzer is just mindful of what is programming is assume to do however how these solicitations are handling by programming doesn't know. While testing analyzer is thinks about the information and expected yield's of the product and they don't mindful of how the product or application really handling the information demands and giving the yields. Analyzer just passes legitimate and in addition invalid data sources and decides the right expected yields. All the experiments to test utilizing such technique are computed in light of necessities and particulars record. The principle reason for the Black Box is to check whether the product is acting according to expected in necessity record and whether it is meeting the client desires or not. There are diverse sorts of testing utilized as a part of industry. Each testing sort is having its own particular points of interest and impediments. So fewer bugs can't be discover utilizing the discovery testing or white box testing 2. Types of Black Box Testing Techniques: There are diverse sorts of testing utilized as a part of software industry. Each testing sort is having its own particular points of interest and impediments. So less bugs can't be discover utilizing the black box testing or white box testing. Following black box testing techniques are used for testing the software application. 1. Boundary Value Analysis (BVA) 2. Equivalence Class Partitioning 3. Decision Table based testing 4. Cause-Effect Graphing Technique
  • 3.
    5. Error Guessing 1.Boundary Value Analysis (BVA): Boundary Value Analysis is the most commonly used test case design method for black box testing. As all we know the most of errors occurs at boundary of the input values. This is one of the techniques used to find the error in the boundaries of input values rather than the center of the input value range. Boundary Value Analysis is the next step of the Equivalence class in which all test cases are design at the boundary of the Equivalence class. 2. Equivalence Class Partitioning: The equivalence class partition is the black box test case design technique used for writing test cases. This approach is use to reduce huge set of possible inputs to small but equally effective inputs. This is done by dividing inputs into the classes and gets one value from each class. Such method is used when exhaustive testing is most wanted & to avoid the redundancy of inputs. In the equivalence partitioning input are divided based on the input values: • If input value is Range, then we one valid equivalence class & two invalid equivalence classes. • If input value is specific set, then we one valid equivalence class & one invalid equivalence classes. • If input value is number, then we one valid equivalence class & two invalid equivalence classes. • If input value is Boolean, then we one valid equivalence class & one invalid equivalence classes. 3. Decision Table based testing:
  • 4.
    A decision tableis a good way to deal with different combination inputs with their associated outputs and also called cause-effect table. Reason to call cause-effect table is an associated logical diagramming technique called ’cause-effect graphing that is basically use to derive the decision table. Decision table testing is black box test design technique to determine the test scenarios for complex business logic. We can apply Equivalence Partitioning and Boundary Value Analysis techniques to only specific conditions or inputs. Although, if we have dissimilar inputs that result in different actions being taken or secondly we have a business rule to test that there are different combination of inputs which result in different actions. We use decision table to test these kinds of rules or logic. 4. Cause-Effect Graphing Technique: Cause-Effect Graph graphically shows the connection between a given outcome and all issues that manipulate the outcome. Cause Effect Graph is a black box testing technique. It is also known as Ishikawa diagram because of the way it looks, invented by Kaoru Ishikawa or fish bone diagram.
  • 5.
    It is generallyuses for hardware testing but now adapted to software testing, usually tests external behavior of a system. It is a testing technique that aids in choosing test cases that logically relate Causes (inputs) to Effects (outputs) to produce test cases. A “Cause” stands for a separate input condition that fetches about an internal change in the system. An “Effect” represents an output condition, a system transformation or a state resulting from a combination of causes. 5. Error Guessing: Error guessing is a technique on guessing the error which can prevail in the code. It is basically an experience based technique where the test analyst uses his / her experience to guess the problematic areas of the application. If the analyst guesses that the login page is error prone, then the testers write more detailed test cases concentrating on the login page. Testers can think of variety of combinations of data to test the login page. To design test cases based on error guessing technique, Analyst can use the past experiences to identify the conditions. This technique can be used at any level of testing and for testing the common mistakes like: • Divide by zero • Entering blank spaces in the text fields • Pressing submit button without entering values. • Uploading files exceeding maximum limits. Though Error guessing is one of the key techniques of testing, it does not provide a full coverage of the application. It also cannot guarantee that the software has reached the expected quality benchmark. This technique should be combined with other techniques to yield better results. Advantages of Black Box Testing:
  • 6.
    • Efficient whenused on large systems. • SInce the tester and developer are independent of each other, testing is balanced and unprejudiced. • Tester can be non-technical. • There is no need for the tester to have detailed functional knowledge of system. • Tests will be done from an end user's point of view, because the end user should accept the system. (This testing technique is sometimes also called Acceptance testing.) • Testing helps to identify vagueness and contradictions in functional specifications. • Test cases can be designed as soon as the functional specifications are complete. Disadvantages of Black Box Testing: • Test cases are challenging to design without having clear functional specifications. • It is difficult to identify tricky inputs if the test cases are not developed based on specifications. • It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult. • There are chances of having unidentified paths during the testing process. • There is a high probability of repeating tests already performed by the programmer.
  • 7.
    • Efficient whenused on large systems. • SInce the tester and developer are independent of each other, testing is balanced and unprejudiced. • Tester can be non-technical. • There is no need for the tester to have detailed functional knowledge of system. • Tests will be done from an end user's point of view, because the end user should accept the system. (This testing technique is sometimes also called Acceptance testing.) • Testing helps to identify vagueness and contradictions in functional specifications. • Test cases can be designed as soon as the functional specifications are complete. Disadvantages of Black Box Testing: • Test cases are challenging to design without having clear functional specifications. • It is difficult to identify tricky inputs if the test cases are not developed based on specifications. • It is difficult to identify all possible inputs in limited testing time. As a result, writing test cases may be slow and difficult. • There are chances of having unidentified paths during the testing process. • There is a high probability of repeating tests already performed by the programmer.