structural and functional testing
DESCRIPTION
Structural and functional testingTRANSCRIPT
STRUCTURAL AND
FUNCTIONAL TESTING
Dr. Himanshu Hora
SRMS College of Engineering & Technology
Bareilly (INDIA)
CONTENTS
What is testing? Goals of testing Principles of Testing Structural and Functional Testing Types of Structural and Functional Testing Limitations
TESTING
According to the glossary of the IEEE standardization , testing is defined as:
“The process of analyzing a software
item to detect the differences between existing and required conditions (that is, bugs) and
to evaluate the features of
the software item”
GOALS OF TESTING
Goal of testing:
finding faults in the software
producing a zero defect software
testing should be traceable
it should be deterministic
PRINCIPLES OF TESTING
Test a program to try to make it fail Start testing early
Testing must be done by different persons at different levels
Cont…
Test a program innovatively Use both static and dynamic testing
Cont…
STRUCTURAL TESTING
Generates test cases based on the structure of the program
Also known as white box testing
The internal structure of the program is taken into account
FUNCTIONAL TESTING
Generates test cases based on the functionality of the software
Also known as black box testing
The internal structure of the program is hidden from the testing process
Identify the functions which software is expected to perform
Treats the software as a "black box", examining functionality without any knowledge of internal implementation
Cont…
TYPES OF STRUCTURAL TESTING
The different types of structural testing are :
Statement coverage: all statements in the programs should be executed at least once
Branch coverage: all branches in the program should be executed at least once
Path coverage: all execution paths in the program should be executed at lest once
Conditional coverage: For conditional branches, this means that, we execute the TRUE branch at least once and the FALSE branch at least once
Cont…
TYPES OF FUNCTIONAL TESTING
The different types of functional testing are:
Equivalence class partitioning: In this approach, the domain of input values to a program is partitioned into a set of equivalent classes
Boundary value analysis: It is the analysis of the programming error that frequently occurs at the boundaries of different equivalence classes of inputs
LIMITATIONS
Testing can be used to show the presence of errors, but never to show their absence
Software testing does not help in finding root causes
It can only identify the known issues or errors. It gives no idea about defects still uncovered.
THANK YOU
Dr. Himanshu Hora
SRMS College of Engineering & Technology
Bareilly (INDIA)