You can affect the behavior and results of a business process test by using parameters to define the values that components and flows receive and return. This process is known as parameterization.
Parameterization enables you to perform operations on the application you are testing with multiple sets of data. Each time you run a business process test, you can supply different values for the parameters in the test (or its components and flows).
For task details, see How to Handle Data in Business Process Testing.
Product Feature Movie: To view a movie that demonstrates how to handle Business Process Testing parameters, select Help > Movies in the ALM main window.
Business Process Testing provides several categories of parameters, such as:
- Component / Test / Flow parameters. Component parameters provide data for components. Similarly, flow parameters provide data at the flow level and test parameters provide data at the test level.
- Input / Output parameters. Input parameters are data that are used by an entity (component, flow, or test) in order for the entity to perform its function. For example, in order for a component to simulate a login operation, it must receive the login name and password as input parameters. Output parameters are data that are outputted or generated by an entity (component or flow), such as an invoice number.
For reference details, see Parameter Categories.
To test the business process of a banker logging in to an online banking application, you might structure a business process test from components that:
- Log in to the application (Login)
- Select a customer loan (SelectLoan)
- View transactions for the loan (ViewLoan)
- Log out (Logout)
The steps in each of these business components can be set up to receive data from the business process test that runs the components (for example, the loans that a customer has). Any element of data, which may have different values each time the business component is run, can be parameterized. For example, the banker may choose a different customer and customer loan to view each time he or she logs in.
Here are parameters you might create for this scenario, listed by category:
|Input Component Parameters||
|Output Component Parameters||
For component parameters within a business process test or flow to be accessible to other components, the parameters can be linked. You link output parameters from one component to input parameters in another component.
Tip: Flow parameters can also be linked.
For task details, see How to Link Data.
Assume that a banking application contains business processes for:
- Selecting a customer loan (SelectLoan)
- Viewing transactions for the loan (ViewLoan)
You can structure your business process test so that it contains a component for selecting the loan, SelectLoan, and a component for viewing the loan's transactions, ViewLoan. For ViewLoan to know which loan to view, it receives an input parameter, for example, ViewLoanID, from the SelectedLoanID output parameter in the SelectLoan component.
Promoting parameters enables the components in other flows (and components and flows in other tests) to access a parameter value. Promotion widens the scope of a parameter so that more entities can use its value when a business process test runs.
You can promote component parameters to the flow or test level at the same time as you add a component to a flow or test. Similarly, flow input parameters can be promoted to the test level at the same time as you add a flow to a test.
For task details, see How to Promote Parameters.
Continuing the previous example, you might decide that once a loan ID is selected by the banker, all components within a specific flow or test should have access to that loan ID.
To make the SelectedLoanID output parameter available to all components in a flow, promote in the flow level and/or test level. Once promoted, the following sample business components can use SelectedLoanID as an input parameter. Any component in the flow would then have access to the SelectedLoanID without needing to link input and output parameters:
- Searching for a loan (SearchLoan)
- Approving a loan (ApproveLoan)
- Printing a loan (PrintLoan)
- Canceling a loan (CancelLoan)
- Closing a paid-off loan (CloseLoan)
Parameterization enables you to iterate specific components in a business process test, specific components in a flow, entire business process tests, or test configurations for a business process test—thereby creating data-driven tests.
Defining iterations enables you to automatically run business components, flows, and tests multiple times, each time using different parameter values. For conceptual details, see Iterations Overview.
You can run business process tests for different use-cases of the application you are testing. Examples of use-cases include: Running the same test on different operating systems, running the same test for different browser versions, or running the same test with different languages' character sets.
Each use-case of a test is represented by a test configuration. You can associate different sets of data for each test configuration and its iterations. For conceptual details, see Business Process Test Configurations Overview.
You, the tester, must test that the business process in the banking application for approving loans works as expected for different scenarios:
- Loans pre-approved during the last marketing campaign are automatically approved
- Loans under a certain amount follow the standard business process for approving loans
- Loans over a certain amount must be flagged for additional approvals
To test the business process, you can iterate the ApproveLoan component, providing different LoanAmount and PromotionCode parameter value combinations for each iteration.
You, the tester, must verify that a manual business process test, CreateLoan, in the banking application runs as expected in different countries, since the bank has branches all over the world. You need to make sure that data can be supplied to the test in different languages.
You create different test configurations for each supported language, and supply different data tables for each test configuration using characters unique to that language. For example, you can create a test configuration called CreateLoanFrench for branches in French-speaking countries. The data for this test configuration might contain customer names with grave accents (à). For a test configuration called CreateLoanUK, the pound (£) monetary symbol may appear in the data.
You can also define input and output parameters for a business component in UFT. For details, see the Micro Focus Unified Functional Testing User Guide.