Quality Testing

Quality is delighting customers

If yes, can you explain the different types of user acceptance testing?

Tags: Acceptance, Testing, User, in, types

Views: 11

Reply to This

Replies to This Discussion

Hi Vijay,

User acceptance testing types:

1) Operational acceptance testing
2) Contract and regulation acceptance testing
3) Alpha and beta testing
4) Incremental
5) Big bang

Regards
Gowtham.S
@ Gowtham,

Incremental and Big bang are Integration Testing types.

Thanks,
Siddiq
Siddiq yes ur right i had just checked now thanks for correction
User acceptance testing (UAT) is a people-focused activity which helps confirm that your software application performs the required functionality while also meeting user requirements. This is especially critical for customer-facing software systems and products. Effective user acceptance testing is not just best practice in IT development or procurement—it makes good business sense.

Capgemini conducts complete UAT in the following areas:

* Rollout of new products
* Migration to new software/applications
* Enhancement releases
* Creation of automated regression test packs

UAT Flow

We provide end-to-end support for user acceptance testing including:

* UAT Planning: Working closely with business users to understand their requirements and build testware from the user perspective
* UAT Execution: Striving for maximum test coverage, sequencing tests to prioritize critical functionalities and closely monitoring test progress to help escalate issues and 'showstopper' defects for quick resolution
* UAT Closure: Preparing and delivering a final test summary report and documenting lessons learned to provide recommendations to improve testing initiatives

User acceptance testing fosters improved test coverage and optimizes the involvement of your business users in the testing process.
In engineering and its various subdisciplines, acceptance testing is black-box testing performed on a system (e.g. software, lots of manufactured mechanical parts, or batches of chemical products) prior to its delivery. In some engineering subdisciplines, it is known as Functional testing, black-box testing, release acceptance, QA testing, application testing, confidence testing, final testing, validation testing, usability testing, or factory acceptance testing.

In most environments, acceptance testing by the system provider is distinguished from acceptance testing by the customer (the user or client) prior to accepting transfer of ownership. In such environments, acceptance testing performed by the customer is known as beta testing, user acceptance testing (UAT), end user testing, site (acceptance) testing, or field (acceptance) testing.

Acceptance testing generally involves running a suite of tests on the completed system. Each individual test, known as a case, exercises a particular operating condition of the user's environment or feature of the system, and will result in a pass or fail boolean outcome. There is generally no degree of success or failure. The test environment is usually designed to be identical, or as close as possible, to the anticipated user's environment, including extremes of such. These test cases must each be accompanied by test case input data or a formal description of the operational activities (or both) to be performed—intended to thoroughly exercise the specific case—and a formal description of the expected results.

Acceptance Tests/Criterion (in Agile Software Development) are usually created by business customers and expressed in a business domain language. These are high level tests to test the completeness of a user story or stories 'played' during any sprint/iteration. These tests are created ideally through collaboration between business customers, business analysts, testers and developers, however the business customers (product owners) are the primary owners of these tests. As the user stories pass their acceptance criteria, the business owners can be sure of the fact that the developers are progressing in the right direction about how the application was envisaged to work and so it's essential that these tests include both business logic tests as well as UI validation elements (if need be).

Acceptance test cards are ideally created during sprint planning or iteration planning meeting, before development begins so that the developers have a clear idea of what to develop. Sometimes (due to bad planning!) acceptance tests may span multiple stories (that are not implemented in the same sprint) and there are different ways to test them out during actual sprints. One popular technique is to mock external interfaces or data to mimick other stories which might not be played out during a iteration (as those stories may have been relatively lower business priority). A user story is not considered complete until the acceptance tests have passed.

Process:

The acceptance test suite is run against the supplied input data or using an acceptance test script to direct the testers. Then the results obtained are compared with the expected results. If there is a correct match for every case, the test suite is said to pass. If not, the system may either be rejected or accepted on conditions previously agreed between the sponsor and the manufacturer.

The objective is to provide confidence that the delivered system meets the business requirements of both sponsors and users. The acceptance phase may also act as the final quality gateway, where any quality defects not previously detected may be uncovered.

A principal purpose of acceptance testing is that, once completed successfully, and provided certain additional (contractually agreed) acceptance criteria are met, the sponsors will then sign off on the system as satisfying the contract (previously agreed between sponsor and manufacturer), and deliver final payment.

User acceptance testing:

User Acceptance Testing (UAT) is a process to obtain confirmation by a Subject Matter Expert (SME), preferably the owner or client of the object under test, through trial or review, that the modification or addition meets mutually agreed-upon requirements. In software development, UAT is one of the final stages of a project and often occurs before a client or customer accepts the new system.

Users of the system perform these tests, which developers derive from the client's contract or the user requirements specification.

Test designers draw up formal tests and devise a range of severity levels. It is preferable that the designer of the user acceptance tests not be the creator of the formal integration and system test cases for the same system, however there are some situations where this may not be avoided. The UAT acts as a final verification of the required business function and proper functioning of the system, emulating real-world usage conditions on behalf of the paying client or a specific large customer. If the software works as intended and without issues during normal use, one can reasonably infer the same level of stability in production. These tests, which are usually performed by clients or end-users, are not usually focused on identifying simple problems such as spelling errors and cosmetic problems, nor show stopper bugs, such as software crashes; testers and developers previously identify and fix these issues during earlier unit testing, integration testing, and system testing phases.

The results of these tests give confidence to the clients as to how the system will perform in production. There may also be legal or contractual requirement for acceptance of the system.

Types of acceptance testing:

User acceptance testing:

This may include factory acceptance testing, i.e. the testing done by factory users before the factory is moved to its own site, after which site acceptance testing may be performed by the users at the site.

Operational acceptance testing:

Also known as operational readiness testing, this refers to the checking done to a system to ensure that processes and procedures are in place to allow the system to be used and maintained. This may include checks done to back-up facilities, procedures for disaster recovery, training for end users, maintenance procedures, and security procedures.
Contract and regulation acceptance testing

In contract acceptance testing, a system is tested against acceptance criteria as documented in a contract, before the system is accepted. In regulation acceptance testing, a system is tested to ensure it meets governmental, legal and safety standards.

Alpha and beta testing:

Alpha testing takes place at developers' sites, and involves testing of the operational system by internal staff, before it is released to external customers. Beta testing takes place at customers' sites, and involves testing by a group of customers who use the system at their own locations and provide feedback, before the system is released to other customers. The latter is often called “field testing”.
User Acceptance Testing:

Acceptance Testing is the formal testing conducted to determine whether a software system satisfies its acceptance criteria and to enable buyer to determine whether to accept the system or not.
Acceptance testing is designed to determine whether software is fit for use or not. Apart from functionality of application, other factors related to business environment also plays an important role.

User acceptance testing is different from System Testing. System testing is invariably performed by the development team which includes developer and tester. User acceptance testing on the other hand should be carried out by the end user. This could be in the form of

a. Alpha Testing - Where test are conducted at the development site by the end users. Environment can be controlled a little bit in this case.

b. Beta Testing - Where test are conducted at customer site and development team do not have any control on the test environment.

In both the cases, these testing might be assisted by software testers.

It is very important to define acceptance criteria with the buyer during the various phases of SDLC. A well defined acceptance plan will help development/QE teams by identifying user's need during software development. Acceptance Test plan must be created or reviewed by customer. Development team and customer should work together and make sure that they have

a. Identify interim and final products for acceptance, acceptance criteria and schedule.
b. Plan how and by whom each acceptance activities will be performed.
c. Schedule adequate time for buyer's staff to examine and review the product
d. Prepare the acceptance plan.
e. Perform formal acceptance testing at delivery
f. Make a decision based on the results of acceptance testing.

Entry Criteria:

a. System Testing is completed and defects identified are either fixed or documented.
b. Acceptance plan is prepared and resources have been identified.
c. Test environment for the acceptance testing is available

Exit Criteria:

a. Acceptance decision is made for the software
b. In case of any caveats, development team is notified
User acceptance testing (UAT) is a people-focused activity which helps confirm that your software application performs the required functionality while also meeting user requirements. This is especially critical for customer-facing software systems and products. Effective user acceptance testing is not just best practice in IT development or procurement—it makes good business sense.

Capgemini conducts complete UAT in the following areas:

a. Rollout of new products
b. Migration to new software/applications
c. Enhancement releases
d. Creation of automated regression test packs


We provide end-to-end support for user acceptance testing including:

UAT Planning: Working closely with business users to understand their requirements and build testware from the user perspective

UAT Execution: Striving for maximum test coverage, sequencing tests to prioritize critical functionalities and closely monitoring test progress to help escalate issues and 'showstopper' defects for quick resolution

UAT Closure: Preparing and delivering a final test summary report and documenting lessons learned to provide recommendations to improve testing initiatives

User acceptance testing fosters improved test coverage and optimizes the involvement of your business users in the testing process.
Replies were very good from members.

Thanks,
Siddiq

RSS

TTWT Magazine

Advertisement

You Can


Call for Articles

Advertisement

Videos

  • Add Videos
  • View All

Badge

Loading…

© 2012   Created by Quality Testing.

Badges  |  Report an Issue  |  Terms of Service