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.