Be it Software or any other
Work Product, end users satisfaction is what makes it successful.
In the below picture a child
playing with his Toy is completely engrossed in it. It appears that a Toy (Work
Product) is fully fit for his use (to play with).
The same thing is applicable for Software as
well. End users should feel that the Software is fit for use.
Below
are the details focusing on #AcceptanceTesting.
The
goal of Acceptance Testing is to establish confidence in the system.
It is
focused on a validation type of testing, whereby we are trying to determine
whether the system is fit for purpose.
Finding
defects should not be the main focus in acceptance testing.
The
execution of the acceptance test requires a test environment that is for most
aspects, representative of the production environment.
Acceptance
testing may occur at more than just a single level.
User
Acceptance Test – It
focuses mainly on the functionality, thereby validating the fitness-for-use of
the system by the business user. User
acceptance test is performed by the users and application managers.
Operational
Acceptance Test (Production
Acceptance Test) – It validates whether the system meets the requirements
for operation. System administrators
will perform the operational acceptance test shortly before the system is
released. The operational acceptance test may include testing of
backup/restore, disaster recovery, maintenance tasks and periodic check of
security vulnerabilities.
Contract
Acceptance Testing – It
is performed against a contract's acceptance criteria for producing
custom-developed software.
Compliance
Acceptance Testing –
Compliance acceptance testing or regulation acceptance testing is performed
against the regulations which must be adhered to, such as governmental, legal
or safety regulations.
Alpha
Testing – It
takes place at the developer’s site. A cross-section of potential users and
members of the developer's organization are invited to use the system.
Developers observe the users and note problems. Alpha testing may also be
carried out by an independent test team.
Beta
Testing – Beta testing, or field testing, sends the system to
a cross-section of users who install it and use it under real-world working
conditions. The users send records of incidents with the system to the
development organization where the defects are repaired.