Earlier I had written about Software Testing Life Cycle to
improve the quality of the product and also automated testing tool, today I
will share my thoughts related ‘Testing Methodology’ which I experienced while
I performed the tests. There are primarily two testing methodology to test
software today, I will discuss about the ‘Black Box Testing’ method.
Basically
in this method software/application is analysed/tested by a tester without
being aware of its implementation/design/structure while the test can be
functional/non-functional, usually functional is preferred.
This process is termed as ‘black Box’ because, in the judgement of the Quality assurance tester, the internal working is hidden
inside which tester doesn't know.
The method of attempts to discover errors in sets are
following:
-
Behavior/performance errors
-
Interface errors
-
Incorrect or missing functions
-
Initialization/termination errors
-
Errors in data structures/external database
access
We can take an example of a tester, without any information
of the design/structure of a website, begins to test the website on browser;
providing random different types of inputs and many clicks, keystrokes and validating
the outputs compared to the expected outcome.
Following are some techniques are used for designing black box tests.
Equivalence
partitioning- It involves dividing input values into valid & invalid
partitions and go for the representative values from each partition as test
data.
Boundary Value
Analysis- It involves determination of boundaries for input values &
selecting values that are at the boundaries and just inside or outside of the
boundaries as test data.
Cause Effect Graphing-
It involves identifying the cases (input conditions) and effects (output
conditions), producing a Cause-Effect Graph, and generating test cases
subsequently.