160 x 600 Ad Section


ACCEPTANCE TESTING

Acceptance testing (also known as user acceptance testing) is a type of testing carried out in order to verify if the product is developed as per the standards and specified criteria and meets all the requirements specified by customer. This type of testing is generally carried out by a user/customer where the product is developed externally by another party. 

Acceptance testing falls under black box testing methodology where the user is not very much interested in internal working/coding of the system, but evaluates the overall functioning of the system and compares it with the requirements specified by them. User acceptance testing is considered to be one of the most important testing by user before the system is finally delivered or handed over to the end user. 

Acceptance testing is also known as validation testing, final testing, QA testing, factory acceptance testing and application testing etc. And in software engineering, acceptance testing may be carried out at two different levels; one at the system provider level and another at the end user level (hence called user acceptance testing, field acceptance testing or end-user testing). 

Acceptance testing in software engineering generally involves execution of number test cases which constitute to a particular functionality based on the requirements specified by the user. During acceptance testing, the system has to pass through or operate in a computing environment that imitates the actual operating environment existing with user. The user may choose to perform the testing in an iterative manner or in the form of a set of varying parameters (for example: missile guidance software can be tested under varying payload, different weather conditions etc.). 

The outcome of the acceptance testing can be termed as success or failure based on the critical operating conditions the system passes through successfully/unsuccessfully and the user’s final evaluation of the system. 

The test cases and test criterion in acceptance testing are generally created by end user and cannot be achieved without business scenario criteria input by user. This type of testing and test case creation involves most experienced people from both sides (developers and users) like business analysts, specialized testers, developers, end users etc. 

Process involved in Acceptance Testing

  1. Test cases are created with the help of business analysts, business customers (end users), developers, test specialists etc.
  2. Test cases suites are run against the input data provided by the user and for the number of iterations that the customer sets as base/minimum required test runs.
  3. The outputs of the test cases run are evaluated against the criterion/requirements specified by user.
  4. Depending upon the outcome if it is as desired by the user or consistent over the number of test suites run or non conclusive, user may call it successful/unsuccessful or suggest some more test case runs.
  5. Based on the outcome of the test runs, the system may get rejected or accepted by the user with or without any specific condition.

Acceptance testing is done in order to demonstrate the ability of system/product to perform as per the expectations of the user and induce confidence in the newly developed system/product. A sign-off on contract stating the system as satisfactory is possible only after successful acceptance testing. 

Types of Acceptance Testing 

User Acceptance Testing: User acceptance testing in software engineering is considered to be an essential step before the system is finally accepted by the end user. In general terms, user acceptance testing is a process of testing the system before it is finally accepted by user. 

Alpha Testing & Beta Testing: Alpha testing is a type of acceptance testing carried out at developer’s site by users (internal staff). In this type of testing, the user goes on testing the system and the outcome is noted and observed by the developer simultaneously. 

Beta testing is a type of testing done at user’s site. The users provide their feedback to the developer for the outcome of testing. This type of testing is also known as field testing. Feedback from users is used to improve the system/product before it is released to other users/customers. 

Operational Acceptance Testing: This type of testing is also known as operational readiness/preparedness testing. It is a process of ensuring all the required components (processes and procedures) of the system are in place in order to allow user/tester to use it. 

Contact and Regulation Acceptance Testing: In contract and regulation acceptance testing, the system is tested against the specified criteria as mentioned in the contract document and also tested to check if it meets/obeys all the government and local authority regulations and laws and also all the basic standards.

 

List of Acceptance Testing Frameworks

§                     Framework for Integrated Test (Fit)

§                     FitNesse, a fork of Fit

§                     ItsNat Java AJAX web framework with built-in, server based, functional web testing capabilities.

§                     Selenium (software)

§                     iMacros

§                     Ranorex

§                     Watir/WatiN

§                     Test Automation FX

§                     Concordion

§                     StoryTestIQ (STIQ) a mash-up of Selenium and the FitNesse wiki