Operational Acceptance Testing Whitepaper
Operational Acceptance Testing Whitepaper
Whitepaper
operational
acceptance testing
Business continuity assurance
09
Puppet Labs
Application Owners
Code Analysis
Definition/ Objective Code Analysis is a tool based automated and/or manual analysis of the source code with respect to dedicated metrics and Installation Testing
quality indicators. This type of test is to ensure transparency about the maintainability and stability of software. Applying
correction and refactoring increases handling of incidents needing hot fixes with little effort in terms of regression testing as Definition/ Objective This test activity ensures that the application installs and de-installs correctly on all intended platforms and configurations.
possible. Objective is to ensure correctness, completeness and successful integration into system management functionality for follow-
ing : Installation, De-installation, Fallback, Upgrade, Patch.
Input Source code of implemented software.
Coding and architecture guidelines. Input Target systems with different configurations (e.g. created from a base image), as well as the specification of changes to the
Test Approach The task of the OAT tester is to do the following: operating system (e.g. registry entries), and a list of additional packages that need to be installed.
»» Selecting the relevant code and tool set-up Test Approach The following aspects must be checked to ensure correct installation and de-installation:
»» Executing code analysis »» The specified registry entries and number of files available need to be verified after the installation is finished.
»» Assessing results and thresholds concerning quality attributes »» The application must use disk space as specified in the documentation in order to avoid problems with insufficient space
»» Analyzing trends with respect to former analysis on the hard disk.
»» Performing benchmarking with respect to standards »» If applicable, the installation over old(er) version(s) must be tested as well the installer must correctly detect and remove
»» Deciding on acceptance or rejection or update old resources.
Delivery Model Waterfall Model - This type of OAT is handled as part of unit testing in the waterfall model. Fully coherent and necessary »» The occurrence of installation breaks has to be tested in each installer step, as well as breaks due to other system events
phase. (e.g. network failure, insufficient resources). The application and the operating system must be in a defined and consistent
Agile or Devops Model - This type of OAT as a principle is also carried forward to Agile or Devops model. Static analysis is a state after every installation break possible.
quality technique where an automated tool checks for defects in the code, often looking for types of problems such as securi- »» Shared resources may have to be installed or updated during installation, and while these processes are performed,
ty defects or coding style issues (to name a few). An accelerator developed within Atos for this purpose is CAST tooling is used conflicts with other applications must be avoided. In terms of uninstallation, the system should be cleaned from shared
for code inspection, assigning mixed teams to increase the bandwidth at transition points (e.g. developers involved in testing, resources that are not used any more. This will result in higher performance and increased security for the whole system.
testers with operations go-live), agile, lean and integrated methods (devops, agile testing), continuous innovation and transfor- »» Since the installation routine is an integral part of the application and a potentially complicated software process, it is sub-
mation of the IT and process landscape, systematic capture of knowledge and systematic reuse of solutions across domains. ject to the regulations of ISO 25010.
Risk of Not Executing High risk of side effects besides functionality defects Delivery Model Waterfall Model - This type of OAT is poorly handled due to the handing over process from a previous phase to the next. Each
Greater effort required in regression and Rehearsal testing phase is executed with a set team. Nevertheless it is part of the process followed in this model.
Agile or Devops Model - This type of OAT is usually well covered in this model due to the team collaboration and clarity of
requirements. Continuous deployment and testing are highly adhered as part of this type of testing.
Risk of Not Executing May result in conflicts with other applications
Compromise or even broken systems
Low user acceptance even-though the software itself has been tested successfully and works as designed.
Number of manual effort, cost and conflicts in larger systems
Operational Acceptance Testing 8 9 Operational Acceptance Testing
Framework / Platform Upgrade Testing Load / Performance Testing
Definition / Objective This type of testing comprises test activities that ensure successful exchange or upgrade of central components like run time Definition / Objective Performance testing is a technique used to ascertain the parameters of the asset in terms of responsiveness, effectiveness
environments, database systems or standard software versions. and stability under various workloads. This process involves quantitative tests performed to measure and report on the load,
Objective is to obtain proof of correct functionality, sufficient performance or fulfillment or other quality requirements. stress, endurance, volume and capacity threshold limits of the asset. Performance testing measures the quality attributes of
the system, such as scalability, capacity and resource utilization.
Input IBR (Infrastructure Blue prints)
Functionality in chain that needs regression testing Input All prerequisites to implementation. Few examples are:
IBR (Infrastructure Blue prints)
Test Approach 2 possible approaches for introducing central components: Architecture Overview
»» The first approach would be to set up central components as productive within the development system, i.e. central Application production manual highlighting the measures.
components would move parallel to the application software along the test stages towards a release date according to a Requirements for Performance and Load
common release plan. Testing would start implicitly with developer tests.
»» The second approach would be to test changing a central component in a production-like maintenance landscape. In this Test Approach »» Collecting test requirements from an operational point of view
case, a dedicated regression test would be performed parallel to production. Central components would be released for »» Integrating requirements into the Performance/Load model
both operation and development. »» Preparing the test environment and test data
»» Based on the approach the steps would be : »» Executing and analyzing the test
1. Deriving relevant applications from impact analysis »» Defining mitigation scenarios for performance risks
2. Selecting regression tests on the basis of risk assessment »» Deciding on acceptance or rejection
3. Performing regression tests (including job processing) Delivery Model Waterfall Model - Development life cycle times in waterfall model are slow. Performance testing is usually started very late
–– Parallel to development in this life cycle and the test engineers face the pressure of finishing on time. Another performance related issue is reliably
–– In a dedicated maintenance environment using data from a limited nonproduction environment to precisely predict how the system can perform in a more robust
4. Deciding on acceptance or rejection environment.
Delivery Model Waterfall Model - This type of OAT is followed in this model. The main drawback is the integration across teams. Usually this Agile or Devops Model - Agile development breaks through the barriers of traditional waterfall model to software develop-
type of testing needs test strategy to cover the various requirements to be testing in the old and new platform. Often this is a ment to provide better value faster and improve the ROI (return on investment). Performance testing that usually takes place
slow process in waterfall methodology. at the end of the lifecycle in a waterfall model will move to the beginning in an Agile methodology, including the analysis and
Agile or Devops Model - This type of OAT is followed in this model. The main advantage is the integration across teams. designing.
Usually this type of testing needs test strategy to cover the various requirements to be testing in the old and new platform. At The performance of an application is directly proportional to its design and hence should be addressed at an early stage of
times multiple scrum teams can be setup to cover the requirement of testing across platforms. the development lifecycle. Performance testing is considered throughout the Agile process that is from the release planning
stage onwards.
Risk of Not Executing Incompatible software platform
System downtimes Risk of Not Executing Performance issues many go unnoticed after going live
Non-functional issues affecting business continuity Business continuity interruption
Missing fallbacks SLA/OLA adherence hampered
Data defects
Very crucial for Multi-vendor environment and cloud computing
Security testing
Framework/ Platform
upgrade testing
2000s The Internet Mobile, Social,
Backup & 1970-80s Mainframe 1990s Client/Server
1990s Client/Server 2010s
Restore testing Bid Data & Cloud
Rehearsal testing
Failover testing
Recovery testing
SLA/OLA
monitoring test
Some of the research done in this area has
Quality led to the following evolutions and standards
OAT-QG1
OAT-QG2
OAT-QG3
OAT-QG4
OAT-QG5
Gates:
to cope with the above mentioned require-
ments.
S
GP
Support Support Support Support
Network
net G/4G Wireless
WiFi/3
ernet Bridge Service Management Center
Testing
th
LTE/E
4G
/3G/
iFi t Bridge Support & Development - Architecture & Tooling
W ne
her
/Et
E Performance &
LT Paladin Suite EDPP Bridge Infra VPC/VDI
Military Radio Capacity Management Deployment
Radio w/PIT Development Development
Management
Data Testing on SmartPhone, Tablet, or PC
(TCP, UDP, HTTP, VoIP, FTP, DNS, SMS, Email)
Atos, the Atos logo, Atos Consulting, Atos Worldgrid, Worldline, BlueKiwi, Bull, Canopy the Open Cloud Company, Unify, Yunano, Zero Email, Zero Email Certified and
atos.net The Zero Email Company are registered trademarks of the Atos group. June 2016 © 2016 Atos