google.com, pub-4617457846989927, DIRECT, f08c47fec0942fa0 Learn to enjoy every minute of your life.Only I can change my life.: Software testing -White box testing,Black box testing, Grey box testing

Friday, April 4, 2014

Software testing -White box testing,Black box testing, Grey box testing

Software testing  :
Software testing is the process to uncover requirement, design and coding errors in the program.

Three most prevalent and commonly used software testing techniques for detecting errors, they are:
1)White box testing,
2)Black box testing and
3)Grey box testing.

1) White Box Testing Technique:
It is the detailed investigation of internal logic and structure of the code. In white box testing it is necessary
for a tester to have full knowledge of source code.

White box testing techniques are:-
i) Control Flow Testing: It is a structural testing strategy that uses the program control flow as a model
control flow and favours more but simpler paths over fewer but complicated path.
ii) Branch Testing: Branch testing has the objective to test every option (true or false) on every control
statement which also includes compound decision.
iii) Basis Path Testing: Basis path testing allows the test case designer to produce a logical complexity
measure of procedural design and then uses this measure as an approach for outlining a basic set of
execution paths.
iv) Data Flow Testing: In this type of testing the control flow graph is annoted with the information about how
the program variables are define and used.
v) Loop Testing: It exclusively focuses on the validity of loop construct.

Advantages:-
a)Side effects are beneficial.
b)It reveals error in hidden code by removing extra lines of code.

Disadvantages:-
a)It is very expensive.
b)Some of the codes omitted in the code could be missed out.





2) Black Box Testing Technique:
It is a technique of testing without having any knowledge of the internal working of the application. It only
examines the fundamental aspects of the system and has no or little relevance with the internal logical structure of the system.

Black box testing techniques are
i) Equivalence Partitioning: It can reduce the number of test cases, as it divides the input data of a software
unit into partition of data from which test cases can be derived.
ii) Boundary Value Analysis: It focuses more on testing at boundaries, or where the extreme boundary values
are chosen. It includes minimum, maximum, just inside/outside boundaries, error values and typical values.
iii) Fuzzing: Fuzz testing is used for finding implementation bugs, using malformed/semi-malformed data
injection in an automated or semi-automated session.
iv) Cause-Effect Graph: It is a testing technique, in which testing begins by creating a graph and establishing
the relation between the effect and its causes. Identity, negation, logic OR
and logic AND are the four basic symbols which expresses the interdependency between cause and effect.
v) Orthogonal Array Testing: OAT can be applied to problems in which the input domain is relatively small,
but too large to accommodate exhaustive testing.
vi) All Pair Testing: In all pair testing technique, test cases are designs to execute all possible discrete
combinations of each pair of input parameters. Its main objective is to have a set of test cases that covers all
the pairs.
vii) State Transition Testing: This type of testing is useful for testing state machine and also for navigation of
graphical user interface.

Advantages:-
a)Efficient for large code segment.
b)Programmer and tester are independent of each other.

Disadvantages:-
a)Inefficient testing.
b)Without clear specification test cases are difficult to design.





3) Grey Box Testing Technique:
 White box + Black box = Grey box, it is a technique to test the application with limited knowledge of the
internal working of an application and also has the knowledge of fundamental aspects of the system
The other name of grey box testing is translucent testing.

Grey box testing techniques are :
i) Orthogonal Array Testing: This type of testing use as subset of all possible combinations.
ii) Matrix Testing: In matrix testing the status report of the project is stated.
iii) Regression Testing: If new changes are made in software, regression testing implies running of test cases.
iv) Pattern Testing: Pattern testing verifies the good application for its architecture and design.

Advantages:-
a)The test is done from the user’s point of view rather than designer’s point of view.
b)Grey box testing provides combined benefits of white box and black box testing techniques

Disadvantages:-
a)Many program paths remain untested.
b)Test coverage is limited as the access to source code is not available.

No comments:

Post a Comment

अच्छे विचार करे विचार

  पहचान की नुमाईश, जरा कम करें... जहाँ भी "मैं" लिखा है, उसे "हम" करें... हमारी "इच्छाओं" से ज़्यादा "सुन...