100% found this document useful (1 vote)
237 views4 pages

White Box Testing

White box testing is a software testing technique that tests the internal structure and code of an application. It verifies input-output flow, improves design and security, and involves testing each statement, function, and path in the code. Testers have visibility into the code and develop test cases to execute specific inputs and verify expected outputs to identify bugs. Key techniques include statement coverage, branch coverage, and code coverage analysis to ensure all parts of the code are tested.

Uploaded by

Sheetal Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
237 views4 pages

White Box Testing

White box testing is a software testing technique that tests the internal structure and code of an application. It verifies input-output flow, improves design and security, and involves testing each statement, function, and path in the code. Testers have visibility into the code and develop test cases to execute specific inputs and verify expected outputs to identify bugs. Key techniques include statement coverage, branch coverage, and code coverage analysis to ensure all parts of the code are tested.

Uploaded by

Sheetal Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

White Box Testing

White Box Testing is a testing technique in which software’s internal structure, design, and
coding are tested to verify input-output flow and improve design, usability, and security. In
white box testing, code is visible to testers, so it is also called Clear box testing, Open box
testing, Transparent box testing, Code-based testing, and Glass box testing.

What do you verify in White Box Testing?


White box testing involves the testing of the software code for the following:

 Internal security holes


 Broken or poorly structured paths in the coding processes
 The flow of specific inputs through the code
 Expected output
 The functionality of conditional loops
 Testing of each statement, object, and function on an individual basis

The testing can be done at system, integration, and unit levels of software development.
One of the basic goals of Whitebox testing is to verify a working flow for an application. It
involves testing a series of predefined inputs against expected or desired outputs so that when
a specific input does not result in the expected output, you have encountered a bug.

How do you perform White Box Testing?

STEP 1) UNDERSTAND THE SOURCE CODE


The tester must be very knowledgeable in the programming languages used in the
applications they are testing. Also, the testing person must be highly aware of secure coding
practices. Security is often one of the primary objectives of testing software. The tester
should be able to find security issues and prevent attacks from hackers and naive users who
might inject malicious code into the application either knowingly or unknowingly.

STEP 2) CREATE TEST CASES AND EXECUTE


The tester will develop little tests for each process or series of processes in the application.
This method requires that the tester must have intimate knowledge of the code and is often
done by the developer. Other methods include Manual Testing, trial, and error testing and the
use of testing tools.

WhiteBox Testing Example


Consider the following piece of code
The goal of Whitebox testing in software engineering is to verify all the decision branches,
loops, and statements in the code.

To exercise the statements in the above white box testing example, Whitebox test cases
would be

 A = 1, B = 1
 A = -1, B = -3

White Box Testing Techniques


 A major White box testing technique is Code Coverage analysis. It eliminates gaps in
a Test Case . It identifies areas of a program that are not exercised by a set of test
cases.
 Once gaps are identified, you create test cases to verify untested parts of the code,
thereby increasing the quality of the software product
 There are automated tools available to perform Code coverage analysis.

Below are a few coverage analysis techniques a box tester can use:

 Statement Coverage: This technique requires every possible statement in the code to
be tested at least once during the testing process of software engineering.
 Branch Coverage – This technique checks every possible path (if-else and other
conditional loops) of a software application.

 Apart from above, there are numerous coverage types such as Condition Coverage,
Multiple Condition Coverage, Path Coverage, Function Coverage etc.
 Each technique has its own merits and attempts to test (cover) all parts of software
code. Using Statement and Branch coverage you generally attain 80-90% code
coverage which is sufficient.

Following are important Whitebox Testing Techniques:

 Statement Coverage
 Decision Coverage
 Branch Coverage
 Condition Coverage
 Multiple Condition Coverage
 Finite State Machine Coverage
 Path Coverage
 Control flow testing
 Data flow testing

Types of White Box Testing


White box testing encompasses several testing types used to evaluate the usability of an
application, block of code or specific software package. There are listed below —

 Unit Testing: It is often the first type of testing done on an application. Unit
Testing is performed on each unit or block of code as it is developed. Unit Testing is
essentially done by the programmer.
 As a software developer, you develop a few lines of code, a single function or an
object and test it to make sure it works before continuing Unit Testing helps identify
most bugs, early in the software development lifecycle. Bugs identified in this stage
are cheaper and easy to fix.
 Testing for Memory Leaks: Memory leaks are leading causes of slower running
applications.

Advantages of White Box Testing

 Code optimization by finding hidden errors.


 White box tests cases can be easily automated.
 Testing is more thorough as all code paths are usually covered.
 Testing can start early in SDLC even if GUI is not available.

Disadvantages of WhiteBox Testing

 White box testing can be quite complex and expensive.


 Developers who usually execute white box test cases detest it. The white box testing
by developers is not detailed and can lead to production errors.
 White box testing requires professional resources with a detailed understanding of
programming and implementation.
 White-box testing is time-consuming, bigger programming applications take the time
to test fully.

Conclusion:

 White box testing can be quite complex. The complexity involved has a lot to do with
the application being tested. A small application that performs a single simple
operation could be white box tested in few minutes, while larger programming
applications take days, weeks, and even longer to fully test.
 White box testing in software testing should be done on a software application as it is
being developed after it is written and again after each modification.

You might also like