Monday, September 6, 2010

What are stubs and drivers used for in white-box testing?

Stubs and Drivers are the small programs used in the integration testing such that these programs are placed where the output of undeveloped modules. that is in some cases, some of the non priority module's output is needed in the project. then to get out of that situation, we write a small program such that it generates exactly similar output of the un-generated module. these programs are called stubs and drivers.

Here stub is used when we are testing the application in top-down approach.
and driver is used when we are testing the application in bottom-top approach.

What are the Methods of Black box Testing?

Graph Based Testing Methods:
Each and every application is build up of some objects. All such objects are identified and graph is prepared. From this object graph each object relationship is identified and test cases written accordingly to discover the errors.

Error Guessing:
This is purely based on previous experience and judgment of tester. Error Guessing is the art of guessing where errors can be hidden. For this technique there are no specific tools, writing the test cases that cover all the application paths.

Boundary Value Analysis:
Many systems have tendency to fail on boundary. So testing boundry values of application is important. Boundary Value Analysis (BVA) is a test Functional Testing technique where the extreme boundary values are chosen. Boundary values include maximum, minimum, just inside/outside boundaries, typical values, and error values.
Extends equivalence partitioning
Test both sides of each boundary
Look at output boundaries for test cases too
Test min, min-1, max, max+1, typical values

What are the tools used for Black Box testing?

Black box testing tools are mainly record and playback tools. These tools are used for regression testing that to check whether new build has created any bug in previous working application functionality.

White Box Testing

This testing methodology looks under the covers and into the subsystem of an application. Whereas black-box testing concerns itself exclusively with the inputs and outputs of an application, white-box testing enables you to see what is happening inside the application. Whitebox testing provides a degree of sophistication that is not available with black-box testing as the tester is able to refer to and interact with the objects that comprise an application rather than only having access to the user interface. An example of a white-box system would be in-circuit testing where someone is looking at the interconnections between each component and verifying that each internal connection is working properly. Another example from a different field might be an auto-mechanic who looks at the inner-workings of a car to ensure that all of the individual parts are working correctly to ensure the car drives properly.

Black Box Testing

This testing methodology looks at what are the available inputs for an application and what the expected
outputs are that should result from each input. It is not concerned with the inner workings of the application, the process that the application undertakes to achieve a particular output or any other internal aspect of the
application that may be involved in the transformation of an input into an output. Most black-box testing tools employ either coordinate based interaction with the applications graphical user interface (GUI) or image recognition. An example of a black-box system would be a search engine.You enter text that you want to search for in the search bar, press “Search” and results are returned to you. In such a case, you do not know or see the specific process that is being employed to obtain your search results, you simply see that you provide an input – a search term – and you receive an output – your search results.

Sunday, August 15, 2010

BVA & ECP

Equivalence Class Partition (ECP): Means dividing the input 
Domain into groups and name these groups as Valid and 
Invalid. By Using these groups we can derive the Test Cases.

Boundary Value Analysis (BVA): Means finding the boudaries 
for given particular value. By Using these boundaries there 
is maximum possibilities of finding Bugs/Defects in an 
Application.

Example: In an Application User ID takes 5 to 10 Alphabets. 
It is the Customer required.

Solution:
User ID: 5-10 Alphabets

ECP:
Valid          Invalid
A-Z            0-9    
a-z            Special Charecters
               Blank Field

BVA:
Min       = 5        Pass
Min-1     = 3        Fail
Min+1     = 6        Pass
Max       = 10       Pass
Max-1     = 9        Pass
Max+1     = 11       Fail

Integration Testing Modules

Bottom Up Testing is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
All the bottom or low-level modules, procedures or functions are integrated and then tested. After the integration testing of lower level integrated modules, the next level of modules will be formed and can be used for integration testing. This approach is helpful only when all or most of the modules of the same development level are ready. This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage.
Top Down Testing is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.
Sandwich Testing is an approach to combine top down testing with bottom up testing.
The main advantage of the Bottom-Up approach is that bugs are more easily found.
With Top-Down, it is easier to find a missing branch link.