Professional Documents
Culture Documents
Compuware Best Practices For Testing
Compuware Best Practices For Testing
Compuware
RESTRICTED RIGHTS NOTICE SHORT FORM
(January, 2000)
Use, duplication, or disclosure by the Government is subject to the restrictions as
set forth in subparagraph (c)(1)(ii) of the rights in Technical Data and Computer Software clause
at 52.227-7013.
Copyright 2000 by Compuware Corporation.
All rights reserved. No part of this document covered by the copyright hereon may be copied or
reproduced by any meansgraphic, electronic or mechanical, including photocopying,
recording, taping or in information storage and retrieval systemswithout written permission
from the publisher.
Compuware, Abend-AID, File-AID, QACenter, QADirector, QAHiperstation, QALoad, QARun,
QualityPoint and XPEDITER are trademarks or registered trademarks of Compuware
Corporation. All other company or product names are trademarks of their respective owners.
2000 Compuware Corporation.
Chapter 1 - Overview
Chapter 1 - Overview
Purpose of this Guide
Compuware Best Practices for Testing will help an organization implement a
well-structured, repeatable, highly efficient testing process.
It contains information pertaining to the activities performed in a typical testing
process, how to establish this process and references to many Compuware
products that can help you automate a particular activity, including examples. The
guides objective is to help you put a successful testing process in place.
Audience
This guide is a working reference for quality assurance managers, application
managers, testing architects and project managers.
Scope
While there are many tasks in a typical testing project, Compuware Best Practices
for Testing focuses explicitly on the issue of building a repeatable testing process.
Other tasks, such as assessing current testing processes, building awareness and
estimating size and budget, while important, are not within the scope of this
document. Those tasks may be briefly described and referenced but are not
examined in detail.
Note that while this guide recommends a set of processes, it does not advocate
this as the only way to test. Compuware advocates a standard testing process,
centered on our QualityPoint testing methodology, which is the basis for much of
the material in this guide. You can use this guide to enhance, complete or simply
benchmark your current testing process.
1-1
Software Correctness
Business Requirements
Business requirements are the actions or results necessary for a viable product and
for implementation. Business and technical requirements are supported by the testing
effort.
Business requirements describe what an application must do and how it will perform,
but do not specify how it should be implemented. Define business requirements for
the software product or implementation during the first stage of software
development. These requirements must be testable and traceable throughout product
development stages. A testing process that does not explicitly support and link to
2-1
the business requirements can lead to results that do not meet the organization's
expectations. This means that resources were expended on testing activities that
did not support the requirements.
Technical Requirements
Technical requirements describe both the environment and computer system
architecture in which the application must perform and integrate, as well as the
performance requirements of the system itself. Defining the technical requirements
for the software product or implementation is performed during the first stage of
software development. Technical requirements, like business requirements, must also
be testable and traceable throughout product development stages, and similar
implications can result if the testing process does not explicitly support and link to
the technical requirements. Implications that could arise include:
1. Results that do not meet the organization's computer system architecture and
performance expectations.
2. Resources that are expended on testing activities that are not in support of the
requirements.
3. Testing environments that are not adequate to validate the technical
requirements.
4. Inadequate production environment and infrastructure implementation planning.
There are different types of technical requirements.
Environment Rules
Environment rules are the system infrastructure required to implement the
application. These may include server and personal computer hardware configuration
(memory, video, processor storage needs), software local and network operating
systems and drivers, database storage and disk space requirements. For example:
the application must run on both the Microsoft Windows 95 and Windows
NT 4.0 operating systems
the application must run on local workstations that have a minimum of 350
MHz processors and a minimum of 64 MB memory
the application's data repository must reside within an Oracle 8.0 database.
Performance Rules
Performance rules measure specific system characteristics such as network
utilization, processing speed, response time, resource consumption, throughput and
efficiency. The following are examples of performance rules technical
requirements:
2-2
during peak performance hours (8:00 a.m. through 5:00 p.m.), server CPU
activity must not exceed 80%
screen changes within the application must not exceed five seconds.
Test Requirements
Business and technical requirements must be broken down by application
functionality and tested to validate these requirements. The final product is a test
requirement.
For example, if a business requirement states that the system must allow for the
addition of new employees, then appropriate test requirements for this business
requirement may include:
Furthermore, since test cases are derived from the test requirements, incomplete test
requirements can also lead to the development of an incomplete list of test cases.
A test case is a test procedure combined with a single data record from the data set.
The test case is designed to fulfill the test requirements. A comprehensive testing
process ensures that both the test case types and quantity are known based upon the
links between the requirements and the understanding of the test approach.
Furthermore, these links help ensure that the tests support business and technical
requirements. Without this information and process, you may encounter such
problems as:
inability to scope and identify the resources necessary for test execution
what has to be tested and how long it will take to complete the testing
an incomplete list of test casesnot all business and technical requirements
may be fully tested.
Software Metrics
Metrics are used in almost all disciplines to determine how well a process works.
Within software correctness, metrics objectively evaluate progress toward meeting
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
2-3
the business and technical requirements and goals. Without objectivity, it is difficult
to assess how much progress has been made, how much is left to do and potential
problems or risks to address.
A metric is a number showing a relationship between two variables. A testing metric
is a number showing a relationship between two testing variables. The number must
then be compared with some standard or norm.
An example of a testing metric is the number of defects found during a specific test
phase versus total number of system defects. This metric shows the percentage of
defects identified as a result of testing. It measures test effectiveness.
Measurements are the objective data used to evaluate the process or performance.
The lack of correct measurements makes it difficult to identify areas for
improvement. If data is not, or cannot be measured, it is difficult to assess if
improvement efforts have been successful.
Measurements are a combination of metrics, and when analyzed together they
answer a specific question. For example, the percentage of defects identified, as a
result of testing, is a metric measuring test effectiveness.
How many requirements were tested? The answer does not indicate how many tests
passed or failed. This can be shown as a percentage or as a trend.
Metrics
Implementation
1. Establish a requirements matrix with links from the business and technical
requirements to the test cases.
2-4
TE S T C O V E R AG E
35
30
PERCENTAGE
25
20
15
10
0
1
T IME
Test coverage is based on the number of requirements covered during the test
process. For trends, the line should slope upward over time. This means that the test
coverage approaches 100%.
2-5
Error Discovery
Application
When are defects detected and how many defects have been detected? The defects
may be sorted by severity or represented as a total.
Metrics
number of defects
severity of defects.
Implementation
Error discovery is based on the discovery rate of errors throughout the test process.
ERROR DISCOVERY
35
NUMBER OF DEFECTS
30
25
20
15
10
0
1
TIME
The slope should decrease over time. This is especially true for defects classified
with the highest level of severity. You could decide to release the application if the
trend was toward lower priority defects. If there are many low or medium priority
defects found near the targeted release date, this may be enough to delay release of
the application.
2-6
Open Defects
Application
When are defects open and how many defects are open? The defects may be sorted
by severity or represented as a total.
Metrics
number of defects
severity of defects.
Implementation
Open defects are based on the discovery rate of errors throughout the test process.
OPEN DEFECTS
35
30
NUMBER
25
20
15
10
0
1
TIME
The slope should decrease over time. This is especially true for defects classified
with the highest level of severity. You could decide to release the application if the
trend was toward more low priority. If there are many low or medium priority
defects found near the targeted release date, this may be enough to delay release of
the application.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
2-7
Testing Activity
Application
How much testing has occurred? This does not indicate how many tests have passed
or failed and can be represented as a percentage or displayed as a trend.
Metrics
Implementation
Testing activity is based on the number of tests executed over the number of
available tests.
TEST ACTIVITY
35
30
PERCENTAGE
25
20
15
10
0
1
TIME
The trend should slope upward over time, and the percentage should approach 100.
2-8
Success Status
Application
How many tests have passed and how much of the application is working correctly?
Metrics
Implementation
Success status is based on the number of passed test cases over the number of
available tests.
SUCCESS STATUS
40
35
PERCENTAGE
30
25
20
15
10
0
1
TIME
The trend should slope upward over time, and the percentage should approach 100.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
2-9
Specific Risks
Application
This measurement tells which tests have failed and which tests have importance in
regard to release of the application.
Metrics
Implementation
1. Establish a requirement matrix that has links from the business and technical
requirements to the test cases.
2. Establish a counting scheme for business and technical requirements, test
requirements and test cases.
3. Establish a discrepancy reporting procedure.
4. Classify defects by severity.
5. Count and log defects.
6. Associate defects with the appropriate business or technical requirement.
7. Calculate a total specific risk percentage by taking the total number of open
defects and dividing it by the total number of business and technical
requirements.
8. If a trend is being developed, create a graph with an x-axis representing time and
the y-axis representing the specific risk percentage.
9. Plot the total specific risk percentage.
10. Start another graph.
11. Calculate a subtotal specific risk trend by taking the number of open defects by
severity and plotting the totals per requirement over time.
Interpretation
Total specific risks are based on the total number of open defects divided by the total
number of business and technical requirements. This total can be further broken
down into the number of open defects divided by a specific business requirement.
One more level of detail for specific risk can be obtained by dividing the number of
open defects of a specific severity by the specific business requirement. The
2-10
breakdown from the total specific risks is intended to provide trend information in
the form of gross number totals.
Total Risk by all Business Requirements
The desired result is for the trend to be sloping downward over time, and the
percentage should be approaching zero.
Severity by Business Requirement
2-11
The resulting trend of each chart should slope downward over time, and the
percentage should approach zero.
well as their relevancy to the current project, the schedule might be incomplete. The
primary purpose of having a schedule is to assist in tracking and communicating the
overall progress of the project, usually based upon milestones. The schedule also
provides other benefits by identifying needed resources and potential schedule risks.
Ensure that the amount of effort required does not exceed the amount of time
scheduled for the testing projects completion.
Therefore, to improve the schedule's accuracy, the test process must include all
activities required to complete testing. Test process includes test planning, test case
development, test environment preparation, test execution, test results analysis and
management reporting and also such factors as:
Without considering all aspects, it is highly probable that by the date the application
under test is to be implemented, not all testing will be completed since neither the
time nor the resources were appropriately allocated or the different types of testing
needed were not included. In this scenario, there is a high risk that the application
being tested will not meet requirements and will be defective at the time of its
implementation.
Resources
Resources may include specific hardware or machines, software or operating
systems, skilled testers, facilities such as a dedicated testing laboratory or network
connections and operational support.
Activities within the testing process that help identify both the resource types and
appropriateness are those that identify:
The sooner you identify these resources, the sooner you can react to any gaps
(unavailability, skills) and the sooner you can either close the gaps (as much as
possible) or develop other plans. Not understanding the resources can lead to
problems such as:
the resources cannot execute the testing needed (the hardware cannot execute
the performance test requirements)
2-13
the people are not skilled in understanding test results; therefore, the results
may not be reliable and may not accurately reflect the testing progress
resources are not available when needed; alternative plans (training, capital
procurement and the like) to close any gaps cannot be executed within the
allotted time.
Human
It is important to understand which people are needed, who is available and what
gaps need to be addressed. The types of attributes or characteristics to understand
include skills, experience, expertise, authority and responsibility.
Risk
Risk is the chance of an undesirable event or an item that compromises the project's
goals or requirements. Factors used to describe risk include the probability that the
event will occur and the impact of the event. According to the Software Engineering
Institute, risk management can be illustrated as a set of functions that are identified
throughout the life cycle of a project:
2-14
2-15
costs associated with addressing them may be much higher than if they were
identified sooner.
Similar to risk management, unidentified problems lead to unexpected results or
difficulties. This also leads to unfulfilled requirements or unmet expectations.
Communication
The primary objective of any communications material is to inform project personnel
of expected results and goals as well as progress towards those goals. Effective
communication must also be:
Goals
If both the management and the project members do not have a clear understanding
of project expectations, then the test goals and requirements may not be met. Project
personnel may not be aware of the key activities set by the management team on
which to measure progress. Attempting to align expectations late in the project's life
cycle can lead to resource waste and can put the schedule, resource effort and cost at
high risk.
Status Reporting
Understanding the test planning process, understanding progress towards goals and
interpreting results and measurements are critical in improving a manager's ability to
provide effective status reports.
Even though the goals may be understood, not providing timely, accurate and
appropriate status reporting can lead to:
2-16
Project Metrics
Metrics are as important in project management as they are in achieving correct
software. Project management measurements typically reflect progress toward
achievement of project management goals related to cost, schedule and effort.
The lack of correct measurements makes it difficult to identify areas for
improvement. If the process cannot be measured, how can improvement efforts be
considered successful and how can the magnitude of the improvements be assessed
objectively?
Trend Analysis
Trend analysis is the ability to analyze measurements over a period of time to help
assess issues, risks and progress. Data and trend analysis may only be pertinent for a
specific project, or the manager may be able to use earlier project data to assist in
trend analysis. For example, with historical rates of early defect detection, the team
may be able to forecast the defect detection rate on the current project.
Not performing any trend analysis can result in:
2-17
manages the end-users or is the end-user of the application under test (AUT)
serves as the customer for the AUT
referred to as Application Subject Matter Expert (SME) in some cases
Business Consultant
2-18
Business Expert
Development Manager
Project Manager
plans, integrates and executes activities to deliver products that meet the
acceptance criteria
manages resources within the project and ensures that team members
understand roles and the logical links among QualityPoint activities
maintains an effective flow of communications
develops, monitors and controls the QualityPoint project plan
provides organizational and logistical support while the Business Consultant
is at the client site
serves as a primary point of contact between the client's company and the
consultant's company
Project Sponsor
has the overall responsibility and accountability for the success of the
QualityPoint project
2-19
Senior Management
Technical Expert
controls the technical environment where the application under test will be
developed, tested and implemented
assists in identifying the test and production environment requirements and
processes
directs the resources required to build and maintain the test and production
environments
controls the environment backup and restoration procedures
Test Manager
Testing Personnel
Workspace Environment
This section addresses many of the objects you must have in place before testing can
begin. These objects include the following:
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
2-21
Facilities
Where the project team will be working on a daily basis, and the facilities, such as
cubicle, telephone and security access card are available to each team member. Also
consider common facilities, such as fax machine, conference room, printer and
copier, that will be available to the team. If commonly needed facilities are not
available at the normal work site, determine how and where the team will gain access
to them when needed. Note any constraint on the size of the team that can be
accommodated at the work site. If the project team will normally be working at
multiple physical locations, identify any potential logistic problems.
Hardware
Identify the hardware, both mainframe and PC, you will need to conduct the project
and who will provide it. Include information such as model and size and the hours
and days of availability. List any known minimum requirements.
Software
Identify the software, both mainframe and PC, you will need to conduct the project
and who will provide it. Include information such as version, release and the number
of licenses and simultaneous users. This section may also include assumptions about
any known minimum requirements.
Communication
Identify the communication links you will need to conduct the project and who will
provide them. List any known requirements.
Facilities and Fixed Assets Plan
A schedule of events and list of items that the Facilities and Information Technology
departments require to prepare for the project.
The plan for facilities should include:
2-22
project timing
software and hardware, including the configuration to support the workload
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
Develop your facilities plan at the same time as your staffing and project plans.
Make special note of machine capacity. Your overall planning effort must ensure
enough capacity is available for planned work.
Defining Training Requirements
Your primary training objective is to effectively transfer skills and knowledge about
testing methods, concepts, procedures and tools to the people involved in testing.
You should design training so that the people using the tools daily can be productive
immediately. Tool training should occur prior to using the tool. If training occurs all
at once, students are overwhelmed and the information is lost.
Identify the Skill Sets of Testing Personnel
Why Is This Important?
Documenting the skill sets of the test personnel:
indicates whether the people have the skills, knowledge and capabilities
required for the activities assigned to them
indicates whether the people have remained current on software testing and
software quality assurance processes as they relate to current technologies,
platforms, information technology solutions and applications
indicates a company's commitment to a quality program and the continuous
.improvement of quality programs and initiatives.
Do those responsible for testing attend software testing and quality assurance
seminars/training? Are they members of a professional organization? Understanding
the types of software quality assurance and software testing training the project
personnel have attended, as well as relevant QA professional organizations that they
are involved in, indicates whether they are current on software quality assurance
processes.
A training budget indicates the company's commitment to quality and identifies
whether funds may be available for training if skill gaps exist.
2-23
Potential Recommendations
Establish a training program for test team members that includes training on the
application(s) under test, as well as the QualityPoint software testing process.
External Support Staff
A test team needs to rely on experts in the organization to assist with building the
testing process and with running and verifying test results.
2-24
Following is a partial list of key personnel you will need to assist your test team.
The Project Manager and his or her staff can provide assistance with the
sequencing of applications to be tested. The Project Manager can help with the
procurement of the necessary testing equipment, office space, work facilities,
computer resources, financing, human resources, outside services, tool acquisition
and other high level management tasks.
A Database Administrator (DBA) may be needed to assist with the generation and
population of test databases to assess each application. Your reliance on the DBA
will depend on the current availability of test databases. If new test databases are
required, the time, resources and effort to build them must be planned and scheduled.
The process of creating a subset of database data may also require the expertise of
the DBA to make the test team aware of application relationships between different
tables, databases and flat files.
Another important function of the DBA is to ensure that test databases are backed up
and refreshable. If there are database errors encountered during testing, the expertise
of the DBA can save a lot of time. A DBA will be able to quickly analyze, recognize
and resolve problems.
You may need the assistance of OLTP Technical Support (CICS and other). For
systems with on-line transaction processing (OLTP) components, the need for one or
more test versions of the on-line system is common. The effort to build a test on-line
system is often difficult and requires coordination between DBAs and the test team
to ensure that the correct data and program set are referenced during testing. Plan
and schedule sufficient time to build any new on-line test systems that are needed.
The DASD Administrator needs to be aware of your disk space requirements so
that sufficient space can be provided. For most mainframe shops, disk space is at a
premium. The space required for each application must be calculated. Due to the
large volume of DASD required for testing, someone needs to oversee or manage it.
Identify and plan interactions with your Security Administrator to expedite access
to needed data and resources. Include obtaining access to other platforms such as
midrange, intermediate systems and other servers. Delays in accessing needed
resources and files during the testing process should be eliminated.
The Technical Support person is responsible for installing and maintaining the
testing tools needed for your testing organization.
In a mainframe environment, the Technical Support department usually has systems
programmers who are responsible for all software installation. It is important to
notify Technical Support of any new tools or new releases of products you need for
your testing organization. Scheduling of technical support resources and special
installation requirements, like initial program loads (IPLs), may be difficult. Get
started early.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
2-25
2-26
3-1
Identifier
Objective
The identifier section allows an identification number to be assigned to the test
strategy document that supports your document naming conventions.
Why Is This Important?
The identification number is used to cross-reference the test strategy document
with other documents in the project. A unique identifier makes the document
easier to recognize in a listing of documents.
Purpose
Objective
To identify the appropriate readership, communicate what the reader(s) should
expect to understand after reading the test strategy and provide a brief description
of the overall testing strategy. This is achieved by providing a brief description of
the document's content, the level of detail contained within and the application
that will be tested during the project's test effort.
Why Is This Important?
This section provides an introduction for the test strategy and a background of the
project and the AUT. It provides an overview of the test strategy and helps set the
expectation for the amount of effort required for the project.
3-2
Test Environment
Objective
The purpose of the test environment section is to document the environment in
which the tests are to be executed.
Why Is This Important?
Documenting the physical components required for test execution helps identify
potential gaps in what is required and what actually exists; appropriate action
plans to obtain closure can then be developed. Consider such things as:
operating system version (remember to identify service packs, fix packs and
patches)
communications protocols
References
Objective
The purpose of the reference section is to identify supplemental information that
might be helpful to the reader as well as a list of terminology that may be used
throughout the document and the test effort.
3-3
Test Types
Objective
To document the testing to be completed during this test effort.
Why Is This Important?
Documenting the test types needed for this effort helps define the testing activity
that will be undertaken. It also provides you with some indication of the resources
and test environments required for the testing activity. Each of the test types
should be considered; however, not every type of test is typically employed. For
example, it is not necessary to do unit testing if the software is vendor-supplied.
Mapping the test types to the test goals assists in directing test activity and
validates that the testing is actually needed.
Test Methods
Objective
To document the methods of testing to be utilized during test execution.
Why Is This Important?
3-4
Documenting the test methods to be used in the test executions helps define the
way testing activity will be performed. It also provides you with some indication
of whether testing tools will be required for the testing activity. Also, project
management tools can be identified while completing this section.
Acceptance Criteria
Objective
The purpose of the acceptance criteria section is to document what constitutes
acceptance of the application based on quantifiable measures.
Why Is This Important?
The process helps identify criteria required to help ensure that both applications
meet any applicable contractual or regulatory requirements or both; for example,
food, pharmaceuticals and nuclear energy industries must meet Food and Drug
Administration regulations.
The criteria can be used to identify appropriate quality control activities and
measurements that should be included in the testing process.
Quality levels used to accept the software based on the test goals and test scope
allow the test team to determine and communicate a quantifiable state of the
AUT. These states may include coverage statistics and pass/fail statistics, among
others.
3-5
Associated Processes
Objective
To document the applicable processes and procedures that must be in place to
support a successful testing effort. It is acceptable to either reference process
documentation or document the process.
Why Is This Important?
By outlining each of the associated processes, you can determine procedures that
are crucial to ensure a successful testing effort. Examples of associated processes
may include:
3-7
Test Schedule
Objective
To identify the testing planning details within the project planning schedule. This
requires the preliminary schedule of the test effort and needs to be updated from
information gathered during test case development.
Why Is This Important?
The test schedule controls all activities during the test effort. It also provides
management with an explicit representation of all test activities.
Determining if the test effort can be executed in the time allotted tells you the
likelihood of truly meeting the expected schedule based upon the level of effort
that is required.
If the current plan does not allow all testing efforts to be completed within the
allotted time, you may still have time to identify alternative approaches to reduce
the schedule or to request additional time. Having to identify alternatives to
reduce the schedule late in the test effort could result in a solution that is not
optimal or does not meet the test goals.
Deadlines and fixed release dates will be a major factor in determining potential
test schedule risks.
3-8
people spending time addressing problems that could have been avoided
3-9
Full Production
With this approach, production files and data are used during testing. Complete
and total files are taken/copied from production and used for testing. You must
perform the following steps:
capture and save needed data and copy needed files to the test environment
modify JCL and run production to save files for later comparison
Advantages
Disadvantages
3-10
still have to rerun production in the test environment to save needed files.
Full Regression
With this approach, production data is augmented to test all, or at least a high
percentage, of the applications functionality. The steps usually follow those in
full production, but you must also do the following:
Advantages
Disadvantages
Concentrated Regression
This approach builds a test bed of files and data for performing all tests.
Production data is not used, except as an initial source from which to build or
extract data. You must perform the following steps:
determine what is required and analyze the best method for obtaining it
3-11
Advantages
the more testing that is required, the greater the return on the effort to set up
Disadvantages
Compliance Assurance
This approach is used for testing applications that you feel are compliant. Since
the code is not being renovated, you do not need to regression test to check for
impact to the functionality. The steps are similar to full production but you must
also do the following:
Advantages
Disadvantages
3-12
Test Types
In addition to determining the testing approach, your test strategy must identify
the types of tests that are required. These types, or phases as they are sometimes
called, are defined below.
Not all of the tests types are required for a given application
nor for all programs within an application.
A test strategys intent is to indicate where and on what portions of the application
the tests will be performed. The test types are described below.
Unit Testing
This test type is the testing of a single screen, unit or program to verify that it
operates correctly. Unit testing can be carried out by testing all of the logic paths
or by concentrating on the code that has been changed. Test all of the logic paths
for new development. You only need to concentrate on the changed code when
you are testing maintenance changes. You can implement unit testing in one of
several ways:
String Testing
This test type is the testing of a small or logical grouping of programs that are
tightly interrelated. Their relationship makes it difficult to individually test the
programs. Usually, the test consists of executing an on-line transaction or batch
job to verify that it functions correctly. Much compliance testing is performed in
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
3-13
this phase, particularly when the reverse transaction method is used to reset
files. String testing is often combined with unit testing and sometimes with
system testing.
Again, you can use the full logic or change concentration approach as in unit
testing.
System Testing
This test type is the testing of an application to validate that its functionality
performs as specified. Its objective is to prove that the whole system performs
correctly. You may perform system testing for the entire application or for logical
modules or subsystems such as daily, weekly and monthly. System testing is
often combined with acceptance testing and/or integration testing.
A part of system testing is to process the baseline that was created against the
renovated code to make sure that no problems were introduced during renovation.
Depending upon the size and complexity of the application, these baseline tests
can be performed in small groupings or for an entire application.
Integration Testing
This test type involves testing an applications external interfaces. The objective
is to make sure that data is correctly passed between applications and that any file
structure changes are accommodated. Integration testing is almost certain to be
required due to date and file format changes. In addition, bridges or other
temporary measures are more likely to be used and require testing. The inclusion
of these bridges adds processing and therefore, the potential for performance
testing. For this reason, integration and performance testing are often combined.
Acceptance Testing
This type of testing is used to ascertain whether an application completes those
functions required from a business perspective. Acceptance testing includes
ensuring that performance is at acceptable levels, and if functional deviations
occur, suitable alternatives are substantiated. It is often combined with system
and integration testing. Acceptance testing sometimes includes the generation of
special or unique outputs or interfaces.
Performance Testing
This test type is performed to determine if an application can operate as needed
when transactions, concurrent users or file sizes are larger than normally
expected. Transaction and response speeds, throughput and computer capacity are
measured to determine if they are within tolerance. Performance testing is done to
3-14
ensure that processing has not been significantly degraded. It is not intended to
test for optimizing the application.
Interoperability Testing
This test type is used to determine if the renovated application can operate in its
intended environment. Things like the new operating system, middleware (such
as DBMS) and other renovated applications must be installed and operational for
interoperability testing to take place. Unlike the other tests, interoperability
testing requires a separate region or logical partition (LPAR). Performing this
type of test is difficult and requires a lot of work. Consequently, interoperability
testing is only performed for critical applications. It is most often combined with
performance and implementation tests.
Retrofit Testing
This test type identifies any changes that may have occurred while an application
was being renovated and tested. As mentioned throughout this document,
changes should not be permitted or at very least, should be minimal during this
time. This is not always possible, however. Necessary changes must be made to
the renovated code and tested as they were for production. This test type includes
those tests. A retrofit test is usually run immediately before an application is
placed into production.
Implementation Testing
This test type tests the ancillary components of an application more than the code
itself. It ensures that there is sufficient time to implement the changes, that is,
time to convert files, execute utilities and move in the application changes.
Implementation testing includes such things as operating or production
procedures, production scheduling software (such as CA7) and file conversion
programs. Typically the test team is not directly involved with the test execution.
Test execution is performed by the group that normally places new or revised
applications into production. This testing is usually combined with
interoperability tests because it attempts to mimic the operating environment as
much as possible.
Back-Out Testing
This testing type is used to verify that a revised application can be taken out of
production and the previous version can be reinstalled. Its objective is to prove
that a fail-safe mechanism exists and can be invoked if necessary. This test is
typically run back-to-back with an implementation test. Back-out testing is not
usually combined with any other test type.
3-15
Note that in some instances, an applications implementation test is the real thing.
An application may be placed into production and remain there if certain results
are verified. When this occurs, the back-out test may be planned but never
executed. It would only be run if there were problems with the implementation
test.
company), the testing phase will take considerably longer, and the schedule will
need to be adjusted accordingly.
Open Items
The test strategy should identify any open items or issues. Since it is a
management document, include items that need to be addressed and to whose
responsibility the items need to be assigned. Avoid including detailed technical
issues. Typical items might include who will approve test plans, how the costs for
the test environment will be covered and how access to sensitive data will be
obtained.
3-17
Typically, you create a test plan for each test type you plan to perform.
Application Description
Objective
Document the key information regarding the application to test. A thorough
understanding of the application, including its purpose, function, environment and
operational characteristics, is critical.
4-1
4-2
software upgrades
new site implementations/deployment of the software to multiple sites
new releases of software
minor releases of the software
high priority application fixes.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
Documenting the changes made to the software for this release provides insight
into the change control process: reality versus the documented process. You need
to manage expectations at all levels:
4-3
Connecting test types to test goals assists in directing test activity and validates
that the testing is actually needed.
Test Schedule
Objective
To identify test plan details within the project planning schedule. This requires
you to update the preliminary test effort schedule from information gathered
during test case development.
Why Is This Important?
The test schedule controls all activities during the test effort. It also provides
management with an explicit representation of all test activities.
Determining if the test effort can be done in the time allotted identifies potential
risk in actually meeting the expected schedule with the current level of effort.
If the current plan does allow all testing efforts to be completed within the allotted
time, time may still be available to identify alternative approaches to reduce the
schedule or to request additional time. Having to identify alternatives to reduce
the schedule late in the test effort could result in a solution that is not optimal or
does not meet the test goals.
Deadlines and fixed release dates are a major factor in determining potential test
schedule risks.
test planning
planning and scheduling tools
test case development
test script development
test tool support
4-5
Knowing the resources you need allows you to specify individual training needs
and create or buy training programs if available people do not meet required skill
and knowledge levels.
A schedule that includes resource assignments identifies when and how long
resources are needed. It also provides those who control the resources an
opportunity to plan appropriately, and can also identify areas where "creative"
staffing plans may need to be considered (contractors, co-ops).
Identifying resources early in the planning process improves the likelihood that
they will be available when needed. It also provides the opportunity to identify
alternatives if difficulties are encountered meeting the requirements.
Knowing resource requirements assists in forecasting testing effort costs such as
labor, materials and capital expenditure. It also identifies required test tools, test
environments and technical configurations.
Test Environment
Objective
To document the environment in which the tests are to be executed, procedures
for restoring the test environment, and environment procedures and processes that
could be automated based upon their repetition or lack of manual intervention.
Why Is This Important?
Documenting the technical environment for test execution helps you identify
resource dependencies outside the control of the software testing organization; for
example, operations, help desk and facilities. Attachment C shows an example of
a test environment plan.
It provides an indication of the complexity of the environment, which in turn may
provide early warning signs of potential operational issues.
Identifying differences between the production environment and the testing
environment allows you to assess potential risks associated with the differences in
the environments.
4-6
Defining the suspension and resumption criteria also improves resource utilization
by providing focus on value-added testing activities.
4-7
4-8
people spending time addressing problems that could have been avoided
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
Change Management
There are two aspects of change management you must contend with. One is the
inclusion of any other production changes that may have taken place while the
application was being renovated and tested. This is necessary because testing is
often a distinct and separate activity from other maintenance on the production
software. Therefore, you must identify any changes taking place and consider
them when placing the renovated application or new application into production.
A library control system (LCS) normally is used to perform this function and
should be used here as well. You may need to alter the process slightly to allow
for center renovation external to the LCS process.
Notify the test team of all production changes. Any test
cases and data used for the change should be provided to
them for use during any retrofit test.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
4-9
Begin with ProductionBegin with production, reduce its volume and extract
needed data. Compuwares File and Data Management tools can be used to
extract data from existing files. Production transaction files can usually be edited
to include needed transactions and data fields, or edited to have redundant or
similar transactions deleted. If scripts of online activity were captured using
QAHiperstation, they can be trimmed down to have manageable yet complete
tests.
Use full files when it does not impact testingNumerous files are used by an
application for verification and are not processed. Therefore, they do not need to
be compared. Sometimes the files are small tables. Other times they are large,
such as vendor or part files, but are only used for verification. If they are not read
sequentially, using them in their entirety has little or no impact.
Use online scripts to drive testingThe processing of many applications is
driven by data that is entered via online modules. These modules need to be
scripted to have the test cases necessary to perform the required tests. By adding
some additional cases and processing the data through the remainder of the
application, you can populate databases with sufficient data for testing the
remaining programs.
Comparing Files
During testing, files often need to be compared to validate the results of a test.
You can perform comparisons either by manually viewing the outputs or by using
some utility or tool to automatically perform a comparison. Using a utility
requires that you save the file for later comparisons. Typically, all key outputs are
saved to form a part of a baseline that you can use to compare outputs after a
subsequent test has been performed. Many organizations manually view the
outputs because they think it is faster and less trouble than changing production to
save the desired files and reports. Production most likely has to be changed
anyway, so you can incorporate saving reports and temporary files to permanent
files into this effort.
Performing a manual compare is rarely faster and certainly never better than
performing comparisons with some type of automation. The major flaw with
manually comparing the output is that it is tedious and can produce errors in
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
4-11
4-12
5-1
5-2
5-3
understanding the types of testing that are being planned and their
associated test environment requirements
refining the test schedule to include environment preparation activities
arranging for operational and infrastructure support
developing the installation, backup and restoration procedures.
Only after these items are prepared can the test environment be considered ready
to accept input of test data, application installation and the initiation of the actual
test procedure.
Test environment preparation focuses on documenting the information necessary
to develop test environment preparation procedures.
The key benefits of developing test environment preparation procedures:
the following areas will assist you in developing your test environment
preparation process.
6-1
6-2
6-3
7-1
7-2
valid results - Actual test results matched the value you expected.
test case defect - Actual test results do not match the value you expected
and the error was caused by a defect in the test case itself. The following
items list examples of test case defects:
test submitted an invalid value
test submitted an invalid command
8-1
test was performed out of context in regard to the system being tested.
application context - Actual test results do not match the value you
expected, and the error was caused by an invalid value or operation that
was submitted to the system being tested. The following items are
examples of application context errors:
user error
errors caused by other software
unsupported use of the system.
application defect - Actual test results do not match the value you
expected, and the error was caused by the software itself or an associated
component. The following items are examples of application defects:
documentation error
software defect
installation error
hardware error.
More mature organizations can include further breakdowns for recording test
failures. These can include design errors and requirement errors.
Failure Discovery
Objective
To document how the application performed in regard to failures.
Why Is This Important?
By documenting the application's performance in regard to failures, you identify
and collect measurements. Resources focus on issues that they can resolve; for
example, business analysts address business process defects, and programmers
address application code defects.
Success Discovery
Objective
To identify which test cases show that the requirements are fulfilled.
Why Is This Important?
By documenting the application's performance in regard to successes, you identify
and collect measurements. It also helps validate that any additional resources you
had available for further investigation or re-execution are not required.
8-2
Measurement Analysis
Objective
To review and analyze the test result measurements contained in the application
readiness report.
Why Is This Important?
By reviewing and analyzing all of the test measurements and trends that you have
collected, you are better able to determine the application readiness status as well
as identify risks.
8-3
Executive Summary
Objective
To document in narrative form the release risk statement based on the testing
effort.
Management reports assist a decision-maker in determining if a software
application should be released based on how the tests went. The reports do not
cover other release criteria such as availability of customer support personnel and
policy, readiness of user documentation or distribution and shipping capabilities.
Compuwares QualityPoint process uses a suite of reports to provide information
in regard to releasing software for distribution. The reports include:
9-1
9-2
10-1
Featuring the XPEDITER family, these tools help debug program logic and
ensure test coverage. XPEDITER may also be used to change the instructions
in your program and see the results immediately without recompiling.
10-2
DevPartner Studio
DevPartner Studio Enterprise Edition
Individual Applications:
DevPartner Studio
DevPartner Studio is a comprehensive suite of Windows-based, multi-language
software developer productivity tools. Easily integrated into the development
process and used in building the most challenging applications, including webenabled, e-commerce and distributed applications, these tools help developers
automatically detect, diagnose and facilitate resolution of software errors; take
full advantage of code performance; and optimize code coverage and testing.
DevPartner Studio Enterprise Edition
DevPartner Studio Enterprise Edition is a comprehensive suite of Windowsbased, multi-language software productivity tools, which coordinates and
accelerates the development of Windows, Web and other distributed applications
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
10-3
Figure 10-1: QACenter products simplify the challenges of testing across a variety of complex environments.
10-5
QADirector
Testing is a major undertaking that requires the coordination of many steps, many
testers, large suites of test scripts and multiple versions and releases of different
applications. QADirector gives you a framework for managing the entire testing
processfrom design to execution to analysis. Its distributed testing capabilities
and open architecture enable development and testing teams to control testing
activities across heterogeneous environments from a single point. QADirector
promotes thorough, consistent testing by allowing developers, testers and QA
managers to share test assets, current and historical information about tests and
test results.
Design
QADirector allows you to easily create test suites that cover an entire application
by logically grouping testing scripts in a visual tree structure. These test suites can
include automated and manual tests.
Execution
By automating test execution, QADirector overcomes the time restrictions that
often make thorough testing impossible. QADirector quickly and easily runs the
testing scripts and returns and stores status information when testing is complete.
Analysis
QADirector logs the results of each test run. From this summary, testers can easily
identify a failure, zero in on the problem and access application quality.
QADirector provides pre-defined reporting as well as the ability to export data to
many popular reporting tools. Results from failed tests are easily loaded into the
defect reports of TrackRecord.
Defect Tracking
Integration between QADirector and Compuwares TrackRecord enables defects
identified during the testing process to be easily loaded into TrackRecord. With
the press of a button, test results can be loaded from other sources, including
QARun, QAHiperstation, WebCheck and File-AID/CS. QADirector stores the
defect ID with the testing suite for easy follow-up.
ActiveAnalysis
With QADirectors new ActiveAnalysis feature, it is easier than ever to detect and
troubleshoot errors during the testing process, long before the application enters
production. ActiveAnalyis combines the key features of Compuwares QACenter,
NuMega, and EcoSYSTEMS tools to merge the testing process with error
detection, debugging and coverage analysis.
10-6
10-7
10-8
Testing Flexibility
QAHiperstation uses IBMs REXX as a script language to significantly expand its
playback facility in both the online and batch environments, allowing users to
customize scripts to meet their needs.
Superior Performance Testing
QAHiperstations Global Record and Unattended Playback provide unparalleled
capabilities for controlling and executing realistic stress or volume tests.
In environments where the S/390 functions as an enterprise server, the
QAHiperstation APPC (Advanced Program-to-Program Communications) option
helps determine how APPC applications will handle high volume traffic. From its
location on the S/390, the APPC option easily captures LU6.2 traffic, replicates it
to produce the desired volume and replays the traffic to the application.
Figure 10-3: Global Record and unattended playback enable successful deployment of critical applications through
superior performance testing capabilities.
Data Management
File Manager integrates the data management and automated testing processes
and performs complete and thorough testing without requiring assistance from
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
10-9
technical staff. Data Management provides the ability to record, play back and
compare VSAM and DB2 data from a CICS application.
Internet Reliability
QAHiperstations unique functionality helps ensure that data exchanges between
platforms properly. Because these data streams are invisible to the user interface,
they are rarely tested thoroughly. If data traffic or the S/390 business applications
are not operating as expected then serious, hard-to-find errors and malfunctions
can occur.
QAHiperstation is the only product that will record these data streams into scripts,
which can then be replayed, compared and used to complete a thorough and
focused test of your e-commerce business applications. By allowing you to test
the viability of the data as it flows across communications links, QAHiperstation
helps your business deploy e-commerce applications with confidence.
Script Processors
QAHiperstations script processors are a set of online facilities that automate the
process of making changes to recorded test scripts. Script processors enable you
to:
improve overall testing productivity because you can execute tests without
having to edit them for changes
add value and long-term re-usability to test assets by making it easy to
modify scripts in response to changes.
10-10
QABatch
QABatch is an S/390 automated testing solution that makes it feasible to easily
and quickly perform unit, integration, system and regression testing of large MVS
batch applications throughout the lifecycle. It automates the process of creating
new test environments for any number of modified applications, comparing them
with the baseline and documenting the results.
Structured Testing Methodology
Batch testing requires that testing steps be executed in a specific sequence.
QABatch incorporates a standard process commonly used in the industry for
manual batch testing. Its automatic, consistent approach can be used repeatedly
by technical and non-technical testers.
Create and Execute a Baseline Environment
QABatch creates the baseline environment by copying the production
environment to a new test (baseline) environment.
Create and Execute the Test Environment
QABatch copies and modifies the baseline environment to reflect test job names
and file names allowing tests to be re-executed multiple times to see how each
change of a multi-change project affects a single program or the entire system.
Compare Baseline and Test Results
QABatch creates JCL to compare output files and printed output, creates JCL to
unload and compare the DB2 data and executes the comparison.
Unique Documentation Capabilities
Thorough documentation of all baseline and test execution information can be
used for audit purposes and test validation. QABatch:
10-11
portions of the testing environments reducing the potential for false mismatches
due to old test data.
QARun
QARun is a functional test automation tool that allows organizations to validate
business critical applications whether client/server, e-commerce or ERP. QARuns
automated capabilities help QA and application managers, technical directors and
webmasters verify that their applications will function as expected.
It includes support for
their Web sites for more than 50 potential types of problems such as broken links,
pages with stale content, orphaned (unused) files, pages with slow download
times and much more. Comprehensive graphical reports are generated that detail
errors to be fixed and performance information, including trends on your site over
time. WebCheck allows project teams to test the quality, usability and
accessibility of even the largest web sites.
WebCheck is integrated with QADirector, Compuware's test management solution
for full lifecycle testing of distributed large-scale applications. From a single point
of control, you can easily plan your tests, execute your tests, vary the test
environment, dynamically analyze the application under test, analyze the test
results and submit defects. QADirector and WebCheck allow testers, developers
and managers to thoroughly test an application with improved test repeatability,
sharing and ease of use.
WebCheck functionality is incorporated into QACenter's QARun automated
testing tool. QARun users can include site checks within QARun scripts,
providing site analysis and reporting. The advanced features available through the
WebCheck option include:
Test FORMS tags. Some of the most sophisticated web sites utilize
FORM tags as a method to secure access to entire sections of their site and
to prompt for user input (such as order forms). WebCheck can tell you if
these FORM tags work and if their links work.
10-13
QALoad can support load and performance testing of applications that use the
following middleware or protocol:
2-tier:
n-tier:
ERP:
e-commerce:
legacy:
10-14
XPEDITER/CICS
XPEDITER/TSO
XPEDITER/IMS
XPEDITER/Code Coverage
XPEDITER/DevEnterprise
XPEDITER for DB2
XPEDITER/Xchange
XPEDITER/SQL
DBPartner.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
interactive
batch connect
unattended batch.
You can test multiple steps within batch jobs in either attended or unattended
mode. Since time is often a critical factor in testing of projects large and small,
unattended mode allows you to use a predefined list of commands to test after
hours and on weekends.
10-15
XPEDITER/IMS
XPEDITER/IMS gives you a safe, easy method for testing IMS/DC programs.
XPEDITER can run tests in a live IMS/DC region, instead of simulating a
region through BTS providing a seamless testing environment.
XPEDITER/Code Coverage
XPEDITER/Code Coverage helps determine what percentage of a mainframe
application has been executed, allowing IT groups to intensify testing efforts
where needed. Code Coverage performs critical business function analysis in the
initial phases of application modification projects, such as web-enabling an
existing legacy application. As quality applications are becoming more important,
this advanced analysis and testing tool improves and documents the quality of
testing. Code Coverage enables programmers to:
10-16
Figure 10-5: The XPEDITER/DevEnterprise Program Analyzer allows programmers to view program source,
program structure charts and code coverage statistics easily.
XPEDITER/DevEnterprise
Offering an easy-to-use graphical interface, XPEDITER/DevEnterprise provides
programmers with a view of their application. The view works with other
DevEnterprise capabilities to enhance analysis and system testing. Although a
10-17
an application analyzer
a data analyzer
a program analyzer
code segment creator
a sophisticated editor
code coverage documentation
batch and CICS debuggers
high-speed file transfer
easy-to-use compile and job manager.
10-18
Figure 10-6: The XPEDITER/DevEnterprise Application Analyzer allows programmers to quickly view
system connections and ascertain which programs are called when the data is used.
Language Environment/370
DB2
IMS/DC
CICS
COBOL, Assembler and PL/I.
10-19
10-20
and developers can navigate through object lists, letting users analyze
relationships among objects, group object shortcuts and check out objects.
XPEDITER/SQLs Team Management approach can be easily configured to
facilitate team development. Project folders can be created for individual use or
shared by team members. Sharing project folders gives project members the
ability to work together with a common view of the development environment.
The Template Editor function provides a graphical user interface that allows
teams to create custom templates according to specific project requirements. They
also have the option to revise existing, built-in templates based on their needs.
XPEDITER/SQLs debugging capabilities provide developers the ability to
interactively debug procedures executed within the product. The debugger
provides comprehensive support of all variable types and contains many
convenient extras, such as conditional breakpoints and lock monitoring.
The XPEDITER/SQL Hook Up facility allows developers to debug stored
procedures in context to the actual data parameters of the calling application and
to see how the stored procedure processes those variables.
With the Hook Up facility, developers can observe and change input or output
parameters being returned to the calling application. With the ability to perform
testing of both the procedure and calling application, XPEDITER/SQL provides
the most comprehensive distributed application testing available.
DBPartner for Oracle
DBPartner is an SQL analysis, tuning and debugging solution for Oracle
applications. Unlike any other product, DBPartner enables application developers
to tune and debug SQL and PL/SQL in context to an application. Developers can
use DBPartner throughout the application life cycle to gain a quick understanding
of the underlying processes taking place in their Windows applications. By giving
developers the ability to tune, DBPartner saves companies time and money by
addressing potential problems before production.
DBPartners unique capturing ability enables users to capture SQL statements
from multiple sources, including running programs, program source and the
database. Developers can understand exactly what is happening within their
application and identify what is causing performance bottlenecks.
The Tuning Wizard allows developers to isolate and then display the most
offensive SQL in graphical form, easily identifying problem areas. Its four-step
tuning process quickly finds and qualifies the worst performing SQL, creates
alternative versions that may perform more efficiently and compares each version
to determine the best solution. DBPartners Auto Tune feature makes it easy for
both experienced and novice developers to perform tuning.
DBAs can also use DBPartner to tune a production database.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
10-21
QSAM
ISAM
PDS
IMS
BDAM
CICS/OS2
DB2
Oracle
Sybase
DB2 UDB
Informix
VSAM
XDB
Btrieve
Sequential
MS SQL Server
COBOL and PL/I record layouts and database structures are used to format the
data, allowing you to view, select and work with the data in the most intuitive
way possible. The File-AID products adhere to the rules defined by logical and
application relationships to allow safe editing and provide relationally intact
subsets.
File-AID/MVS
File-AID/MVS provides a wide range of file and data management capabilities
required to perform everyday data related tasks in a batch or interactive
environment. These capabilities include browse, edit, copy, reformat, compare
and print data from any standard MVS file type (VSAM, ISAM, sequential,
BDAM, PDS and IAM). File-AID/MVS also eliminates record length and file
size restrictions and provides an audit trail of all changes made during an edit
session. Existing COBOL and PL/I record layouts can be used as templates to
display data with the actual field names and formats.
10-22
File-AID/Data Solutions
File-AID/Data Solutions provides consistent, efficient methods to create accurate
test data and perform data conversion and analysis without having to write onetime programs or endure tedious manual efforts. With File-AID/Data Solutions,
developers can automatically generate test data, encrypt sensitive data, perform
results analysis, execute mass data changes, convert euro values and validate EDI
data values.
File-AID for DB2
File-AID for DB2 enables you to create, populate, browse, edit, refresh and where
appropriate, authorize DB2 objects. File-AID for DB2 enables you to work with
single or multiple tables, whether related or unrelated. File-AID for DB2 also
helps move applications into the test cycle faster by validating and EXPLAINing
program SQL prior to the compile and bind process.
File-AID for IMS
File-AID for IMS enables you to edit, browse, extract and load IMS databases
under TSO, IMS/DC or CICS. It provides you with the ability to copy data
between databases selectively and to customize the data to create efficient test
databases. The File-AID for IMS/FLEX option enables you to work with large
databases and schedule jobs for off-peak hours.
File-AID/Related Data XPERT (RDX)
File-AID/RDX easily extracts and loads complete subsets of related VSAM or
sequential files, IMS and DB2 data without coding SQL or writing programs.
With File-AID/RDX, you can create a small test environment that contains
exactly what you need to test an application thoroughly and effectively. Because
you are not testing with full-production copies, you can complete more test cycles
in less time.
DBA-XPERT for DB2
Designed as a complete solution for managing DB2 subsystems, DBA-XPERT
for DB2 automates and integrates all of the capabilities needed to analyze and
maintain the DB2 environment. For testing, DBA-XPERT for DB2 can clone, or
duplicate, a test database structure and its contents to create multiple test
environments for individual or groups of programmers as needed.
File-AID/CS
File-AID/CS is a test data management tool designed to help developers become
more efficient when working with data as they develop, test and support any
client/server applications. It allows developers to perform all data-related tasks
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
10-23
through a common, graphical interface. Like mainframe File-AID products, FileAID/CS eliminates the need to write programs or scripts, code SQL or use
multiple utilities.
File-AID/CS provides capabilities for copying, subsetting, converting, editing,
browsing, generating, comparing, reformatting, transferring and aging data. All
these capabilities save developers time when they have to create their baseline test
data, validate test data results, restore their baseline data and deal with any
changes to their test data environment.
File-AID/Express and File-AID/Express for MVS
File-AID/Express and File-AID/Express for MVS let developers quickly and
easily design and execute large-scale production data conversions and Enterprise
Application Integration (EAI) projects without writing programs. They have the
power and scalability to perform complex conversions between legacy and
relational data.
With their high performance, high capacity design, File-AID/Express and FileAID/Express for MVS can convert data for one-time migrations and for both
temporary and permanent data interfaces between applications in production.
Developers can also convert subsets of data required for testing the application or
the interface. By controlling the risks associated with data conversion and EAI,
File-AID/Express and File-AID/Express for MVS help projects stay on time and
within budget.
File-AID/Express for PeopleSoft
File-AID/Express for PeopleSoft simplifies large-scale conversions of data to a
PeopleSoft application or from it. It allows developers to work logically with
their PeopleSoft data, without any knowledge of the underlying physical database.
It helps ensure that any data loaded into the PeopleSoft application conforms to
all business rules and constraints imposed by the PeopleSoft application or the
clients business processes.
10-24
10-25
10-26
10-27
10-28
Testing and the ensuing problem solving are critical to prevent problems from
entering into production. But limited test time needs to be spent on testingnot
problem solvingto help ensure a quality application for production.
By automating the fault resolution process with Abend-AID products, you can
limit your testing time to evaluating an application thoroughly and you will spend
much less time on tedious problem-solving.
Abend-AID products help you proactively manage the problem solving process.
When an application fails, Abend-AID products automatically:
These capabilities mean that all problems are reported and are efficiently resolved
in the shortest possible timeleaving more time for testing.
10-29
Mainframe Products
Abend-AID Fault Manager
Abend-AID Fault Manager helps managers monitor, measure, control and
improve the fault resolution process for OS/390 environments. Fault Manager
also helps the problem-solving team members work more efficiently. These
capabilities significantly help to reduce costly downtime and provide a higher
level of service for an enterprise and its customers. The product is ideally suited
for projects such as e-commerce, enterprise application integration as well
meeting service level agreements. Fault Manager displays a real-time Graphical
User Interface (GUI) view of the fault resolution activity in an enterprise that
provides managers with the information they need to manage the problem
resolution process with confidence. In addition to real-time information, Fault
Manager also presents historical information for benchmark comparisons and
trend analysis to help improve the fault resolution process. For convenient access,
Fault Manager displays information either online or over the Internet. Fault
Manager readily shares data with help desk applications, word processors and
spreadsheets. The following sections are just a sample of Fault Managers
powerful capabilities.
Real-Time and Historical Graphical Analysis
Abend-AID Fault Manager automatically supplies the information required to
manage fault resolution problems, projects and resources. Fault Manager includes
pre-defined graphs and reports that can be customized to meet specific
requirements and saved for re-use.
10-30
Figure 10-16 shows a real-time status of the number of abends that occur by
specific application. Graphs can be compared over a period of time to confirm
improvements or disclose chronic problems. This type of high-level information
can be used in testing to identify quickly problem applications that might require
additional attention. This big picture information can be helpful in meeting
testing schedules.
Monitor the Process
Figure 10-17 presents a high-level view of the problem resolution activity across
an entire system. This graph shows a real-time status of the fault resolution
process. The graph shows the problems automatically detected and logged, how
many are not reviewed, open, assigned, pending validation, pending
documentation or closed. While this graph depicts the status of an entire system, a
version of this graph can be run for a particular application to help drill down
on a specific issue. This big picture information is invaluable in meeting testing
schedules.
10-31
Fault Manager provides detailed reports (Figure 10-18). This sample report lists
all Priority 1 problems. With Fault Manager problems will be listed
automatically as Priority 1, 2 or 3 when they occur. Priority can be configured
by criteria such as application, type of problem or program name. Problems can
be re-prioritized at anytime to upgrade or downgrade urgency. For all Priority 1
problems, this report lists the name of the person the problem has been assigned
to, the job name, program name, project (application) name, severity and
description. This report also shows which problems are affecting the most critical
applications and who is directly responsible for resolving them. A similar report
based on a specific application can also be created; for example, a report listing
Priority 1 problems for an Order/Entry application.
Reallocate Resources and Change Priorities with Confidence
After identifying problem areas and drilling down to detailed information, reassigning staff members to cover high priority problems might become necessary.
This graph report (Figure 10-19) displays a clear picture of the workload of each
staff member, so projects can be re-assigned to those with less critical projects or
lighter work loads, to keep projects on track.
10-32
Abend-AID XLS
Abend-AID is the industry standard and most widely used product for the
diagnosis of mainframe application program failures across a variety of databases
(such as DB/2, IMS or CA-IDMS) and programming languages (such as COBOL,
PL/I, Assembler, FORTRAN or LE).
Abend-AID merges actual source code (such as COBOL Assembler or PL/I),
diagnostic information and program storage into a single report and provides online, menu-driven access for rapid problem resolution. The following sections are
just a sample of Abend-AID XLSs powerful capabilities.
The Abend-AID XLS Directory
The Abend-AID XLS Directory (Figure 10-20) provides an up-to-the-minute
overview of all fault activity in test and serves as a single point of control to help
you manage fault resolution. It lists all faults as they occur to help you quickly
identify them and prioritize their resolution. From the Directory you can focus in
on a specific fault for more detail. The directory also can provide hard-copy
documentation to certify test results and establish an audit trail.
10-33
In most cases this is the only place you will need to go to resolve the fault. The
diagnostics focus on the incorrect program statement and explain the error
message. Diagnostics eliminate wasting time hunting for answers.
The diagnostics display the statement number and the actual statement in error.
Each field is displayed by field name, picture type and contents. The diagnostics
tell you what happened and where the failure occurred in the program, as well as
suggested corrective actions. Because the actual source code is merged in the
10-34
diagnostic report, programmers dont have to waste time locating the compile
listing and cross-referencing it.
For LE conditions, the diagnostics deliver pertinent in-depth information
including:
library mismatches
library name and version code for Run Time Library Services
contents of the LE control block in use at the time of the error
diagnostics for all LE COBOL and PL/1 messages and codes
first-level diagnostics of system and LE faults and condition codes for the
current release of OS/390
associated Language Environment and information on programs in the
calling chain.
10-35
Abend-AID XLS provides the actual program source code (COBOL, PL/1 or
Assembler) to identify the instructions performed prior to the abending statement.
With Abend-AID XLS, the statement in error is identified so that programmers
10-36
can easily navigate to areas of interest, within the program listing section, by
using find commands to see program logic.
Abend-AID XLS Working Storage
Abend-AID XLS Working Storage (Figure 10-25) displays storage in familiar
COBOL , Assembler or PL/1 format as opposed to hexadecimal.
You can check an applications field lengths and data. Formatted storage is
presented in a familiar format just the way a programmer would see it in the
program. Formatted storage identifies field name, definition and values. It also
displays, redefines and formats multi-dimensional tables and shows their index
values.
10-37
Abend-AID XLS for DB2 also provides the location and text of the SQL
statement in error. For non-zero SQL codes, it identifies host variables and
contents and pinpoints the errors, as well as pertinent information from the DB2
catalogue. Abend-AID XLS for DB2 identifies and analyzes errors that occur in
stored procedures.
CICS Abend-AID/FX
For the CICS environment, Compuware provides a single comprehensive fault
management solution for CICS transactions, DB2 errors and region failures.
CICS Abend-AID/FX thoroughly analyzes the causes of CICS faults, which
enables application and system programmers to resolve critical problems quickly
regardless of a systems complexity or new technology. The following sections
are just a sample of CICS Abend-AID/FXs powerful capabilities.
10-38
10-39
In most cases its the only place you will need to go to resolve the fault. The
diagnostics zero in on the program statement in error and explain the error
message. Diagnostics eliminate hunting for answers. The diagnostics display
statement number and the actual statement in error. Each field is displayed by
field name, picture type and contents. The diagnostics tell you what happened and
where the failure occurred in the program. Because the actual source code is
merged in the diagnostic report, programmers dont have to waste time locating
the compile listing and cross referencing it.
CICS Abend-AID/FX Menu
The CICS Abend-AID/FX Online Menu (Figure 10-29) provides fast access to
pertinent information to help reduce the time spent on solving problems.
10-40
CICS Abend-AID/FX provides the actual program source code (COBOL or PL/1)
to identify the instructions performed prior to the abending statement. With CICS
Abend-AID/FX, the statement in error is identified so that programmers can
easily navigate to areas of interest within the program listing section by using find
commands to see program logic.
10-41
10-42
CICS Abend-AID/FX for DB2 also provides the location and text of the SQL
statement in error. For non-zero SQL codes it identifies host variables and
contents and pinpoints the errors. This allows application programmers to be
independent of DBAs freeing up resources.
Professional Services
Automated Testing ServicesQASolutions
QASolutions is a unique offering designed to help companies thoroughly test
business-critical applications and establish a proven and repeatable process in
working toward application quality.
Compuwares QASolutions consultants make use of QualityPoint when
implementing a testing process in a particular project area.
QualityPoint is a patent pending, trademarked, software testing methodology
which works as a Stand-Alone application used by our QASolutions consultants to
build a testing process customized to a particular client's needs. QualityPoint links
"readiness" metrics directly to the business requirements defined at the initiation
of a project. It provides a detailed testing roadmap and step-by-step procedures to
eliminate problems inherent in projects staffed by transient resources.
A full QualityPoint implementation consists of four major phases: testing
assessment, test project planning, test execution and project closure. The test
execution phase consists of six key process areas (KPAs): test planning, test case
development, test environment preparation, test execution, test results analysis
and management reporting. The result of a full QualityPoint implementation is a
repeatable testing process, represented in deliverables and via an intranet web site,
where your test process is fully described and available for re-use for other
projects.
Testing Assessment and Test Project Planning phases represent an all-inclusive
assessment of your businesss current testing methods, procedures and existing IT
skill set.
In the Test Execution and Management reporting phases, our QASolutions
testing experts will set up the testing environment, including the tools and
standards. At the core of the implementation of these phases are Compuwares
QACenter suite of Automated Testing Tools. These and other Compuware tools
provide the technical foundations on which the testing process is built. Once the
testing environment is established, Compuware testing experts will take the client
IT team through a full testing cycle, from definition of a testing strategy to
development and execution of testing scripts and analysis of the results.
10-43
Our QASolutions teams can take the results of a QualityPoint implementation and
expand it to meet the needs for testing and QA for multiple areas of our clients
organizations. In many cases, this may lead to the building of a testing center
within the organization, based on the repeatable testing process built using
QualityPoint.
Training Services
Compuwares Education Resources Group supports QASolutions with classes to
quickly educate you on Compuwares tools.
Abend-AID/Fault Management courses
Programmers and problem solvers are trained to resolve mission-critical
application problems quickly in the OS/390 environment. Compuware AbendAID fault management products help reduce testing time and costly application
downtime. Training on these real-time tools enables programmers and problem
solvers to manage and improve the fault-resolution process.
QACenter/Automated Testing courses
Testers learn how to use the Compuware QACenter suite of testing toolsto
automate testingthroughout the application life cycle. QACenter testing tools,
test-process management and testing services keep business-critical information
flowing across mainframe and client/server environments. By automating the
repetitive, time-consuming steps involved in testing, QACenter helps
programmers test quickly, accurately and cost-effectively and deliver quality
applications on time.
File-AID/File & Data Management courses
Developers learn quickly and easily how to use File-AID products to find, create,
extract, transfer, fix, convert, load, edit, age and compare data. Learning about
File-AID capabilities can help users create effective test data, identify and fix
production problems quickly and simplify the data management process
throughout the enterprise
XPEDITER/Interactive Analysis & Debugging courses
Developers learn how to use XPEDITER source-based, interactive testing and
debugging capabilities to understand and resolve program logic errors quickly.
XPEDITER tools can help improve application quality across multiple platforms
for developers who are building new e-commerce applications or extending
mainframe applications to the web environment.
10-44
NuMega courses
NuMega solutions are tightly integrated tool suites that enable developers to
debug, test, verify and accelerate the development of Windows-based, Java-based
and web-based applications for the enterprise and e-commerce. Participants learn
how to improve project management; increase productivity; raise code quality;
support workflow and communication standards; and facilitate the resolution of
software errors
CyberClass
CyberClass is an adaptation of the standard in-class, instructor-led client/server
training. You can attend a CyberClass from the comfort of your site, via phone
and Internet access. Your remotely located CyberClass instructor will use a
combination of telephone conferencing and online remote presentations to lead
you through conceptual topics, demonstrate features and techniques and guide
you through workshops.
10-45
Attachments
[Project Name]
Name of Project/Product to be Tested
Release [x]
Release of the Software to be Tested
Date
Date the Test Strategy was initiated/changed
Attachments
Revision History
Revision
1.0
Comments
Initial Revision
Author
Date
MM/DD/YYYY
Distribution List
Name
Title
Approvals
Name
Title
Date
Attachments
1. Identifier
This is a comprehensive Test Strategy for the [product name to be released]. The identifier is
(xxxxxxx).
2. Introduction
2.1 Purpose
Describe the purpose of the test strategy. Initial implementation of Payroll testing.
2.2 Goals
Explain the goals of the testing effort.
2.5 References
2.5.1 Acronyms
The following acronyms are used during the testing effort:
2.5.2 Definitions
The following definitions are used during the testing effort:
2.5.3 Documents
The following documents are sources of information to the testing effort:
Attachments
3. Organization
3.1 Roles and Responsibilities
The following groups that are defined below are participants in the [product name] testing
process.
Role
Responsibility
application specific
test process training
tool training.
4. Test approach
4.1 Test Types
Show test types and their description:
Test Type
Description
Functional
Interface
Regression
Parallel Test
Attachments
Test Planning
Test Case Development
Test Environment Preparation
Test Execution
Test Results Analysis
Management Reporting.
Attachments
5. Associated Processes
5.1 Requirements Management
Identify what type of requirements management (tools) are being used for this project.
6. Deliverables
Describe the deliverables for this testing effort.
7. Assumptions
Add any assumptions for this testing effort.
8. Constraints
Add any constraints for this testing effort.
9. Dependencies
Add any external dependencies (outside of the test group) for this testing effort.
Attachments
[Project Name]
Name of Project/Product to be tested
[Document Identifier]
Referencing Identifier for Configuration Management
Release [x]
Release of the Software to be tested
Date
Date the Test Strategy was initiated/changed
Attachments
Revision History
Revision
1.0
Date
MM/DD/YYYY
Author
Comments
Initial Revision
Distribution List
Name
Title
Approvals
Name
Title
Date
Attachments
1. Identifier
This is a comprehensive [Test Type] Test Plan for the [product name to be released]. The
identifier is (xxxxxxx).
2. Introduction
2.1 Purpose
Describe the purpose of the test plan.
2.2 Objectives
Explain the objectives of the testing effort. These objectives should have a measurable
output.
2.5 References
2.5.1 Acronyms
The following acronyms are used during the testing effort:
2.5.2 Definitions
The following definitions are used during the testing effort:
2.5.3 Documents
The following documents are sources of information to the testing effort:
Attachments
3.2 Training
Add specific training requests in order to rollout this test planning effort.
Attachments
11
Attachments
4.8 Communications
Describe any type of data communications between the hardware and software. For
example: using a standard IP Network.
5.Test execution
Describe Test Execution activities as they apply to test cases and /or test scripts.
6. Associated Processes
6.1 Requirements Management
Identify what type of requirements management (tools) are being used for this project.
12
Attachments
8. Deliverables
Describe the deliverables for this testing effort.
9.2 Constraints
Add any constraints for this testing effort.
9.3 Dependencies
Add any external dependencies (outside of the test group) for this testing effort.
13
Attachments
[Project Name]
Name of Project/Product to be tested
[Document Identifier]
Referencing Identifier for Configuration Management
Release [x]
Release of the Software to be tested
Date
Date the Test Environment Preparation document was initiated/changed
15
Attachments
Revision History
Revision
1.0
Date
MM/DD/YYYY
Author
Comments
Initial Revision
Distribution List
Name
16
Title
Attachments
1.
Server Requirements
Quantity
2.
Hardware Configuration
Document each servers hardware requirements. A table format could be used to specify
the requirement for each type of server component such as operating system, CPU, Video
or just state in a paragraph or list.
17
Attachments
Disk Space/Storage
Software
Communications
3. Client Workstation Requirements
Quantity
Consider the expected number of users.
Hardware Configuration
18
Attachments
Software
Communications
4. Peripherals
5. Physical Access
6. Naming Conventions
7. Overall Process
Procedures to be defined and documented:
<procedure 1>
<procedure 2>
8. Security Requirements
9. Access and Privileges
10. Audit and Traceability
Software requirements related to providing an audit trail of data activity (adds, updates)
including accessibility requirements (online, nightly report) as well as the necessary data
and supporting information (user identification, date and time).
19
Attachments
13. Backup
Permissions
Identify who has backup permissions.
Backup Method(s)
Determine appropriate backup method(s).
Normal:
backup of the entire system, to include all selected drives, directories and files,
regardless of whether or not they have been changed.
good for restoring an entire system since all of the most current information is
located on the backup.
can take longer than other types of backups since more data is being backed up.
Incremental:
backup of only the files that have been created or changed since the last Normal
or Incremental backup.
much less data storage space required since it only includes that data that has
changed.
usually takes less time to complete than normal backups.
files may be more difficult to find since they may be spread across multiple
backup media.
a full system restoration may be time consuming since the data will probably
reside on more than on backup media.
Differential:
backup of all files that have been created or changed since the last Normal
backup.
files may be easier to find.
20
Attachments
a full system restoration only requires access to two media: the latest normal
backup and the latest differential backup.
usually requires less time to complete than a normal backup.
time to create a differential backup gets greater each day since it includes all
changes since the last Normal backup; consequently, some redundancy exists
since the same data may be backed up each day, regardless of whether it had
changed.
Copy:
backups of all selected drives, directories, and files.
does not affect subsequent incremental or differential backups.
Daily:
backup of all files with todays date (created or changed today) and does not
affect the files backup status.
Validation Process(es)
Identify and document processes for validating that the backup(s) was successful.
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
21
Attachments
Backup Chart
Create a backup chart including the date, time and the contents of each media.
Backup Location
Determine location of backup media.
Hardware Protection
Determine hardware protection requirements:
Automation
Determine areas for automating backup processes; document and implement as
appropriate.
22
Attachments
Restoration Procedures
Identify and Document Restoration Procedures:
Validation Process(es)
Identify and document how the restored data is validated.
Archiving
Permissions
Identify who has archiving permissions.
Archiving Procedures
Identify and document data archiving procedures
Validation Process(es)
Identify and document how the archives are validated.
23
Attachments
Description/Location
11-Nov-99
Jake Swift
Add U.S. - 1.1.1.1
Add U.s. - 1.1.1.2
Employee Processing - Requirement No. 1
Payroll Business Requirements
Add Employees
N/A
Add Employee Screen
N/A
Win95, Visio, Project 98, Office97 SR2, IE 4.0
12-Nov-99
12-Nov-99
Yes
25
Attachments
QualityPoint
Test Case Body
Example 1
Step #
1
2
3
4
5
6
7
8
9
10
11
12
26
Steps to Perform
Data
Verify that the basic company
employee data is loaded in the
list view on the main payroll
screen
Select the Employee pull-down
Menu
Select Add from the pull-down
menu
Enter an name in the name Doe, John
field
Enter salary choice
1000
Select the "none" radio button
None
for the insurance choice
Select "Admin" for the Admin
Department Choice
Select "None" for the Benefits
None
choice
Select Okay to Add the
Employee
Close the payroll application
Reopen the payroll application
Verify that the basic company
employee data is loaded in the
list view on the main payroll
screen
Expected Results
Comments
Menu appears
Data field appears
Name entered and accepted
Salary entered and accepted
Radio button works
appropriately
Admin accepted
None accepted
All data has been accepted
Closed successfully
Opened successfully
Data loaded successfully
Attachments
13
14
15
16
17
18
19
20
21
27
Attachments
QualityPoint
Test Case Body
Example 2
Step #
1
2
3
4
5
6
7
8
9
10
11
12
28
Steps to Perform
Data
Verify that the basic company
employee data is loaded in the
list view on the main payroll
screen
Select the Employee pull-down
Menu
Select Add from the pull-down
menu
Enter an name in the name Doe, Jane
field
Enter salary choice
1000
Select the "none" radio button
None
for the insurance choice
Select "Finance" for the Finance
Department Choice
Select "None" for the Benefits
None
choice
Select Okay to Add the
Employee
Close the payroll application
Reopen the payroll application
Verify that the basic company
employee data is loaded in the
list view on the main payroll
screen
Expected Results
Comments
Menu appears
data field appears
Name entered and accepted
Salary entered and accepted
Radio button works
appropriately
Finance accepted
None accepted
All data has been accepted
Closed successfully
Opened successfully
Data loaded successfully
Attachments
13
14
15
16
17
18
19
20
21
29
Attachments
31
Attachments
Yes
No
Business
Employee Processing
Payroll Calculation
Payroll Disbursement
Payroll Reporting
Technical
Graphical User Interface
System Performance
16.6%
83.4%
One of the acceptance criteria for the test effort was 100% Business
and Technical Requirement Coverage. As you can tell from the chart,
only 16.6% of the business and technical requirements were tested;
therefore, an acceptance criterion was not met in this area.
32
Attachments
The following chart depicts the number of detected defects over the life of the
Payroll project.
# o f D e te c te d D e fe c ts
80
60
# o f D e te c te d
D e fe c ts
40
20
0
1
11
13
33
Attachments
Open Defects
Test Requirements
Severity
Severity
Severity
Business
Employee Processing
Payroll Calculation
Payroll Disbursement
Payroll Reporting
Technical
Graphical User Interface
System Performance
As the chart shows, there are no open defects for any business/technical requirement
except for Employee Processing. But, this is because the test team has not begun to
test the other areas of the application yet. Therefore, there is a huge risk in these areas
of the Payroll application.
34
Attachments
Outstanding Issues
Business and technical requirements 2, 3, 4, 5 and 6 still need to be tested.
Risks
There is a major risk in releasing the Payroll application in its current state. The risk
involves the unknowns associated, having not tested over 83% of the application in this
effort. The test team cannot reliably predict the problems we could face in the following
business areas: payroll calculation, payroll disbursement, payroll reporting, the
applications graphical user interface and system performance.
Chapter 9 Conclusion
Overall, this test effort has been a very positive experience. For the first time in our
companys history, we have an objective way of determining whether an application is
ready to be released into production. We have also established measures to better control
future testing projects and their associated costs.
All of the hard work and effort has demonstrated that the Payroll application is not ready
to be released into production.
The main reason for this recommendation is that only 16.6% of the application has been
tested to this date. Our further recommendation is to push the release back a minimum of
two months. This will allow enough time to finish the necessary development work and
to test the remaining modules of the application thoroughly.
35
Attachments
[Project Name]
[Test Type] Test Summary Report
Release [x]
Date
37
Attachments
Chapter 1 - Purpose
Explain the purpose of the Test Summary Report.
Chapter 2 - Overview
Explain the following:
applications tested
test type
software version
dates of test runs
environment.
Chapter 6 - Risks
List any risks that need to be addressed before exiting this test type.
Overall Evaluation
This evaluation is based upon the entrance/exit criteria of the associated test plan.
39
Attachments
Test Planning
KPA
Business and
Technical
Requirements
Test Strategy
Business and
Technical
Requirements
Refinement
No
Yes
Define/Refine Test
Objectives
1.13
Present Test
Objectives &
Scope
1.15
Define/Refine Test
Scope
1.14
Yes
Test Objectives
& Scope Approval
1.16
No
No
Test Plan
Walkthrough
1.18
Test Plan
Refinement
1.19
Test Plan
Approval
1.20
Yes
Test Plan
Publication
1.21
End Process
Prepared by
Compuware Best Practices for Testing
Compuware 2000 All Rights Reserved
Do not copy or reproduce
41
Attachments
Standards
Business
Process
Documentation
Test Data
Sources
Requirements
in Scope
Create
Decision Tree
Present Deci
Refine
Decision Tree
Decision
Tree
Approval
No
Yes
Prioritize Test
Cases
Document Test
Procedures
Document Test
Data
Requirements
Manual Test
Cases
Identify
Candidates for
Automation
No
Automate Test
Cases
Automated
Test Cases
Yes
Automation
Approval
Test Case
Delivery
End Process
Prepared by
43
Attachments
Define/Refine
Technical
Environment
3.1
Technical
Environment
Description
(Workstation)
No
Define/Refine Test
Data Requirements
3.2
Base/
Master Data
Transaction
Test Data
Yes
Identify Restore
Points
3.4
Perform Data
Walkthrough
3.5
Define/Refine
Restoration
Procedures
3.6
DataBase
Restore
Procedures
3.7
Network
Restore
Procedures
3.8
Establish Test
Environment
3.10
Execute
Restoration
Procedures
3.11
Correct &
Complete
Environment
3.12
Worstation
Restore
Procedures
3.9
No
Yes
Verify Test
Environment
3.13
Environment
Walkthrough
3.14
End Process
Prepared by
45
Attachments
Test Execution
Schedule
Test Plan
Information
Defined Test
Cases
Verified Test
Environment
4.1
Yes
Execute Test(s)
4.2
Logged Test
Results
No
Create Backup and
Identify Data State
4.9
Initial Results
Review
4.3
Logged
Discrepancies
Suspend Test
Execution?
4.4
Yes
Make a Data
State Backup?
4.8
Yes
Continue?
4.6
No
More Test
Cases?
4.7
No
End Process
No
Prepared by
47
Attachments
Logged Test
Results
Evaluate Results
5.1
Valid Result?
5.2
Yes
No
Test Case
Defect?
5.3
Yes
Refine/Define Test
Case Development
Procedure
5.4
No
Test Context
Defect?
5.5
Yes
Refine/Define Test
Execution
Procedure
5.6
No
Software Defect
5.7
Yes
Log to Defect
Tracking
5.8
Collect Metrics
5.9
End Process
Prepared by
49
Attachments
Test Execution
Metrics
Map Software
Defects to
Business and
Technical
Requirements
6.1
Compare to Acceptance
Criteria
6.2
Prepare
Measurement
Reports
6.3
Determine Current
Status of existing
Business Issues
6.4
Create Application
Readiness Report
6.5
End Process
Prepared by
51
NORTH AMERICA
EUROPE
INTERNATIONAL
Compuware Corporation
Corporate Offices
31440 Northwestern Highway
Farmington Hills, MI 48334-2564
USA
Tel (248) 737-7300 (800) 521-9353
Fax (248) 737-7108
Compuware Europe BV
Compuware Corporation
International Operations
31440 Northwestern Highway
Farmington Hills, MI 48334-2564
USA
Tel +1 (248) 737-7639
Fax +1 (248) 737-7623
Hoogoorddreef 5
1101 BA Amsterdam Z-O
The Netherlands
Tel +31 20 3116222
Fax +31 20 3116200
www.compuware.com
Compuware, Abend-AID, BoundsChecker, DBA-XPERT for DB2, DBPartner, DevPartner, EcoSYSTEMS, File-AID, NuMega, QABatch, QACenter, QADirector,
QAHiperstation, QALoad, QARun, QASolutions, TrackRecord, WebCheck and XPEDITER are trademarks or registered trademarks of Compuware Corporation.
All other company or product names are trademarks of their respective owners.
435 4/00