Operational acceptance testing: Difference between revisions

Content deleted Content added
No edit summary
 
(43 intermediate revisions by 30 users not shown)
Line 1:
[[File:US Navy 070804-N-1745W-122 A Sailor assigned to Aircraft Intermediate Maintenance Department (AIMD) tests an aircraft jet engine for defects while performing Jet Engine Test Instrumentation, (JETI) Certification-Engine Runs.jpg|right|thumb|250px|Operational testing a jet engine]]
{{Inappropriate tone|date=October 2010}}
'''Operational Acceptance Testing (OAT)''' is a new type of [[testing]] in the market. This is nowadays in very much demand in [[support]] and [[maintenance]] type projects. In this type of testing we only concentrate about the [[operational readiness]] of the system which would be supported or become the [[production environment]] later. Hence, it is also known as operational readiness testing. '''The [[functional testing]] of application should not be included or merged in OAT'''. This may include checking the backup facilities, maintenance and [[disaster recovery]] procedures. In OAT we play with those environmental things which our application uses to run smoothly. For a mixed/ hybrid architecture application, this may include: [[window services]], [[config file]]s, [[web services]], [[XML file]]s, [[COM+]] components, web services, [[IIS]], stored procedures in databases, etc. This type of testing should be conducted before the user acceptance testing.
The approach to be used in OAT is:
# Build the system,
# Deploy the application,
# Supportability of the system.
# Validate the [[backup procedure]]s setup for system
 
'''Operational 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. Hence, it is also known as '''operational readiness testing''' ('''ORT''') or '''operations readiness and assurance testing''' ('''OR&A'''). [[Functional testing]] within OAT is limited to those tests which are required to verify the ''non-functional'' aspects of the system.
Then check how our application is behaving and moreover how our system is behaving in these conditions? Are the backup procedures setup for [[emergency situation]] working properly?
 
OAT elaborates upon and compartmentalises operational aspects of acceptance testing.<ref>{{Cite web |title=atos-operational-acceptance-testing-whitepaper.pdf |url=https://atos.net/wp-content/uploads/2017/01/atos-operational-acceptance-testing-whitepaper.pdf }}</ref>
For running the OAT [[test case]]s, the tester should have exclusive access to the system/ environment. This means that a single tester would be executing the test cases at a single point of time. Here breaking the system means; making the application dependent things (listed above) inaccessible to the application. Like, stopping the window services, deleting the SP in databases, taking the DB off-line and then access the system/application. So, this clearly indicates that this is a destructive type of testing.
 
According to the International Software Testing Qualifications Board (ISTQB), OAT may include checking the [[backup]]/restore facilities, IT [[IT disaster recovery|disaster recovery]] procedures, maintenance tasks and periodic check of security vulnerabilities.,<ref>ISTQB http://istqbexamcertification.com/what-is-acceptance-testing/</ref> and whitepapers on ISO 29119 and Operational Acceptance by Anthony Woods,<ref name="ISO 29119 OAT">{{cite document|author=Anthony Woods|title=Operational Acceptance - an application of the ISO 29119 Software Testing standard|date=2015|publisher=Capgemini and Sogeti|pages=1–12}}</ref> and ISO 25000 and Operational Acceptance Testing by Dirk Dach et al., OAT generally includes:<ref>White Paper: Operational Acceptance Testing, Business Continuity Assurance. December 2012 Dirk Dach, Dr Kai-Uwe Gawlik, Mark Mevert</ref>
For OAT we should define the exact OR quality gates; Entry and Exit Gate. This should list down all the activities which would be part and covered in the different phases of testing. The main emphasis should be on the operational part of the system.
 
{{Uncategorized|date=October 2010}}
* Component Testing
* Failover (Within the same data centre)
:* Component fail-over
:* Network fail-over
* Functional Stability
:* Accessibility
:* Conversion
:* Stability
:* Usability
* IT Service Management (Supportability)
* Monitoring and Alerts (to ensure proper alerts are configured in the system if something goes wrong)
* Portability
:* Compatibility
:* Interoperability
:* Installation and Backout
:* Localization
* Recovery (across data centres)
:* Application/system recovery
:* Data recovery
* Reliability
:* Backup and Restoration (Recovery)
:* Disaster Recovery
:* Maintainability
:* Performance, Stress and Volume,
:* Procedures (Operability) and Supporting Documentation (Supportability)
:* Security and Penetration
 
During OAT changes may be made to environmental parameters which the application uses to run smoothly. For example, with [[Microsoft Windows]] applications with a mixed or hybrid architecture, this may include: [[Windows service]]s, [[configuration file]]s, [[web services]], [[XML]] files, [[COM+]] components, web services, [[Internet Information Services|IIS]], stored procedures in databases, etc. Typically OAT should occur after each main phase of the development life cycle: design, build, and [[functional testing]]. In sequential projects it is often viewed as a ''final'' verification before a system is released; where in agile and iterative projects, a more frequent execution of OAT occurs providing stakeholders with assurance of continued stability of the system and its operating environment.
 
TheAn approach to be used in OAT ismay follow these steps:
* Design the system,
* Assess the design,
#* Build the system,
* Confirm if built to design,
* Evaluate the system addresses business functional requirements,
* Assess the system for compliance with non-functional requirements,
#* Deploy the applicationsystem,
* Assess operability and supportability of the system.
 
For running the OAT [[test case (software)|test case]]s, the tester shouldnormally havehas exclusive access to the system/ or environment. This means that a single tester would be executing the test cases at a single point of time. HereFor breakingOAT the systemexact means;'''Operational makingReadiness''' thequality applicationgates dependentare thingsdefined: (listedboth above)entry inaccessibleand toexit the applicationgates. Like,The stoppingprimary theemphasis windowof services,OAT should be deletingon the SPoperational in databasesstability, taking the DB off-lineportability and thenreliability accessof the system/application. So, this clearly indicates that this is a destructive type of testing.
 
==References==
{{reflist}}
 
[[Category:Software testing]]