Software Requirements

advertisement
Functional Testing
Slide 1
Definition


FUNCTIONAL TESTING
Evaluation of programs based on
functional requirements to ensure the
program works as it was specified to do.
Slide 2
Definition
Slide 3
Definition


A functional test case validates the solution
as defined by the requirements
specification or detailed technical
specification of the component.
A functional test case design is based on
the analysis of the functional specification
of the specific functional component
without reference to its internal workings.
Slide 4
Definition



Functional Testing primarily focuses on ensuring
that the solution components work as designed,
and that the design sufficiently meets the
business requirements. Functional Testing will
often involve some manual steps and stubbing of
components as not all processes will be tightly
linked together.
Functional Testing is often the most complex area
of Testing as it involves staggering the test cycle
inline with development as it occurs. Typically, it
is also where there highest degree of changes
occur during the testing process.
Slide 5
Types of Functional Testing Criteria

Types of testing criteria for functional Requirements

Demonstration:
•

Inspection:
•

Demonstrate the operation of the function to the system owner to
show that the requirement has been met.
Sometimes used in combination with demonstration, it requires
visual examination of the code documentation, table dumps, scans,
etc.
Analysis/Special Qualification:
•
The processing of accumulated data obtained from other methods,
or any special tools, techniques, procedures, facilities, and
acceptable limits. This type of testing usually affects critical parts of
the system and/or interfaces.
Slide 6
Types of Functional Testing Criteria

Demonstration:
•
Demonstrate the operation of the function to the system
owner to show that the requirement has been met.
•
Examples:
•
•
•
Test that a screen navigates to the correct next screen
Test that a field is displayed
Test that an inquiry can be made on a database
Slide 7
Types of Functional Testing Criteria

Inspection:
•
Sometimes used in combination with demonstration, it
requires visual examination of the code documentation,
table dumps, scans, etc.
•
•
•
•
Examples:
Test that an update is made to a database
Test that a report is in the right format
Test that a database table is created
Slide 8
Types of Functional Testing Criteria


Analysis/Special Qualification:
•
The processing of accumulated data obtained from other
methods, or any special tools, techniques, procedures,
facilities, and acceptable limits. This type of testing
usually affects critical parts of the system and/or
interfaces.
•
This is the typical type of testing we think of when we do
functional testing. The types of these tests are
enumerated in the next slide.
Slide 9
Functional Testing Items

Functional Testing will often contain the
highest overall number of test cases, as it is
focused on testing the solution against the
following:
•
•
•
•
•
•
•
Business Rules
Data Mapping
Key Mapping Validation
Data Validation
Filtering
Data Re-Engineering
Derived calculations
Slide 10
Functional Testing–Derived Calculations
Functional Requirements
The system shall calculate interest on a daily
basis For a loan given to a producer, the
system will calculate interest daily based on
the prime rate of +1.2
• Derived calculations
Slide 11
Functional Testing–Business Rule
Functional Requirements
The system shall calculate invoice discount
based on customer status. Customers in
good status get a 5% discount, Customers
NOT in good or poor status get a 1%
discount. Customers in poor status get no
discount.
•
Business Rule
Slide 12
Functional Testing–Data Mapping
Functional Requirements
The system shall create new customer status categories. The
previous categories were good and poor and a null status. The
new categories will be excellent, fair, good and poor. When
converting the data, excellent customers are those customers
who been customers classified as high volume customers and
who have a good status. Good customers who were not
changed to excellent shall remain in the good status. Poor
status is not changed and fair is the previous null status.
•
Data Mapping
Slide 13
Functional Testing–Techniques

Black-box testing includes the following
testing approaches:

•
Equivalence Partitioning
•
•
•
Boundary Value Analysis
•
State Transition Testing

Error Guessing

Slide 14
Functional Testing–Techniques

Equivalence Partitioning


Equivalence Partitioning is based on
evaluation of business functions by
evaluating the input and/or output data that
falls into categories where the system
responds in a similar manner.

Take a look

http://en.wikipedia.org/wiki/Equivalence_partitioning
Slide 15
Functional Testing–Techniques

Equivalence Partitioning Process




Look at functions that require input
Select input and output data that is
representative of all other data that would
likely invoke the same process for that
particular condition.
These should include
•
•
All valid input/output data for a given condition
All invalid input/output data
Slide 16
Functional Testing–Techniques

Equivalence Partitioning Example




If a business rule stated that discounts
were given to senior citizens (over 62) of
5%.
We would have test cases such as
One person over 62
• (all others over in this equivalence class)

One person under 62
• (all others over in this equivalence class)
Slide 17
Functional Testing–Techniques




Boundary Value Analysis
The purpose of boundary value testing is to
evaluated a functions based on the boundaries of
conditions.
Take a look
http://en.wikipedia.org/wiki/Boundary_value_analysis
Slide 18
Functional Testing–Techniques

Boundary Value Process



Look at functions that require
selection based on specific values.
Select input data that is
representative of the boundary
values.
Slide 19
Functional Testing–Techniques

Boundary Value Example




If a business rule stated that
discounts were given to senior
citizens (over 62) of 5%.
We would have a test cases for
One person who is 62
Slide 20
Functional Testing–Techniques

Error Guessing


The purpose of error guessing is to
focus the testing activity on areas that
have not been handled by the other
more formal techniques, such as
equivalence partitioning and boundary
value analysis. Error guessing is the
process of making an educated guess
as to other types of areas to be tested.
Slide 21
Functional Testing–Techniques

Error Guessing






Examples of areas where error
guessing might be used:
· initialization of data,
· wrong kind of data, (e.g., negative numbers,
non-numeric versus numeric),
· restart/recovery
· proper handling of concurrent processes
Slide 22
Functional Testing–Techniques


State Transition Testing
State transition testing focuses on the
testing of transitions from one state (e.g.,
open, closed) of an object (e.g., an account)
to another state. A good technique to test
screen navigation.

Take a look

http://en.wikipedia.org/wiki/State_transition_table
Slide 23
Good Reference





Center for Software Testing Education & Research
At FIT
http://www.testingeducation.org/BBST/index.html
John McGreggor – known software testing
researcher
http://www.cs.clemson.edu/~johnmc/columns.html
Slide 24
Download