Print Page | Close Window

Functional testing

Printed From: One Stop Testing
Category: Types Of Software Testing @ OneStopTesting
Forum Name: Functional Testing @ OneStopTesting
Forum Discription: Discuss All that is need to be known about Functional Software Testing and its Tools.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=220
Printed Date: 08Feb2025 at 3:05pm


Topic: Functional testing
Posted By: Pushkar
Subject: Functional testing
Date Posted: 23Feb2007 at 3:17pm

Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.

This method of test design is applicable to all levels of http://en.wikipedia.org/wiki/Software_testing - software testing : http://en.wikipedia.org/wiki/Unit_test - unit , http://en.wikipedia.org/wiki/Integration_testing - integration , functional testing, http://en.wikipedia.org/wiki/System_testing - system and http://en.wikipedia.org/wiki/Acceptance_test - acceptance . The higher the level, and hence the bigger and more complex the box, the more we're forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, you can't be sure that all existent paths are tested.



Typical black box test design techniques include:

  • http://en.wikipedia.org/wiki/Equivalence_partitioning - Equivalence partitioning
  • http://en.wikipedia.org/wiki/Boundary_value_analysis - Boundary value analysis
  • http://en.wikipedia.org/wiki/Decision_table - Decision table testing
  • http://en.wikipedia.org/wiki/Pairwise_testing - Pairwise testing
  • http://en.wikipedia.org/wiki/State_transition_table - State transition tables
  • http://en.wikipedia.org/wiki/Use_case - Use case testing
  • Cross-functional testing
  • Functional testing

Equivalence partitioning is a http://en.wikipedia.org/wiki/Software_testing - software testing related technique with the goal:

  1. To reduce the number of test cases to a necessary minimum.
  2. To select the right test cases to cover all possible scenarios.

Although in rare cases equivalence partitioning is also applied to outputs of a software component, typically it is applied to the inputs of a tested component. The equivalence partitions are usually derived from the specification of the component's behaviour. An input has certain ranges which are valid and other ranges which are invalid. This may be best explained at the following example of a function which has the pass parameter "month" of a date. The valid range for the month is 1 to 12, standing for January to December. This valid range is called a partition. In this example there are two further partitions of invalid ranges. The first invalid partition would be <= 0 and the second invalid partition would be >= 13.

        .... -2 -1  0 1 .............. 12 13  14  15 ..... 
--------------|-------------------|---------------------
invalid partition 1 valid partition invalid partition 2

Equivalence partitioning is no stand alone method to determine test cases. It has to be supplemented by http://en.wikipedia.org/wiki/Boundary_value_analysis - Boundary value analysis . Having determined the partitions of possible inputs the method of boundary value analysis has to be applied to select the most effective test cases out of these partitions.


Boundary Value Analysis

From Wikipedia, the free encyclopedia

(Redirected from http://en.wikipedia.org/w/index.php?title=Boundary_value_analysis&redirect=no - Boundary value analysis )
Jump to: http://en.wikipedia.org/wiki/Boundary_value_analysis#column-one - navigation , http://en.wikipedia.org/wiki/Boundary_value_analysis#searchInput - search

Boundary value analysis is a http://en.wikipedia.org/wiki/Software_testing - software testing related technique to determine test cases covering known areas of frequent problems at the boundaries of software component input ranges.

[ http://en.wikipedia.org/w/index.php?title=Boundary_Value_Analysis&action=edit&section=1 - edit ] Introduction

Testing experience has shown that especially the boundaries of input ranges to a software component are liable to defects. A programmer who has to implement e.g. the range 1 to 12 at an input, which e.g. stands for the month January to December in a date, has in his code a line checking for this range. This may look like:

  if (month > 0 && month < 13)

But a common programming error may check a wrong range e.g. starting the range at 0 by writing:

  if (month >= 0 && month < 13)

For more complex range checks in a program this may be a problem which is not so easily spotted as in the above simple example.


Decision tables are a precise yet compact way to model complicated logic. Decision tables, like if-then-else and switch-case statements, associate conditions with actions to perform. But, unlike the control structures found in traditional programming languages, decision tables can associate many independent conditions with several actions in an elegant way.

State Transition Table

From Wikipedia, the free encyclopedia

(Redirected from http://en.wikipedia.org/w/index.php?title=State_transition_table&redirect=no - State transition table )
Jump to: http://en.wikipedia.org/wiki/State_transition_table#column-one - navigation , http://en.wikipedia.org/wiki/State_transition_table#searchInput - search

In http://en.wikipedia.org/wiki/Automata_theory - automata theory and http://en.wikipedia.org/wiki/Sequential_logic - sequential logic , a state transition table is a table showing what state (or states in the case of a http://en.wikipedia.org/wiki/Nondeterministic_finite_state_machine - nondeterministic finite automaton ) the http://en.wikipedia.org/wiki/State_machine - state machine will move to, based on the current state and other inputs. A state table is essentially a http://en.wikipedia.org/wiki/Truth_table - truth table in which some of the inputs are the current state, and the outputs include the next state, along with other outputs.

A state table is one of many ways to specify a state machine, other ways being a http://en.wikipedia.org/wiki/State_diagram - state diagram , and a characteristic equation.





Print Page | Close Window