Professional Documents
Culture Documents
MICROPROJECT REPORT ON
PROF. S.S.Tawade
2022-2023
1
CERTIFICATE
This is to certify that the Micro Project work entitled
SUBMITTED BY
On / / 2022
ACKNOWLEDGEMENT
It has been a privilege for me to be associated with my guide PROF. Tawade S. S.
during this Micro Project work. I have been greatly benefited by their valuable
suggestions and ideas. It is with great pleasure that I express my deep sense of gratitude
to her for their guidance, constant encouragement, for their kindness, moral support and
patience throughout this work.
Prof. Ghogre V.D Head of Department of Computer Engineering, has been indeed
a great source of inspiration for all of us in the campus, so it gives me an immense
pleasure in expressing my indebtedness to his for him kindness and moral support.
Date: - / / 2022
Place: - Ashoknagar
Submitted By:
Kamble Gitanjali Subhash 2115600279
3
ABSTRACT
Software testing, the most commonly used technique for validating the quality of
software, is a labor intensive process, and typically accounts for about half the total
cost of software development and maintenance. Automating testing not only reduces
the cost of producing software but also increases the reliability of modern software.
White-box testing and black-box testing are two commonly used techniques that have
complementary strengths. White-box testing uses the internal structures (such as
control flow or data flow) of programs. Black-box uses an external interface.
Automated approaches to black-box testing make extensive use of specifications,
e.g., to specify test inputs or test oracles. In unit testing of object-oriented code,
preconditions, which define constraints on legal method inputs, and postconditions,
which define expected behavior and outputs, form an integral part of specifications.
4
INDEX
SR.NO. CHAPTER NAME PAGE No.
1 Acknowledgment 3
2 Abstract 4
3 Introduction 6
4 Types 8
5 Techniques 9
6 Benefits 10
8 Examples 13
9 Testing Tools 14
10 Advantages 15
11 Disadvantages 16
12 Conclusion 17
13 Reference 18
5
Introduction
The box testing approach of software testing consists of black box testing and white box
testing. We are discussing here white box testing which also known as glass box is
testing, structural testing, clear box testing, open box testing and transparent box
testing. It tests internal coding and infrastructure of a software focus on checking of
predefined inputs against expected and desired outputs. It is based on inner workings of
an application and revolves around internal structure testing. In this type of testing
programming skills are required to design test cases. The primary goal of white box
testing is to focus on the flow of inputs and outputs through the software and
strengthening the security of the software.
The term 'white box' is used because of the internal perspective of the system. The clear
box or white box or transparent box name denote the ability to see through the
software's outer shell into its inner workings.
Developers do white box testing. In this, the developer will test every line of the code of
the program. The developers perform the White-box testing and then send the
application or the software to the testing team, where they will perform the black box
testing
and verify the application along with the requirements and identify the bugs and sends it to the developer.
The developer fixes the bugs and does one round of white box testing and sends it to the
testing team. Here, fixing the bugs implies that the bug is deleted, and the particular
feature is working fine on the application.
6
1.Unit testing −
Unit testing is frequently the first type of application testing performed. As each unit or
block of code is developed, it is subjected to unit testing. The programmer is primarily
responsible for unit testing. As a software developer, you write a few lines of code, a single
function, or an object, then test it to ensure it works before moving on to the next step. Early
in the software development lifecycle, unit testing helps in the detection of the majority of
issues. Bugs discovered at this stage are less expensive and easier to fix.
Memory leaks are one of the most common reasons for slow-running apps. When you have
a slow-running software application, you need a QA professional who is skilled in detecting
memory leaks. Apart from the aforementioned, both black box and white box testing include a
few forms of testing. Below is a list of them.
In this type of testing, the tester/developer has access to the entire source code of the
program, as well as extensive network information, IP addresses involved, and all server
information. The goal is to attack the code from several aspects in order to expose security
flaws.
White box mutation testing is frequently used to determine the optimum coding strategies for
growing a software solution.
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.
7
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.
• Statement Coverage
• Decision Coverage
• Branch Coverage
• Condition Coverage
• Multiple Condition Coverage
• Finite State Machine Coverage
• Path Coverage
• Control flow testing
• Data flow testing
8
Benefits of White Box testing
9
How do you perform White Box Testing?
We have divided it into two basic steps to give you a simplified explanation of white box
testing. This is what testers do when testing an application using the white box testing
technique:
10
Black box testing example:
Code −
11
Print ("Positive", result)
Else
Print ("Negative", result)
} ----------- End of the code
WhiteBox testing in software engineering aims to make sure that all decision branches, loops,
and statements in the code are correct.
WhiteBox test cases would be used to put the statements in the preceding white box testing
example to the test.
A = 1; B = 1
A = -1, B = -3
12
Advantages of White Box Testing
1.Side effects of having the knowledge of the source code is beneficial to thorough
testing.
4.Provides traceability of tests from the source, thereby allowing future changes to the
source to be easily captured in the newly added or modified tests.
5.Easy to automate.
13
Disadvantages of White Box Testing
1. White box testing is too much time consuming when it comes to large-scale
programming applications.
3.It can lead to production error because it is not detailed by the developers.
4.White box testing needs professional programmers who have a detailed knowledge and
understanding of programming language and implementation.
14
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.
15
Reference
• http://agile.csc.ncsu.edu/SEMaterials/WhiteBox.pdf
• http://research.microsoft.com/en-us/projects/pex/
16