Anda di halaman 1dari 24

Functional Testing

Slide1

Definition

FUNCTIONAL TESTING
Evaluation of programs based on
functional requirements to ensure the
program works as it was specified to do.

Slide2

Definition

Slide3

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.

Slide4

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.

Slide5

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.

Slide6

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

Slide7

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

Slide8

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.

Slide9

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

Slide10

Functional TestingDerived 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

Slide11

Functional TestingBusiness 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

Slide12

Functional TestingData 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

Slide13

Functional TestingTechniques

Black-box testing includes the following testing


approaches:

Equivalence Partitioning

Boundary Value Analysis

State Transition Testing

Error Guessing

Slide14

Functional TestingTechniques

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

Slide15

Functional TestingTechniques

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

Slide16

Functional TestingTechniques

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)

Slide17

Functional TestingTechniques

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

Slide18

Functional TestingTechniques

Boundary Value Process

Look at functions that require


selection based on specific values.
Select input data that is
representative of the boundary
values.

Slide19

Functional TestingTechniques

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
Slide20

Functional TestingTechniques

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.

Slide21

Functional TestingTechniques

Error Guessing

Examples of areas where error guessing


might be used:
initialization of data,
wrong kind of data, (e.g., negative numbers, nonnumeric versus numeric),
restart/recovery
proper handling of concurrent processes

Slide22

Functional TestingTechniques

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

Slide23

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

Slide24

Anda mungkin juga menyukai