24
Slide 1 Functional Testing

Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Embed Size (px)

Citation preview

Page 1: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 1

Functional Testing

Page 2: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 2

Definition

FUNCTIONAL TESTING

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

Page 3: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 3

Definition

Page 4: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 4

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.

Page 5: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 5

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.

Page 6: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 6

Types of Functional Testing Criteria

Types of testing criteria for functional Requirements

Demonstration: • Demonstrate the operation of the function to the system owner to show

that the requirement has been met. Inspection:

• 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.

Page 7: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 7

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

Page 8: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 8

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

Page 9: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 9

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.

Page 10: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 10

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

Page 11: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 11

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

Page 12: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 12

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

Page 13: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 13

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

Page 14: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 14

Functional Testing–Techniques

Black-box testing includes the following testing approaches:

 • Equivalence Partitioning

 • Boundary Value Analysis•  • Error Guessing

 • State Transition Testing

Page 15: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 15

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

Page 16: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 16

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

Page 17: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 17

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)

Page 18: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 18

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

Page 19: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 19

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.

Page 20: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 20

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

Page 21: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 21

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. 

Page 22: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 22

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

Page 23: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 23

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

Page 24: Slide 1 Functional Testing. Slide 2 Definition l FUNCTIONAL TESTING l Evaluation of programs based on functional requirements to ensure the program works

Slide 24

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