词条 | Acceptance testing |
释义 |
In engineering and its various subdisciplines, acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical tests, physical tests, or performance tests. In systems engineering it may involve black-box testing performed on a system (for example: a piece of software, lots of manufactured mechanical parts, or batches of chemical products) prior to its delivery.[1] In software testing the ISTQB defines acceptance testing as: {{quote|text=Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.|source=Standard Glosary of Terms used in Software Testing[2]{{rp|2}} }} Acceptance testing is also known as user acceptance testing (UAT), end-user testing, operational acceptance testing (OAT) or field (acceptance) testing. Acceptance criteria is the criteria that a system or component must satisfy in order to be accepted by a user, customer, or other authorized entity.[3] A smoke test may be used as an acceptance test prior to introducing a build of software to the main testing process.{{citation needed (lead)|date=September 2015}} OverviewTesting is a set of activities conducted to facilitate discovery and/or evaluation of properties of one or more items under test.[4] Each individual test, known as a test case, exercises a set of predefined test activities, developed to drive the execution of the test item to meet test objectives; including correct implementation, error identification, quality verification and other valued detail.[4] The test environment is usually designed to be identical, or as close as possible, to the anticipated production environment. It includes all facilities, hardware, software, firmware, procedures and/or documentation intended for or used to perform the testing of software.[4] UAT and OAT test cases are ideally derived in collaboration with business customers, business analysts, testers, and developers. It's essential that these tests include both business logic tests as well as operational environment conditions. The business customers (product owners) are the primary stakeholders of these tests. As the test conditions successfully achieve their acceptance criteria, the stakeholders are reassured the development is progressing in the right direction.[5]
ProcessThe acceptance test suite may need to be performed multiple times, as all of the test cases may not be executed within a single test iteration.[6] The acceptance test suite is run using predefined acceptance test procedures to direct the testers which data to use, the step-by-step processes to follow and the expected result following execution. The actual results are retained for comparison with the expected results.[6] If the actual results match the expected results for each test case, the test case is said to pass. If the quantity of non-passing test cases does not breach the project's predetermined threshold, the test suite is said to pass. If it does, the system may either be rejected or accepted on conditions previously agreed between the sponsor and the manufacturer. The anticipated result of a successful test execution:
The objective is to provide confidence that the developed product meets both the functional and non-functional requirements. The purpose of conducting acceptance testing is that once completed, and provided the acceptance criteria are met, it is expected the sponsors will sign-off on the product development/enhancement as satisfying the defined requirements (previously agreed between business and product provider/developer). User acceptance testingUser acceptance testing (UAT) consists of a process of verifying that a solution works for the user.[7] It is not system testing (ensuring software does not crash and meets documented requirements), but rather ensures that the solution will work for the user (i.e., tests that the user accepts the solution); software vendors often refer to this as "Beta testing". This testing should be undertaken by a subject-matter expert (SME), preferably the owner or client of the solution under test, and provide a summary of the findings for confirmation to proceed after trial or review. In software development, UAT as one of the final stages of a project often occurs before a client or customer accepts the new system. Users of the system perform tests in line with what would occur in real-life scenarios.[8] It is important that the materials given to the tester be similar to the materials that the end user will have. Testers should be given real-life scenarios such as the three most common or difficult tasks that the users they represent will undertake.{{Citation needed|date=March 2015}} The UAT acts as a final verification of the required business functionality and proper functioning of the system, emulating real-world conditions on behalf of the paying client or a specific large customer. If the software works as required and without issues during normal use, one can reasonably extrapolate the same level of stability in production.[9] User tests, usually performed by clients or by end-users, do not normally focus on identifying simple cosmetic problems such as spelling errors, nor on showstopper defects, such as software crashes; testers and developers identify and fix these issues during earlier unit testing, integration testing, and system testing phases. UAT should be executed against test scenarios.{{Citation needed|date=December 2014}} Test scenarios usually differ from System or Functional test cases in that they represent a "player" or "user" journey. The broad nature of the test scenario ensures that the focus is on the journey and not on technical or system-specific details, staying away from "click-by-click" test steps to allow for a variance in users' behaviour. Test scenarios can be broken down into logical "days", which are usually where the actor (player/customer/operator) or system (backoffice, front end) changes.{{Citation needed|date=December 2014}} In industry, a common UAT is a factory acceptance test (FAT). This test takes place before installation of the equipment. Most of the time testers not only check that the equipment meets the specification, but also that it is fully functional. A FAT usually includes a check of completeness, a verification against contractual requirements, a proof of functionality (either by simulation or a conventional function test) and a final inspection.[10][11] The results of these tests give clients confidence in how the system will perform in production. There may also be legal or contractual requirements for acceptance of the system. Operational acceptance testingOperational acceptance testing (OAT) is used to conduct operational readiness (pre-release) of a product, service or system as part of a quality management system. OAT is a common type of non-functional software testing, used mainly in software development and software maintenance projects. This type of testing focuses on the operational readiness of the system to be supported, and/or to become part of the production environment. Acceptance testing in extreme programmingAcceptance testing is a term used in agile software development methodologies, particularly extreme programming, referring to the functional testing of a user story by the software development team during the implementation phase.[12] The customer specifies scenarios to test when a user story has been correctly implemented. A story can have one or many acceptance tests, whatever it takes to ensure the functionality works. Acceptance tests are black-box system tests. Each acceptance test represents some expected result from the system. Customers are responsible for verifying the correctness of the acceptance tests and reviewing test scores to decide which failed tests are of highest priority. Acceptance tests are also used as regression tests prior to a production release. A user story is not considered complete until it has passed its acceptance tests. This means that new acceptance tests must be created for each iteration or the development team will report zero progress.[13] {{Expand section|date=May 2008}}Types of acceptance testing{{unreferenced section|date=March 2015}}Typical types of acceptance testing include the following
This may include factory acceptance testing (FAT), i.e. the testing done by a vendor before the product or system is moved to its destination site, after which site acceptance testing (SAT) may be performed by the users at the site.[14]
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. Factory acceptance testingAcceptance testing conducted at the site at which the product is developed and performed by employees of the supplier organization, to determine whether or not a component or system satisfies the requirements, normally including hardware as well as software.[15]
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". List of acceptance-testing frameworks{{unreferenced section|date=March 2015}}
See also{{Portal|Software Testing}}
References1. ^{{cite book| last=Black | first=Rex | date=August 2009 | title= Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing | publisher=Hoboken, NJ: Wiley | isbn=0-470-40415-9}} 2. ^{{cite web |title=Standard Glossary of Terms used in Software Testing, Version 3.2: All Terms |url=https://www.istqb.org/downloads/send/20-istqb-glossary/186-glossary-all-terms.html |publisher=ISTQB |accessdate=20 February 2019 |format=PDF}} 3. ^{{Cite book|title=ISO/IEC/IEEE International Standard - Systems and software engineering|last=|first=|publisher=ISO/IEC/IEEE|year=2010|isbn=|location=|pages=vol., no., pp.1-418}} 4. ^1 2 {{cite book|publisher=ISO|date=2013|accessdate=2014-10-14|title=ISO/IEC/IEEE 29119-1-2013 Software and Systems Engineering - Software Testing - Part 1- Concepts and Definitions|url=http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=45142}} 5. ^ {{cite book| publisher=ISO| date=2013| accessdate=2014-10-14| title=ISO/IEC/IEEE DIS 29119-4 Software and Systems Engineering - Software Testing - Part 4- Test Techniques| url=http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=60245}} 6. ^1 {{cite book| publisher=ISO| date=2013| accessdate=2014-05-21| title=ISO/IEC/IEEE 29119-2-2013 Software and Systems Engineering - Software Testing - Part 2- Test Processes| url=http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=45142}} 7. ^{{cite book|last= Cimperman|first= Rob|title= UAT Defined: A Guide to Practical User Acceptance Testing|year= 2006|publisher= Pearson Education|isbn= 9780132702621|pages=Chapter 2}} 8. ^{{cite book|last= Goethem|first= Brian Hambling, Pauline van|title= User acceptance testing : a step-by-step guide|year= 2013|publisher= BCS Learning & Development Limited|isbn= 9781780171678}} 9. ^{{cite book|last=Pusuluri|first=Nageshwar Rao|title=Software Testing Concepts And Tools|year=2006|publisher=Dreamtech Press|isbn=9788177227123|page=62}} 10. ^{{cite web|url=http://www.tuv.com/en/corporate/business_customers/materials_testing_and_inspection/supply_chain_services/factory_acceptance_test/factory_acceptance_test.jsp |title=Factory Acceptance Test (FAT) |publisher=Tuv.com |date= |accessdate=September 18, 2012}} 11. ^{{cite web |url=http://www.inspection-for-industry.com/factory-acceptance-test.html |title=Factory Acceptance Test |publisher=Inspection-for-industry.com |accessdate=September 18, 2012}} 12. ^{{cite web|title=Introduction to Acceptance/Customer Tests as Requirements Artifacts|url=http://www.agilemodeling.com/artifacts/acceptanceTests.htm|work=agilemodeling.com|publisher=Agile Modeling|accessdate=9 December 2013}} 13. ^{{cite web|author=Don Wells |url=http://www.extremeprogramming.org/rules/functionaltests.html |title=Acceptance Tests |publisher=Extremeprogramming.org |date= |accessdate=September 20, 2011}} 14. ^{{cite news |last=Prasad |first=Durga |url=http://www.kneat.com/2012/03/29/the-difference-between-a-fat-and-a-sat/ |title=The Difference Between a FAT and a SAT |work=Kneat.com |date=2012-03-29 |accessdate=2016-07-27 }} 15. ^{{Cite web|url=http://glossar.german-testing-board.info/|title=ISTQB Standard glossary of terms used in Software Testing|last=|first=|date=|website=|archive-url=|archive-date=|dead-url=|access-date=15 March 2019}} Further reading
External links
3 : Software testing|Hardware testing|Procurement |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。