Sunteți pe pagina 1din 23

User Acceptance Testing

CSTE- Skill Category 7

Acceptance Testing Concepts


Roles and Responsibilities
Acceptance Test Planning
Acceptance Test Execution
Presented by
Deanna Benton
QA/QC Infrastructure Lead, Albertsons
I. Acceptance Testing
Concepts
1.Acceptance testing concepts
2.Difference between system test &
acceptance test

Acceptance testing concepts


 Acceptance Testing is formal
testing conducted to determine
whether a software system
satisfies its acceptance criteria and
to enable the buyer to determine
whether to accept the system.

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

 Acceptance Testing is performed


by user personnel and may include
assistance by software testers.
 System Testing is performed by
developers and/or software
testers.
 The objective of both is to assure that
it will be acceptable to the user in the
end!
 System Test should be performed
7
before User Acceptance Testing.
II. Roles and Responsibilities
User’s role
Software tester’s role
User’s role
 Begins with the user making the determination whether or
not acceptance testing will occur
 If acceptance testing does occur, the user is responsible for
planning and conducting the testing
 At a minimum the user will have the following roles in
acceptance testing:
 Defining acceptance criteria in a testable format
 Providing the use cases that will be used in acceptance testing
 Training user personnel in using the new software system
 Providing the necessary resources, primarily user staff for
acceptance testing

Comparing the actual acceptance testing results with the
desired acceptance testing results
 Making decisions whether the software is acceptable or
whether more work needs to be completed

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

 The software tester cannot make the decision whether


or not the software can be placed into production
 The software testers should develop the acceptance
test process.
 Develop a process for defining acceptance criteria
 Develop a process for building an acceptance test plan
 Develop a process for recording and presenting the results
of acceptance testing
9
III. Acceptance Test
Planning
 The acceptance test plan follows
the practices used for developing
an overall system test plan:
 Acceptance Criteria
 Acceptance Test Plan
 Use Case Test Data

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

requirements/specifications are properly satisfied by


the software system
 Structural testing ensures sufficient checking of the

implementation of the function by finding test data


that will force sufficient coverage of the structured
presence in the implemented software
17
Use Case Test Data
 A use case is a test case which represents how the
software will be used in operation
 A use case is built on a business transaction and can be
test data or a test script
 Unit testing will attempt to determine whether there are
any variances between unit specifications and the unit
as it is executed
 Integration testing will attempt to determine if there is a
variance between specified integration and actual
integration
 System testing will validate that the system will perform
as specified
 The test cases and scripts used for these three levels of
testing are focused more on the components of the
software than business transactions

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

 Execute the Acceptance Test Plan


 The objective is to determine whether the
acceptance criteria have been met in a
delivered product

Through reviews, which involve looking at the
interim products and partially developed
deliverables at various points throughout the dev.
Process.

Through testing the executable software system
 The determination of which of these techniques to
use will depend on the criticality of the software,
the size of the software program, the resources
involved, and the time period over which the
software is being developed
20
 Software acceptance criteria should be
specified in the formal project plan
 Acceptance decisions need a framework
in which to operate
 A disciplined acceptance program for
software of any type may include
reviews as a formal mechanism
 Some software acceptance activities
may include testing pieces of the
software; formal software acceptance
testing occurs at the point in the
development life cycle when the user
accepts or rejects the software
21
 Acceptance Decision
 Final acceptance of software based
on software acceptance testing
usually means that the software
project has been completed, with the
exception of any caveats or
contingencies
 Final acceptance for the software
occurs and the developer has no
further development obligations

22
 Typical acceptance decisions include:
 Required changes are accepted before
progressing to the next activity
 Some changes must be made and

accepted before further development of


that section of the product; other
changes may be made and accepted at
the next major review
 Progress may continue and changes may

be accepted at the next review


 No changes are required and progress

may continue
The goal is to achieve and accept
“perfect” software!
23

S-ar putea să vă placă și