Siebel Testing and Business Process Testing Framework
1. • Cognizant 20-20 Insights
Siebel Testing and Business Process
Testing Framework
Executive Summary by distinct hands, though in others the
same man may sometimes perform two or
Reusability is the buzzword in the industry.
three of them.1
However, in testing, it is very difficult to achieve
reuse when it comes to automating the steps The process of producing a pin can be described as
written for test cases. By encouraging design a sequence of components whose steps performed
tests early in the project lifecycle, the business will create a “pin” as its output. Keeping in mind
process testing (BPT) framework introduces reuse the above example, the business components for
to testing environments. This paper explores the the process can be defined as follows:
following issues when it comes to reuse in testing:
• Draw out wire
• How to increase reusability using the BPT
• Straighten wire
framework.
• How to use the BPT framework for Siebel
• Cut wire
testing and reuse it for automation. • Point wire
• How to reduce rework using the BPT • Grind wire top
framework. • Carve pin head
Business Process Testing
• Attach pin head to wire
A business process is a collection of related
• Whiten finished pin
activities or tasks that are performed to achieve Any process completed for each component
a particular goal requested by customers. One of involves a series of steps to be followed. Similarly,
the first people to describe business processes the BPT approach helps the quality assurance
was Adam Smith, in his famous example of how a organization design tests early in the life cycle
pin is produced in a factory: of the project, making use of reusable units
One man draws out the wire, another called business components. The BPT approach
straights it, a third cuts it, a fourth points comprises:
it, a fifth grinds it at the top for receiving, • Reusable business components
the head; to make the head requires two
• Business process tests
or three distinct operations; to put it on is
a peculiar business, to whiten the pins is BPT uses a new methodology for testing and, in
another… and the important business of conjunction with testing tools such as QuickTest
making a pin is, in this manner, divided into Professional and WinRunner, provides numerous
about eighteen distinct operations, which, benefits by offering an improved manual and
in some manufactories, are all performed automated testing environment.
cognizant 20-20 insights | october 2011
2. What is a Business Component? Reusable Business Components
To understand business components, consider
the example of object-oriented programming, in Test Case 1 Test Case 2
which we create reusable objects with functions. Objective: Verify that order Objective: Verify that field
can be created on sales site. country is a drop-down.
TotalInterest
• Open Web browser • Open Web browser
{ • Enter sales application URL
• Enter sales application URL
Amt = GetLoanAmount() - Enter login credentials: - Enter login credentials:
<User ID> <User ID>
IntRate = GetInterestRate() <Password> <Password>
BC1 BC1
TotalInterest = CalculateInterest(Amt, IntRate)
} • Navigate to Orders screen
• Navigate to Orders screen • Click on New Order to
• Click on New Order to create New Order.
In this case, we have broken down a large program create new order. BC2
into small, reusable functions. Similarly, by using BC2
BPT, we can break test cases into a set of reusable • Click on Country field.
• Verify that Country field is
pieces called business components (see Figure 1). • Fill all mandatory fields
a drop-down and that
and click on Save. Order is visible values can
saved successfully. be selected.
In Figure 1, both test cases share Business
BC3 BC4
Components 1 and 2, thereby increasing reusabil-
ity. Changes to the business components, if any,
will need to be done in just one place, thereby Figure 1
updating all other test cases. As one can see, only
business components need to be changed rather
than modifying all test cases individually. This • BC1 — Open Web browser and enter login
helps reduce the overall rework effort. credentials
What is a Business Process Test? • BC2 — Navigate to Accounts screens and
search for an account
A business process test is a test case that
comprises business components. For example, a
• BC3 — Verify field values
business process test for the objective, “Verify The above-mentioned business components can
that field Status contains valid values” can be reused for a number of business process tests
comprise the following business components: (see Figure 2).
Business Process Tests
BC1
Test Case-1 BC2 Test Data 1
11 BCn
Execution Lab
n BC2 Test Data 2
Test Case-n BC3
BCn
Figure 2
cognizant 20-20 insights 2
3. How BPT Can Be Carried Out in a Quality Center
Create manual business components Functional tester/SME/Business analyst
Add steps to business components Functional tester/SME/Business analyst
Create business process test Functional tester/SME/Business analyst
Execute business process test manually Functional tester
Convert manual components to automation Automation tester
Debug automation business process test Automation tester
Execute business process test Automation tester/Functional tester
Figure 3
Figure 3 depicts how BPT can be carried out in a BPT for Siebel Test Cases
quality center.
Business Process Testing and Siebel Test Case 1 Test Case 2
The BPT approach can be used extensively for Objective: Verify that field Objective: Verify that field
status contains valid values. “Country” is a drop-down.
Siebel applications because the steps in the test
cases are repetitive in nature. Organizing these • Open Web browser • Open Web browser
repetitive steps into business components can • Enter Siebel URL • Enter sales application URL
- Enter login credentials: - Enter login credentials:
lead to a reduction in test case writing, reviewing
<User ID> <User ID>
and reworking efforts. <Password> <Password>
BC1 BC1
For example, in Siebel, the following steps are often
• Navigate to site map > • Navigate to to site map >
used for navigating from one stage to another: Accounts > Account List. Accounts > Account List.
• Query for an account • Query for an account
• Navigating to Accounts screen and creating <Account name> <Account name>
new account • Account found • Account found
BC2 BC2
• Navigating to Accounts screen and creating
service request for selected account • Click on Status field • Click on Country field.
• Verify visibility of • Verify that Country field
• Navigating to Accounts screen and creating following values:
- Active
is a drop-down and that
visible values can
contacts for selected account - On hold be selected.
- Inactive
In this example, the navigation steps are the same - To be deleted
BC3 BC4
throughout but are used for multiple scenarios.
Defining business components for any of these
navigation steps will lead to reusability of the
components in every test case. Even in the case Figure 4
of changes, these steps will need to be updated
only once. Moreover, an automation script needs
to be written only once for this set of steps, and
updates will also be required in just one place. need to be updated for the existing test case vs.
writing a completely new test case when there is
Similarly, in Siebel applications, transactional a change.
data needs to be created multiple times for ‘n’
number of input values. When the BPT approach Figure 4 describes how the BPT approach can be
is followed, only one test case (i.e., the BPT test used in typical Siebel test cases. As seen, the test
case) is required for the creation of transaction- cases in Figure 4 contain similar steps; hence,
al data, whereby different input values can be reusable steps can be broken down in a business
provided as parameters. Only input parameters component.
cognizant 20-20 insights 3
4. Atomic Business Components
Figure 5
Automated Business Components
Figure 6
A business component should be as atomic as Similarly, if the same test case has to be repeated
possible so that it can be re-used in multiple for different accounts, then input values need to
test cases. In Figure 5, Business Component 1 is be added for the account name parameter (see
designed only for login steps with a URL, user Figure 9, next page).
ID and password to make it highly reusable and
parameter driven. Test cases can be pulled in the test lab and
executed either manually or via automation,
Manual business components can be promoted provided automation scripts are written for
to automated business components using the business components (see Figure 10, page 6).
Automate Component option (see Figure 6).
During execution, parameters are replaced with
The other components can be designed similarly. actual values as setup for iterations. For the
Once this is done, a test case can be created by above example, the parameter was URL, but while
pulling business components (see Figure 7, next executing, the value of the parameter is as shown
page). (see Figure 11, page 6).
Business components in test cases can be Similarly, the user ID and password will also be
grouped together in order to execute for multiple replaced with the values provided in the iterations
input values. For example, if Test Case 1 needs to (see Figure 12, page 7).
be repeated for different users, then all business
components need to be grouped, and input values
need to be added (see Figure 8, next page).
cognizant 20-20 insights 4
5. Test Case
Figure 7
Grouping Business Components
Figure 8
Repeating Test Cases
Figure 9
cognizant 20-20 insights 5
6. Executing Test Cases
Figure 10
Parameter Values During Execution
Figure 11
Iteration details can also be viewed after • Automation testing becomes structured
executing the test case, which will show values of by using business components. Since
the parameters (see Figure 13, next page). automation scripts need to be written only
once for every component, they can be
Benefits of Business Process Testing reused for any number of business process
Business process tests can be created by functional tests. This reduces the effort of writing
testers, subject matter experts and business and maintaining automation scripts (see
analysts who understand the business process Figure 14, next page).
best. This leads to the creation of a high-quality
business process test, thereby leading to high-
• Business process testing is not dependent
on the completion of detailed testing scripts.
quality deliverables following the testing cycle. Applications can be tested manually before
automated tests are ready.
Business process testing enables structured
testing by enabling automation testing. This is Test creation is accelerated through the use
possible because of the following: of reusable business components in multiple
business process tests (see Figure 15, next page).
cognizant 20-20 insights 6
7. User ID and Password Values
10
Rework Effort in ReworkDays in Person Days
8
6
10
Person Effort
48
6 2
Figure 12 Project 1 Project 2 Project 3
4 Rework: with BPT Rework: without BPT
Parameter Values Shown
2
Project 1 Project 2 Project 3
120 Rework: with BPT Rework: without BPT
Automation Effort in Person Days in Person Days
10
Rework Effort in Person Days
100 8
Automation Effort
120
6
80
100 4
60
Project 1 Project 2 Project 3 2
Project 1 Project 2 Project 3
Figure 1380 Automation Effort: Automation Effort:
with BPT without BPT Rework: with BPT Rework: without BPT
60
Reusability with BPT 2
Project 1 Project Project 3 Accelerated Automation
Automation Effort: Automation Effort:
with BPT without BPT 120
Automation Effort in Person Days
30%
Reusability in Test Planning in Test Planning
25%
100
20%
30%
15% 80
Reusability
25%
10%
20% 60
5% Project 1 Project 2 Project 3
Project 1 Project 2 Project 3
15%
Automation Effort: Automation Effort:
Reusability: with BPT Reusability: without BPT with BPT without BPT
10%
5%
Figure 14 Project 1 Project 2 Project 3 Figure 15
50 Reusability: with BPT Reusability: without BPT
30%
Savings with BPT
40 Reduced Rework
Savings in Person Days in Person Days
Rework EffortReusability in Test Planning
25%
30
50 20%
20 10
in Person Days
15%
Savings
40
10 8
30 10%
0
Project 1 Project 2 Project 3 6
20 5%
Project 1 Project 2 Project 3
Savings with BPT
10 4
Reusability: with BPT Reusability: without BPT
0 2
Project 1 Project 2 Project 3 Project 1 Project 2 Project 3
Savings with BPT Rework: with BPT Rework: without BPT
50
Figure 16 Figure 1740
Savings in Person Days
30
120
tion Effort in Person Days
20
cognizant 20-20 insights 7 100
10
0
80 Project 1 Project 2 Project 3