Testing Strategy: Author: PSC Consulting
Testing Strategy: Author: PSC Consulting
Testing Strategy: Author: PSC Consulting
Version 2.0
Author: PSC Consulting
PeopleSoft, the PeopleSoft logo, PeopleTools, PS/nVision, PeopleCode, PeopleBooks, and Red Pepper are registered trademarks, and The
Vantive Corporation, PeopleTalk, and "Applications for eBusiness" are trademarks of PeopleSoft, Inc. All other company and product names
may be trademarks of their respective owners. The information contained herein is subject to change without notice. Copyright 2002
PeopleSoft, Inc. All rights reserved.
Document Control
Change Record
Date
Author
Version
Change Reference
11.18.2002
PSC Consulting
1.0
Original Document
11.24.2002
PSC Consulting
2.0
Incorporated Changes
Sign-Off
Date
Reviewer Name
Position
Copy No.
Name
Mark Cianca
Reviewers
Sign-Off
Distribution
-1-
Table of Contents
1
INTRODUCTION ................................................................................................................ 2
1.1
1.2
Objectives ..............................................................................................................................2
1.1.1
1.1.2
Approach................................................................................................................................2
1.2.1
Document Scope......................................................................................................2
3.1
Business Testing....................................................................................................................2
3.2
Performance Testing..............................................................................................................2
4.1.2
4.1.3
Acceptance Testing..................................................................................................2
Introduction ............................................................................................................................2
5.2
5.3
5.4
5.5
8.2
-2-
9.2
-3-
1 Introduction
1.1 Objectives
This document deals with the goals and objectives of testingthat is, the purpose of
testing, testing phases and processes, resource allocations, testing environments and
an issue resolution. This document also tries to identify testing activities.
The AIS Testing Strategy Document forms the high level testing methodology for the
AIS project implementation and should be employed as a guide for the entire testing
effort. Although the general intent of this document is applicable to implementation
testing, the standards set forth should be applied to the greatest extent possible to
ensure the integrity of the system. The document should be used by each of the
following audience groups in the manner described below.
1.1.1
Project Management may use this testing strategy as a communication tool between
the project team and other interested parties, and to establish expectations for what
will be executed and monitored during the testing process. The Management team
may also employ this strategy to understand the different phases of testing, resource
requirements, and the estimated timeline necessary to ensure a comprehensive and
rigorous test of the applications.
1.1.2
This document is primarily intended for project management to guide the testing
process but it may also be a useful tool for development and testing teams. The
development and testing teams may review this strategy to understand the different
phases of testing, resource requirements, the test management process, sign-offs, and
the estimated timeline. The strategy explains the flow and the details of the testing
process and the team members roles within this process. Successfully executing a
comprehensive and rigorous set of tests will minimize the risk of deploying the
applications.
-4-
1.2 Approach
This document focuses on the following areas:
Goals and Objectives of Testing: This section identifies the aims and
specific purpose of testing.
Testing Phases: This section describes the phases of the testing progression
strategy.
Testing Team Structure: This section details the different roles and
associated responsibilities during the testing phase.
Testing Scripts: This purpose of this section is to explain the reasons and
methods for creating testing scripts.
Issue Resolution Process: This portion explains the steps for issue
resolution.
1.2.1
Document Scope
-5-
-6-
3 Testing Phases
Testing phases give structure to the testing effort and bring to light any dependencies
among the different testing events. During the course of the testing process various
types of tests will be conducted to certify that the systems are suitable for release to
the production environment. The tests can be broadly categorized into the following
two areas:
-7-
Unit Testing
Link Testing
Functional Testing
Systems Integration
Testing
Failure Recovery
Testing
Acceptance
Testing
Figure 1
-8-
Unit Testing: To perform unit testing is to test and ensure the functioning of
each portion of a product or segment of code separately.
Systems Integration Testing (SIT): After signoff on the functional test, the
interaction of the system with neighboring systems should be tested. System
integration testing tests the following: the proper functioning of all
interfaces, proper processing of upstream feeds, and the proper generation of
downstream feeds.
Data Conversion Testing: After data conversion is run, the results are
tested to ensure that all the necessary data was migrated, and all conversion
is correct. Data conversion may take place before systems integration
testing, so that proper data is in place for such testing; or it may be delayed
until after the system has been proven robust. If data conversion takes place
before systems integration testing, data conversion testing should also take
place before system integration testing.
Failure Recovery Testing: Failure recovery testing ensures that the area
being tested has the ability to recover from hardware, software, process,
procedure, or security failure.
Acceptance Testing: This test type confirms that the system as a whole,
meets end user business requirements. Actual end-users perform actual
functions in a testing environment using migrated data to ensure the system
meets all business requirements.
4.1.1
Testing Subtypes
Each type of testing has subtypes associated with it. Specifically, it is recommended
that thorough branch testing (that is, testing all logical data paths through the unit,
linked units, system, or systems) be employed wherever possible. As it is rarely
practical, especially when dealing with anything larger than a single unit, to perform
-9-
Underlying each step in the unit test -> link test -> functional test -> systems
integration test flow is the concept of the black box test. A black box test is a
straightforward test of function, in which the object being tested (a segment of code,
a function of the program, the entire deliverable) is treated as a function box. Based
on the functional specifications, test cases are written that stimulate the black box to
provide certain specified outputs. A list of inputs and their expected outputs is kept,
and each test is marked simply pass or fail. At each phase (unit, link, system, and
systems integration) both positive and negative black box tests should be runthat
is, both tests that expect success and tests that expect failure.
Types of black box tests include:
Stress Testing To stress test a black box is to deliberately feed it inputs that
it is not designed to take, to ensure that no unacceptably negative
consequence results. Types of stress tests include any type of negative test,
as well as volume testing, in which the tester inputs a larger volume of data
into the system.
4.1.3
Acceptance Testing
10
- 10 -
11
- 11 -
all activities related to migrating data from the legacy systems to the project
database. Data conversion testing consists of tests such as conversion unit testing,
conversion functional testing, and conversion validation testing etc. The Data
Conversion Testing team is made up of Database Administrators, Process Managers,
Testers, and Programmer/Analysts.
12
- 12 -
6 Testing Scripts
Test scripts are the building blocks of any testing process. Test scripts cover the core
functions of the software, i.e., functions that users will use most often. Unit test
scripts covering a wide range of the software's functionality should be developed
early in the development cycle. When test scripts are run frequently during the
development process, they help identify and isolate defects, at a place in time where
defects are easier to find and less costly to correct. Test scripts are written for both
positive (valid) testing and negative (invalid) testing. Positive testing proves that the
software does what it should do; negative testing proves that the software doesnt do
what it shouldnt do.
The following rules apply to test scripts:
Test script functionality should be kept in sync with the application code.
Test scripts should be version controlled, just like the application code.
The version/revision number of the test script must be the same as the
application.
Test scripts are written for each level of testing - unit testing, functional testing,
systems integration testing, and acceptance testing. Each level of testing focuses on
various areas for script writing, for example, logic, file access, program
documentation, input, and performance. The testing lead will decide the
areas/features for the test scripts written for each of the levels of testing (unit testing,
functional testing, integration testing and acceptance testing)
The code-based test script should be approached in the same way as the code that it is
testing; it should be designed, developed and commented.
13
- 13 -
7 Testing Schedule
The testing schedule serves to match resources to the job. The Testing Lead creates a
detailed project plan including all the testing tasks based on the critical path for
success. Testing resources are identified and allocated to tasks depending on the
following conditions:
Availability of Resources: In case testers are not available or dont have the
requisite skills, adequate time is provided in the testing schedule to recruit
the right resources or to train the existing testing personnel.
14
- 14 -
Demo Instance: All new application patches and updates are first applied to
the demo instance. Process Managers must test all new functionality and
verify that it does not break business requirements or conflict with any
customizations. In the AIS project the demo instance is SADMO.
Quality Assurance Instance: The quality assurance (QA) instance is the last
testing area before changes are migrated into production. Tested data
migration runs from the data conversion testing instance and tested AIS
Releases from the functional testing instance are combined together in the
QA instance. They are tested one last time for functionality and for
performance. The QA instance in the AIS Project is SAQA.
15
- 15 -
Associated Testing
SADMD
Unit Testing
SADEV
Unit Testing
SATST
SACVT
SAQA
Table 1
AIS Testing Environments
16
- 16 -
17
- 17 -
Issue
Management
Role
Issue
Management
Process
A1. Identify
Issue
Issue Originator
B1. Review
Issue
B2. Is Issue
applicable to
project?
Yes
B3. Update
Issue Tracking
System and
Assign Priority
C1. Review
Logged Issues
Yes
No
C0. Assign
Issue Actions
Issue
Change
Request
Yes
Project
Review Group
No
Raise
Risk
Project
Yes
No
D0. Implement
Issue Actions
D1. Complete
Issue Actions .
Project Team
18
- 18 -
A reporting system is required which gives a status of bugs reported and resolved.
Its output should feed into an overall project management system, which allows
schedules and plans to be reworked based on this testing status.
19
- 19 -