Business Process Testing methodologies

Relevant for: business process tests and flows

BPT is flexible and does not require any one particular model for incorporating business processes into your testing environment. The actual workflow in an organization may differ for different projects, or at different stages of the application development life cycle.

This topic discusses commonly-used methodologies. The sections in this help are structured according to the bottom-up methodology.

Bottom-up testing

Defining low-level components first and then designing business process tests based on the defined components is called a bottom-up methodology. This methodology is particularly useful:

  • For regression testing
  • When the business processes in the organization are clearly defined
  • When users are new to BPT

The bottom-up methodology is based on the following design phases:

Using the approach enables you to create resources - components, application areas, and object repositories that can be reused across tests. For example, you can use the same component in a number of tests. Likewise, you can design many different components that contain the same application area (which is based upon a specific area of your application).

Back to top

Top-down testing

The top-down methodology advocates the creation of business process testing entities according to the following hierarchy:

  • Business process tests, which contain flows and/or business components
  • Flows, which contain business components
  • Business components, which contain manual and/or automated steps

The top-down methodology is based on the following design phases:

Back to top

Agile testing

This approach is based on using BPT to provide testing in sprints, as developers code features for the application under test. Components and tests are created and updated in parallel with development.

The following presents the Agile Development-centric approach.

This approach encourages:

  • Automation. Because sprints are short, it is important to automate as much as possible.
  • Component reuse. Component reuse can be designed in the same way that the developers implement modularly for reuse.

Back to top