You are on page 1of 30

User Acceptance Testing with

(Scenario Based

Mary Larson
INTERNAL January 2009
Testing is an organized activity that:

 Validates a system works as



 Detects differences between

expected and actual results.


 Testing is really verification, which is

part of our everyday activities:

 Balancing our checkbook.

 Waiting for a red stoplight to turn green
before proceeding.

 Science uses hypothesis and math proofs

– to verify situations and outcomes.

Testing Guidelines
 We can not test everything.

 We need to make conscious

decisions about where to focus the
depth and intensity of testing.

 Use the requirement priority to

prioritize test cases for design and

What is a Test Case?

 A test case checks a particular

situation or condition within a

 Also known as: test condition, test

script, test scenario, test
specification, etc.

Anatomy of a Test Case
 Test Name and Unique ID
 Linked to one or more Requirements

 Description (field contains)

 Description and Purpose

 Pre-conditions

 Input Data

 Post-conditions

 Test Steps
 Step Name

 Description (action to be performed)

 Expected Result
Test Case Best Practices
 A good test case….

 is not redundant. Two test cases should not find the

same type of defect.

 is simple, easy to follow, and effective. It can be run by a

person with domain knowledge without consulting the
person who created it

 is repeatable. A test case, when repeated, will

consistently produce the same results.

 is executable independently and independent of other

test cases.
Test Case Design – Best practices
 Limit test cases to 15 – 20 steps.

 Begin each test case with a Login step, initiate batch job step or other
common starting point.

 Ensure each test step is simple activity.

 Design test cases that are independent of other test cases (stand on their

 Test Cases must be assigned to Test Sets before execution can occur.
 For details on how to create test sets and add test cases to them, refer
to Quality Center eLearning
 Contact TTS.Mercury for specific question on Quality Center usage

 Prioritize your test cases.

 Prioritize based on the Project Risk
 Helps to determine what to execute and execution order in case
testing scheduled is compressed, resulting in inadequate execution

 Link test cases to requirements. Helps ensure requirements are covered

by test cases and allows you to demonstrate traceability.

Identifying Potential Test Cases
 Derive Primary Test Case (happy path)
 Highest frequency of execution.

 Each Flow = 1 or more Test Case

 Lower frequency of execution.

 Prioritize the list of potential test cases

based on frequency of use, risk,
complexity; and eliminate redundancy to
optimize your testing.
Major Risk Factors
 Customer or user impact
 Business operational risk
 Prior defect history
 New and modified features
 Heavily used features
 Complex features
 Exceptions
 Poorly built or maintained areas of

Eliminate Redundancy
 Testing redundancy often occurs due to a
lack of planning and communication.

 Plan and collaborate with teams involved in the

 Determine which teams are responsible for the different
stages and types of testing that will be performed.
 Planning helps to find gaps, as well as identify
 Document the scope of each test stage in the Master
Test Plan.

 When designing test cases be alert for multiple

cases that produce the same behavior.
 If one situation works correctly, we can assume the
others are correct too. (We don’t need to test them all.)
Test Case Prioritization

 The top 10% to 15% of the test cases

uncover 75% to 90% of the
significant defects.

 Risk prioritization is a method of

choosing the 10% to 15% which are
the most critical test cases.

Developing Test Cases with SBR
 Scenarios specify the behavior of a system
from a user’s perspective.

 Provide a powerful source for generating

test cases.

 Scenario based testing identifies test cases

other techniques have difficulty seeing.

 Scenarios focus attention on users and

actions that they perform.

User Acceptance Testing
 High-Level Requirements (REQs) are often used to
create test cases.

 Objective: User acceptance of the software by

allowing users to “test drive” and “kick the tires”.

 Acceptance criteria should be specified in the

Master Test Plan. It will vary based on level of
user involvement in project, business criticality,
number of releases/iterations, project timelines,
test stages performed, etc.

Quality Center Test Case (Design Steps) Example
Quality Center is Target’s Test Management and Defect
Tracking Tool
 Provides a central repository for test cases, test execution results and
 Customized fields and reports to support TSD best practices and
 Integrated with CaliberRM (Target’s Requirements Management Tool)

Test Case Translation Techniques
 Requirements to Test Cases
 Functionally decompose requirements into test cases.
 Use Verify streams: e.g. Verify that when a change
request is created a unique ID is assigned to it.

 Functional Specification (FS) Flows to Test Cases

 FS Flows are detailed steps of user actions that
describe “process flows” in a system.
 Detailed actions in FS Flows allow them to be easily
translated into test cases.
 These test cases are useful in uncovering “real use”
defects and integration defects.

Creating Detailed Test Cases
Test Cases should be derived from Requirements,
Business Rules and Functional Specifications.
 To ensure traceability Requirements should be linked to Test Cases
 Note: Some test case details may not be discovered until technical design.

Requirement A
Functional Specification Flow(s)
Business Rule(s)

Test Case 1 Test Case 2

 Note: Requirement A and Test Case 1 (2) are made up names for this
example. Requirement and test case name should be descriptive and
Creating Test Cases using SBR

Using Copy/Paste to Clone similar Test Case
Created Test Case 1 in Quality Center (see previous slide)
 Test Case derived from:
 2.1 REQ - Ability to search for existing customer information
 FL-1.1 Search Customer (Call Rep and Customer Service Manager)

 Note that each Test Step contains the following information:

 Step Name
 Description (action)
 Expected Result

Test Case 2 (next slide) was cloned from Test Case 1

 Quality Center’s copy/paste function was used to clone Test Case 2
 Note that cells with green font have been updated.
 This test case also applied 2 RUL to the step information.
 Only Step 3’s Description and Step 5’s Expected Result needed to be

Creating Test Cases using SBR (Con’t)
Item Description
Requirement A 2.1 REQ - Ability to search for existing customer information

+ Business Rule2 RUL - A wildcard search must be available for all search
+ Functional Spec - FL-1.1 Search Customer (Call Rep and Customer Service
Step # Step
1 On home page user indicates call starts by clicking on Start Call button. The system records the Call start time and Call Rep
2 The user clicks the Start button and the Customer Search Page displayed.
a.Last Name – data entry, required
b.State – dropdown menu of all states, required, defaulted to (Select One)
3 The user enters all of the required information and clicks the Search button
4 The system refreshes the Customer Search page with data pre-populated in the results table
= Test Case 2 (covers 2.1 REQ, FL-1.1 and 2 RUL) *focus is on applying 2 RUL

Step Description Expected Result

Step 1 On home page user indicates call starts by clicking The system records the Call start time and Call Rep.
on Start Call button.
Step 2 The user clicks the Start button. The Customer Search Page displayed.
Step 3 The user enters a valid Char + wildcard combo Data entry is allowed.
(***need to know what the wildcard value is)
Step 4 The user selects a State from the dropdown menu. The State can be selected and the correct State value (item selected) is
Step 5 The user clicks the Search button. The Customer Search page is refreshed and the correct data for ALL
customer s matching the Char + wildcard combo is displayed in the results
Test Case Attributes (in Quality Center)
 Test Case Description
 A description of what the test case is expected to verify/validate
 Example: Verify that a user with project setup permissions can create a new Project by
entering these valid, mandatory inputs: …
 Example: Verify that a user with project setup permissions can assign an existing team to a
newly created Project.
 Example: Verify that a user with baseline permissions can modify tasks and re-baseline a
Project that has previously been baselined.
 Test Case Name
 Include a unique ID that identifies the test case.
 For Ex TC-CLARITY-CreateProject-001
 Test Step Description
 Includes actions to be taken by the user to complete the test step.
 For Ex. Enter Login and Password on the Login Page, then press <OK>.
 A group of test steps in a sequence make up a test case.
 Test Step Expected Result
 The expected outcome from performing the Test Step actions (description)
 For Ex. System should Login the user successfully and display the Application Overview Page

Test Case Attributes (in QC Con’t)
 Actual Result
 Actual Result of the test step, as compared to the Expected Result. The actual result
determines the test step status – Pass or Fail
 Test Case Pre Conditions
 Pre-conditions determine conditions or state the system should be in before executing
the test case
 For Ex. To Test the assignment of resources to a Project, the resources should exist in the System.
 For Ex. To Test Post Timesheet, there should be at least one Timesheet in Approved status for the test user.

 Linked Requirement
 The linked requirement(s) for which the Test case is designed to be executed. Linking
requirements to test cases helps to assess requirements coverage and traceability.
 Test Case Post Condition
 The state of the system after successful execution of the test case
 For Ex. Project Created
 For Ex. Time sheet in Approved Status
 Not required for every test case
 Can assist with planning and ordering test cases for execution.

Additional attributes like Test Stage, Test Type, Priority are available in Quality
Quality Center User’s Reference Site

Quality Center Process Flow
 Link on Quality Center User’s Reference Site

Test Case Design Techniques
Black Box – Equivalence Partitioning Example

Exam Marks
0 ≥ Marks ≤ 100

… -1 101 …

 Equivalence Partitioning
 Identify the different logic conditions for this example

 Select Test Cases from each of the specified conditions

 Group possible Test Cases based on conditions. Executing one Test Case in the
group is equivalent to executing other Test Cases in the same group.

Test Case Design Techniques
Black Box Testing – Case Study

Marks > 100 OR < 0 Print Error

Marks >= 90 Print A

Marks >= 80 AND < 90 Print B

Marks >= 70 AND < 80 Print C

Marks >= 60 AND < 70 Print D

Marks < 60 Print F

Note: Each of the above conditions represents a test case

Test Case Design Techniques
Black Box Testing – Case Study

Case Study

 DPS Summary

The system generates warnings and notifications while processing the Fiscal Month
End Process.

Within 24 - 36 hours before Fiscal Month End Process : Generate Mail

After completion of Fiscal Month End Process : Generate Email on Status
Failure of Process : Generate Error message
and create a log file
Standard Fiscal Month End DPS Summarization incomplete : Generate warning

Develop Test cases using Equivalence class and Boundary value analysis.

Test Case Design Techniques
Black Box – Boundary Value Analysis by example

Action: Generate Email to repopulate DPS driver table.

Condition: Email will be generated 24 to 36 hrs prior to Process start

Generate E Mail

… >3 36 24 <24 …

 Boundary Value Analysis

 Identify Test Cases to test the ‘Edge’ conditions of boundaries

 Helps to exercise boundary values

 Complements Equivalence Partitioning technique

Test Case Design Techniques
Test Case – Error Handling

Error Handling

 Tests that ensure the System doesn't crash, lose data, or otherwise break
when users do something that wasn't planned or anticipated by developers.

 Tests that an appropriate error/warning message is displayed at the right

time in the correct format. Requirements (and business rules) need to
provide sufficient details for design, coding and testing activities.

 For Ex. Attempt to enter data outside the boundaries. The software
should not permit this.
 Make illegal combination choices. The software should prevent the
action by disabling fields, and/or display an appropriate error message.
 Turn off the computer during a transaction. The software should not
lose data.