Tuesday, 1 September 2015

Black Box Testing

Test design Techniques : 
test design technique basically helps us to select a good set of tests from the total number of all possible tests for a given system. There are many different types of software testing technique, each with its own strengths and weaknesses. We have differentiated testing techniques in two types one is Scripted testing and other Experienced testing. In scripted Testing again we have two techniques, they are static and dynamic testing.In Dynamic testing we have two testing methodologies called Black Box Testing and Whit Box Testing .
We will discuss about Black Box testing 
Black Box Testing :
Black Box Testing is a software based testing to estimate the completeness and correctness of the external functionality of the application. It is done absolutely by testers. It is a specification based test. It mainly checks the functionality of the software and inputs and outputs of the application. It is based on the test conditions and test cases that are declared by the SRS document. It checks the features and functions are working properly or not. It is also called as Closed Box Testing. It doesn't require any knowledge of the internal paths, structure or implementation of system under test(SUT).
Black Box Testing Process:
The requirements or specifications are analyzed. Valid and Invalid inputs are chosen and expected outputs for those inputs are determined. Tests are constructed with the selected inputs and are run. Actual outputs are constructed and compared with the expected outputs. A determination is made as to the proper functioning of the System Under Test(SUT).
Types of Black Box testing :
There are five types of techniques in Black Box Testing.
  • Equivalence Partitioning 
  • Boundary Value Analysis
  • Decision Table Testing
  • State Transition Testing
  • Use case Testing
Equivalence Partitioning Testing :
It is process of methodically reducing the huge or infinite set of possible test cases into a much smaller but still equally effective set.Equivalence partitioning is a method for deriving sub sets from main sets. For example if we have to test ATM machine for withdrawal transaction. The person can withdraw the money minimum 500 and maximum 20000. In this case you could check 100, 200, 300 up to 20000, but here the testing activity eating the time. 
Input range is 500 to 20000
In this scenario we cant test every data. Like 500, 600, 700 up to 20000. It is not possible so we can use equivalence partitioning.
We can divide as sub groups like   { 500 -1000} {1100 – 2000} 2100 – 3000} ....{19100 – 20000}
From each set we can choose any test data randomly and use for testing. In the first set you can choose  500, 2nd set as 1500, 3rd set as 3000 and so on . So this Equivalence partitioning testing is most suited to the system in which much of input data takes on values within range of within sets.It mainly enables the tester to select a subset of test inputs with a high probability of deleting a defect and disadvantages of EPT is it makes the assumptions that the data in the same equivalence class in processed in the same way by the system
Boundary Value Analysis :
It is an act of dividing the given inputs set by a relation into groups or classes which is treated the same by the module or which should produce the same result . It is typically used in a system in which much of the input data takes on range of values or within sets. The main advantage of this analysis is boundaries and conditions are the 2 major sources of defect in software product.This technique helps in identifying the defects in their areas. But it doesn't work well for bool lean and logical variables.
Example: A user ID text box has to accept alphabet characters (a-z) with length of 5 to 10 characters. Sol: BVA is done like this, max value: 10 pass; max-1: 9 pass; Max+1=11 fail; Min=5 pass; Min+1=6 pass; Min-1=4 fail; We check the corner values and come out with a conclusion whether the application is accepting correct range of values
Decision Table Testing :
Decision table testing are used to describe and analyze the problems that contain procedure of decision situations that contain one or more test conditions. Decision Table Testing is a good way to handle the combination of inputs, which produce different results. When creating decision tables, the specification is analyzed, and conditions and actions of the system are identified. It can be used when ever the system is supposed to implement a complex business rules. It enables us to look at and consider "dependent", "irrelevant", "impossible "situations and eliminates some test cases. But when the number of conditions are large then the decision table becomes difficult to understand and cuber some.
State Transition Testing :
State transition diagrams are the excellent tool to capture certain type of system requirements and to document internal system design. A state is a condition in which  a system is waiting for one or more events . It is generally represent by circles. Transitions represents a change from one state to another caused by an event . In the diagrams , transitions are represented by arrows.Event is something that causes the system to change the state .events are generally represented by a labels on a transition.An action is nothing but an operation initiated because of change in state.This actions are represented by the commands following "/".


Use case testing :
Use case testing is a technique that helps to understand business conditions and flows. It is used to identify test cases that exercise the whole system on a transaction and a transaction and pointing from the starting point to the ending. This use case testing describes interactions between actors, actions, response, including users and the system, which produce a result of value to a system user. Use cases are a sequence of steps that describe the interactions between the actor and the system.












No comments:

Post a Comment