Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

SQA

Software Testing Techniques


Presentation By
Group 6
(15,21,22,35,41,77,82,89,96,97))

BS-IT
(8TH Semester)
Session 2018-2022
Group 6
Software Testing Techniques

• Software Testing Techniques are the


ways employed to test the application under
test against the functional and non-functional
requirements gathered from business. Each
testing technique helps to find a specific type
of defect.
Group 6
Types Of Software Testing Techniques
 Static Testing Techniques are testing techniques which
are used to find defects in Application under test
without executing the code. Static Testing is done to avoid
errors at an early stage of the development cycle and thus
reducing the cost of fixing them.
 Dynamic Testing Techniques are testing techniques that
are used to test the dynamic behavior of the application
under test, that is by the execution of the code base. The
main purpose of dynamic testing is to test the application
with dynamic inputs- some of which may be allowed as per
requirement (Positive testing) and some are not allowed
(Negative Testing).
Group 6
Static Testing Techniques
• Reviews
• Peer Reviews
• Walkthroughs
• Technical Reviews
• Inspection
• Static Analysis
• Data Flow
• Control Flow
• Data Structure
Group 6
Dynamic Testing Techniques

• Structure-Based Testing
• Experience-Based Techniques
• Specification-based Techniques
• Use case-Based Testing
• State Transition Testing
Group 6
Principles

• Testing shows the presence of defects


• Exhaustive testing is not possible
• Early testing
• Defect clustering
• Pesticide paradox
• Testing is context-dependent
• Absence of errors fallacy
Black
Box
Testing
Group 6
Black Box Testing
• Black box testing assesses a system solely from
the outside, without the operator or tester knowing
what is happening within the system to generate
responses to test actions. A black box refers to a
system whose behavior has to be observed entirely
by inputs and outputs. Even if the internal structure
of the application under examination can be
understood, the tester chooses to ignore it.

• It distinct from white box testing techniques, where


the tester considers the internal workings of
application code, such as path coverage, branch
coverage, memory leaks and exception handling
Group 6
Black Box Testing Techniques
Some black box testing techniques reduce the input
space into groups so testers can take a subset of
each group to examine:

• Equivalence class partitioning divides software data into


equal partitions in order to test each section.
• Boundary value analysis tests for errors within input
values that range from one end of a boundary to the
other.
• All-pairs testing uses any combination in pairs of data
input to check parameters for bugs.
Group 6
Black Box Testing Examples
Another approach to black box testing is to plan defined
test cases that target a specific feature, or provide
regression testing.
• For example, in his book Black-Box Testing: Techniques
for Functional Testing of Software and Systems, Boris
Beizer , software engineer and author, creates
examples where the entire test plan derives from the
application's specification, without looking at how the
code operates.
Predefined cases reduce test results variation, which
leads to the minefield problem, also known as
reduced application test coverage over time. Preplanned
tests also prohibit a tester from improvising according to
the results of a given test, commonly referred to as
exploratory testing.
Group 6
Benefits of Black Box Testing
• Black box testing separates the tester from the code
creator.
• The software testing technique forces the team to see it
from an outsider's view.
• A black box test assess the software from the user's
perspective. (This creates both social distance and critical
distance between software development and test, which
makes it more likely that the tester will manipulate the
application, referred to as the box, in a manner its creator had
not considered)
• Clear box testing requires setup and instrumentation, or
at least poring over code, while most black box
techniques can begin immediately; the operator simply
tries to use the software.
Group 6
Black Boxes Outside of Software
• In telecommunications, a black box is a resistor that
connects to a phone line that makes it impossible for the
telephone company's equipment to detect when a call has
been answered.
• In data mining, a black box is an algorithm or a technology
that doesn't provide an explanation of how it works.
• In film making, a black box is a dedicated hardware device:
equipment that is specifically used for a particular function.
• In theater and television, a black box is an unfurnished
studio.
• In the financial world, a black box is a computerized
trading system that does not make its rules easily available.
White
Box
Testing
Group 6 White Box Testing

• White-box testing is a method of software testing that


tests internal structures or workings of an application, as
opposed to its functionality. In white-box testing, an internal
perspective of the system is used to design test cases..

White Box Testing Approach


TEST with
Webforms
Tester TEST Result
Database
TEST Source
Code
Group 6 White Box Testing Techniques

• Statement Coverage
• Branch Coverage
• Condition Coverage
• Multiple Condition Coverage
Group 6 Statement Coverage

• In this technique, the


aim is to traverse all
statement at least
once. Hence, each line
of code is tested. In
case of a flowchart,
every node must be
traversed at least
once. Since all lines of
code are covered,
helps in pointing out
faulty code.
Group 6 Branch Coverage

• In this technique, test


cases are designed so
that each branch from
all decision points are
traversed at least
once. In a flowchart,
all edges must be
traversed at least
once.
Group 6 Condition Coverage

In this technique, all individual conditions must be


covered as shown in the following example:
1.READ X, Y
2.IF(X == 0 || Y == 0)
3.PRINT ‘0’

In this example, there are 2 conditions: X == 0 and Y == 0.


Now, test these conditions get TRUE and FALSE as their
values. One possible example would be:
•#TC1 – X = 0, Y = 55
•#TC2 – X = 5, Y = 0
Group 6 Multiple Condition Coverage
In this technique, all the possible combinations of the
possible outcomes of conditions are tested at least once.
Let’s consider the following example:
1.READ X, Y
2.IF(X == 0 || Y == 0)
3.PRINT ‘0’

•#TC1: X = 0, Y = 0
•#TC2: X = 0, Y = 5
•#TC3: X = 55, Y = 0
•#TC4: X = 55, Y = 5
Hence, four test cases required for two individual
conditions.
Similarly, if there are n conditions then 2n test cases
would be required.

You might also like