Professional Documents
Culture Documents
2006 CSTE CBOK Skill Category 7
2006 CSTE CBOK Skill Category 7
2
SOFTWARE ACCEPTANCE is an
incremental process of approving or
rejecting software systems during
development or maintenance, according
to how well the software satisfies
predefined criteria.
Final software acceptance testing must occur at
the end of the development process
ACCEPTANCE DECISIONS occur at pre-
defined times when processes, support
tools, interim documentation, segments
of the software, and the total software
system must meet accepted elements
Final acceptance decision occurs with verification
that the delivered documentation is adequate and
3
meets buyer requirements
for identifying acceptance criteria for
interim life cycle products and for
accepting them. As a life cycle process,
software acceptance enables:
1-Early detection of software problems
2-Preparation of appropriate test facilities
3-Early consideration of the user’s needs during software development
4-Accountability for software acceptance belongs to the customer of
the software whose responsibilities are:
Ensure user involvement in developing system requirements and
acceptance criteria
Identify interim and final products for acceptance, acceptance criteria and
schedule
Plan how and by whom each acceptance activity will be performed
Plan resources for providing information on which to base acceptance
decisions
Schedule adequate time for buyer staff to receive and examine products
and evaluations prior to acceptance review
Prepare the Acceptance Plan
Respond to the analyses of project entities before accepting or rejecting
Approve the various interim software products against quantified criteria at
interim points
4
Perform the final acceptance activities, including formal acceptance testing,
Acceptance testing is designed to
determine whether the software is fit for
use. The concept of fit is important in
both design and testing
The 4 components of fit are:
Data-The reliability, timeliness, consistency
and usefulness of the data included in the
automated application
People-People should have the skills,
training, aptitude and the desire to properly
use and interact with the automated
application
Structure-The structure is the proper
development of application systems to
optimize technology and satisfy
requirements
Rules-The rules are the procedures to follow
in processing the data
5
The system must fit into these four components
of the business environment. If any of the
components fails to fit properly, the success of
the application system will be diminished
6
Difference between Acceptance Test and
System Test
8
Software tester’s role
Software testers can have 3 roles:
1. No involvement at all. The user accepts full
responsibility for developing and executing the
acceptance test plan
2. An advisor role. The user will develop and
execute the test plan, but rely on software testers to
compensate for a lack of competency on the part of the
users or a quality control role
3. Active participant in software testing role. This
role can include any or the entire acceptance testing
activities
10
Acceptance Criteria
The user must assign the criteria the software
must meet to be deemed acceptable. In
preparing for developing the acceptance
criteria, the user should:
Acquire full knowledge of the application for which
the system is intended
Become fully acquainted with the application as it is
currently implemented by the user’s organization
Understand the risks and benefits of the
development methodology that is to be used in
correcting the software system
Fully understand the consequences of adding new
functions to enhance the system
11
must meet can be divided into 4
categories:
1- Functional Requirements- this relates
to the business rules that the system
must execute
2- Performance Requirements- this
relates to operational aspects, such as
time or resource constraints
3- Interface Quality Requirements- this
relates to connections from one
component to another component of
processing
4- Overall Software Quality
Requirements- these specify limits for
factors or attributes such as reliability,
testability, correctness and usability
12
All safety criteria are critical; and
by law, certain security
requirements are critical. Some
typical factors affecting criticality
include:
Importance of the system to
organization or industry
Consequence of failure
Complexity of the project
Technology risk
Complexity of the user environment
13
USER RESPONSIBILITIES:
The user has the responsibility of
ensuring that acceptance criteria
contain pass or fail criteria
For specific software systems, users
must examine their projects’
characteristics and criticality in order to
develop expanded lists of acceptance
criteria for those software systems
The user must also establish
acceptance criteria for individual
elements of a product (should be
numeric value or a range of values)
14
Acceptance Test Plan
The first step to achieve software
acceptance is the simultaneous
development of a Software Acceptance
Plan, general project plans, and
software requirements to ensure that
user needs are represented correctly
and completely. This simultaneous
development will provide an overview of
the acceptance activities, to ensure that
resources for them are included in the
project plans. 15
Acceptance managers define the
objectives of the acceptance activities
and a plan for meeting them
After the initial Software Acceptance
Plan has been prepared, reviewed and
approved, the acceptance manager is
responsible for implementing the plan
and assuring that the plan’s objectives
are met
16
What should be included
in a Software Acceptance
Plan?
The first section of the plan is an overview of the
software development or maintenance project, followed
by major sections for management responsibilities and
administrative matters
The plans overview section describes the technical
program for software acceptance
The plan must include the techniques and tools that will
be utilized in acceptance testing
Two categories of testing techniques can be used in
acceptance testing: structural and functional
Functional testing techniques help ensure that the
18
An individual use case
consists of:
Preconditions that set the stage for
the series of events that should
occur for the use case
Post-conditions that state the
expected outcomes of the above
process
Sequential narrative of the
execution of the use case
19
IV. Acceptance Test
Execution
Execute the Acceptance Test Plan
Acceptance Decision
22
Typical acceptance decisions include:
Required changes are accepted before
progressing to the next activity
Some changes must be made and
may continue
The goal is to achieve and accept
“perfect” software!
23