0% found this document useful (0 votes)
6 views17 pages

Software Testing: Plans & Approaches

The document covers key aspects of software testing, including the creation and structure of a test plan, various testing tools categorized into static and dynamic types, and two main testing approaches: black box and white box testing. Black box testing focuses on functional requirements without knowledge of internal structures, while white box testing examines procedural details and requires knowledge of the source code. The document also discusses techniques such as equivalence partitioning and boundary value analysis, along with the advantages and disadvantages of each testing approach.

Uploaded by

yashchoubey0703
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views17 pages

Software Testing: Plans & Approaches

The document covers key aspects of software testing, including the creation and structure of a test plan, various testing tools categorized into static and dynamic types, and two main testing approaches: black box and white box testing. Black box testing focuses on functional requirements without knowledge of internal structures, while white box testing examines procedural details and requires knowledge of the source code. The document also discusses techniques such as equivalence partitioning and boundary value analysis, along with the advantages and disadvantages of each testing approach.

Uploaded by

yashchoubey0703
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Lect.

11
Unit - 4 Software Testing
Today’s Topic :
1. Test Plan
2. Testing Tools
3. Testing Approaches
i. Black Box Testing
ii. White Box Testing
Test Plan
● It is not a static document.

● It gets generated during the development.

● The main purpose of test planning is to describe the product test and
to establish the standards in testing process.

● It usually developed during the early phase of the project.


Test Plan
● Structure of Test Plan are :

1. Testing process
2. Requirement traceability
3. Tested items
4. Testing schedule
5. Test recording procedures
6. Hardware and software requirements
7. Constraints
Testing Tools
● Testing tools are used to automate the testing activity.
● There are two types of testing tools.

Testing Tools

Static Tool Dynamic Tool


Testing Tools

● Static Testing Tool


1. Static Analyzers
2. Code Inspectors

● Dynamic Testing Tool


1. Output Comparator
2. Coverage Analyzer
3. Test Data Generator
Software Testing Approaches
● Software testing has two approaches.

Software Testing Approach

Black Box Testing White Box Testing


Software Testing Approaches
● Black – Box Testing

● It is also called as behavioral testing.


● It focuses on the functional requirement of the software.
● Test sets are derived, that fully exercise all functional requirement.
● It is not an alternative to white box and it uncovers different classes
of errors than white box testing.
Software Testing Approaches

● Black box testing uncovers following types of errors:


○ Incorrect or missing functions
○ Interface errors
○ Errors in data structures
○ Performance errors
○ Initialization or termination errors

● There are different techniques involved in Black Box testing.


○ Equivalence partitioning
○ Boundary Value Analysis
Software Testing Approaches>>Black Box Testing
Equivalence Partitioning -
● It is a black box testing technique that divides the input domain into
classes of data, which helps deriving test cases.

● An ideal test case uncovers a class of errors that might require many
arbitrary test cases to be execute before a general error is observed.

● In equivalence partitioning the equivalence classes are evaluated for given


input condition. It represents a set of valid or invalid state for input
condition.
Software Testing Approaches>>Black Box Testing
Boundary Value Analysis (BVA) -
● It is a done to check boundary conditions.

● It is a testing technique in which the elements at the edge of the domain are
selected and tested.

● Using boundary value analysis, instead of focusing on input condition only, the test
cases from output domain are also derived.

● It is a test case design technique that complements equivalence partitioning


technique.
Software Testing Approaches>>Black Box Testing
Advantages Disadvantages
● Well suited and efficient for large ● Limited coverage, since only a
code segments. selected number of test scenarios is
● Code access is not required. actually performed.
● Clearly separates user's perspective ● Inefficient testing, due to the fact that
from the developer's perspective the tester only has limited knowledge
through visibly defined roles. about an application.
● Large numbers of moderately skilled ● Blind coverage, since the tester
testers can test the application with cannot target specific code segments
no knowledge of implementation,
or error-prone areas.
programming language, or operating
systems. ● The test cases are difficult to design.
Software Testing Approaches
● White – Box Testing

● It is a testing method which is based on close examination of


procedural details.
● It is also called as Glass box testing.
● In white box testing the test cases are derived for
1. Examining all the independent paths within the module.
2. Exercising all the logical paths with their true and false sides.
3. Executing all the loops within their boundaries & within operational bounds.
4. Exercising internal data structure to ensure their validity.
Software Testing Approaches>>White Box Testing
Advantage Disadvantage

● As the tester has knowledge of the ● Due to the fact that a skilled tester
source code, it becomes very easy to is needed to perform white-box
find out which type of data can help testing, the costs are increased.
in testing the application effectively. ● Sometimes it is impossible to look
● It helps in optimizing the code.
into every corner to find out
hidden errors that may create
● Extra lines of code can be removed problems, as many paths will go
which can bring in hidden defects. untested.
● Due to the tester's knowledge about ● It is difficult to maintain white-box
the code, maximum coverage is testing, as it requires specialized
attained during test scenario writing. tools like code analyzers and
debugging tools.
Difference b/w Black box & White box Testing
Black – Box Testing White – Box Testing
● It is a testing approach which is ● It is a testing approach in which
used to test the software without internal structure is known to
the knowledge of the internal
the tester.
structure of program or
application. ● It is also called structural
● It also known as data-driven, box testing, clear box testing,
testing, data-, and functional code-based testing, or glass
testing. box testing.
● Testing is based on external
● Internal working is known, and
expectations; internal behavior of
the application is unknown. the tester can test accordingly.
Difference b/w Black box & White box Testing
Black – Box Testing White – Box Testing
● This type of testing is ideal for ● Testing is best suited for a
higher levels of testing like lower level of testing like Unit
System Testing, Acceptance Testing, Integration testing.
testing.
● Programming knowledge is
● Programming knowledge is not
required to perform White Box
needed to perform Black Box
testing.
testing.
● The main objective of White
● The main objective of this testing
is to check what functionality of Box testing is done to check
the system under test. the quality of the code.
Difference b/w Black box & White box Testing
Black – Box Testing White – Box Testing

● Testing can start after ● Testing can start after preparing


preparing requirement for Detail design document.
specification document. ● Usually done by tester and
● Performed by the end user, developers.
developer, and tester. ● Exhaustive and time-consuming
● It is less exhaustive and method.
time-consuming. ● It allows removing the extra lines
● Well suited and efficient for of code, which can bring in hidden
large code segments. defects.
End of Today’s Session
by
Apoorv Khare

You might also like