SlideShare a Scribd company logo
1 of 22
How to Build a Proper Software Staging
Environment for Testing
MIND CTI Ltd

Andrei Hrisca
QA-Testing Group Leader

November 2013
Agenda

Topic
What is a staging environment?
Why do we need this? Who is the beneficiary?
How do we build it?

How to Build a Proper Software Staging Environment for Testing

Slide 4 of 22
What is a
staging
environment?
What is a staging environment?
Typical types of environments (from purpose point of view):
 Development environment


The software is developed

 Testing environment


The developed software is internally tested

 User acceptance testing (UAT) environment


The software is tested with or by customer

 Staging environment (pre-production)


after QA and customer sign-off and before operations sign-off



“dress rehearsal of deployment”

 Production environment

How to Build a Proper Software Staging Environment for Testing

Slide 6 of 22
It doesn’t
work.
I need help!

Why do we need it?

It’s working
on my
machine

Who is the
beneficiary?
Why do we need it? Who is the beneficiary?
Production environment

Production environment

Staging environment (must be)

Staging environment (must be)

UAT environment (should be)

UAT environment (must be)

What if?....
Testing environment (might be)

Testing environment (must be)

Development environment (nice to have)

Development environment (must be)

How to Build a Proper Software Staging Environment for Testing

Slide 8 of 22
How do we build it?
How do we build it?

 Assess the scope
 Estimate the appropriate sizing
 Choose the methods and tools
 Set up working procedures

How to Build a Proper Software Staging Environment for Testing

Slide 10 of 22
How do we build it?
 Assess the scope



Building staging environments for testing and development
Main capabilities:
 Easy to maintain

 Minimal costs

 Portability: clone them “as it is” with minimal manual intervention

 Ability to replicate them “on demand”, several times in a reasonable time

 Ability to roll back to the initial stage

How to Build a Proper Software Staging Environment for Testing

Slide 11 of 22
How do we build it?

 Assess the scope
 Estimate the appropriate sizing
 Choose the methods and tools
 Set up working procedures

How to Build a Proper Software Staging Environment for Testing

Slide 12 of 22
How do we build it?
 Estimate the appropriate sizing:


How many projects (ongoing or upcoming)



How many versions



How many machines per environment

 Sample:
QA - Testing
Projects:

Development

10 x

10 x

5x

Versions:
Servers:
(10 x 2 x 3)

+
= 105

(10 x 1 x 3)

How to Build a Proper Software Staging Environment for Testing

+

(5 x 1 x 3)

Slide 13 of 22
How do we build it?

 Assess the scope
 Estimate the appropriate sizing
 Choose the methods and tools
 Set up working procedures

How to Build a Proper Software Staging Environment for Testing

Slide 14 of 22
How do we build it?
 Choose the tools and methods


Why Virtualization
 Reduce power consumption
 Increased reliability

 Reduce data center footprint
 Better /automatic resource management
 Reduce hardware vendor ‘locks’
 Easy to migrate in cloud

vs.

How to Build a Proper Software Staging Environment for Testing

Slide 15 of 22
How do we build it?


Hardware requirements
 How many physical servers

• 16 cores, 128 GB RAM can support 25 VM
• building them incrementally
 Resource allocation

• CPU vs. RAM
• I/O bottleneck (use dedicated storage)
• Network capacity (separate adapter for management)
 Scalability

• solve performance issues by hardware upgrade

How to Build a Proper Software Staging Environment for Testing

Slide 16 of 22
How do we build it?


Hypervisors

Type 1

vs.

Hypervisor

Type 2

Hypervisor
Host OS



Type 1 (bare-metal)







VMWare ESX
Microsoft Hyper – V Server
Citrix Xen Server
Oracle VM Server

Type 2 (hosted)





VMWare Player
Microsoft Virtual PC
Oracle VirtualBox
KVM (open source)

How to Build a Proper Software Staging Environment for Testing

Slide 17 of 22
How do we build it?

 Assess the scope
 Estimate the appropriate sizing
 Choose the methods and tools
 Set up working procedures

How to Build a Proper Software Staging Environment for Testing

Slide 18 of 22
How do we build it?
 Set up working procedures


Export / Import the production environment
 Sanitization
 Identify and eliminate unnecessary data



Duplicate and distribute the environment
 Snapshots
 Automatic upgrade following iterative development

How to Build a Proper Software Staging Environment for Testing

Slide 19 of 22
How do we build it?


Duplicate and distribute the environment
 Linked clones

Linked clone:

Classic clone:

 Network isolation
10.0.2.2
10.0.2.1

10.0.2.2
10.0.2.1

10.0.2.3

192.168.0.3

– 0.5

192.168.0.6

10.0.2.3

– 0.8

192.168.0.2

How to Build a Proper Software Staging Environment for Testing

Slide 20 of 22
Conclusions


Developers will be able to easily reproduce most
of the bugs



Testers will not spend time to reproduce complex
bugs and validate the solutions for them



Customer will get a quality product with less

defects

How to Build a Proper Software Staging Environment for Testing

Slide 21 of 22
Thank you!

Keep us in mind!

www.mindcti.com

sales@mindcti.com

More Related Content

What's hot

Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practicesmh_azad
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to SwaggerKnoldus Inc.
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJSAll Things Open
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practicesnickokiss
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScriptNascenia IT
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring BootVincent Kok
 
Introduction to django
Introduction to djangoIntroduction to django
Introduction to djangoIlian Iliev
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript IntroductionDmitry Sheiko
 
Practical Malware Analysis Ch13
Practical Malware Analysis Ch13Practical Malware Analysis Ch13
Practical Malware Analysis Ch13Sam Bowne
 

What's hot (20)

Google Hacking 101
Google Hacking 101Google Hacking 101
Google Hacking 101
 
Coding Best Practices
Coding Best PracticesCoding Best Practices
Coding Best Practices
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJS
 
Unit testing best practices
Unit testing best practicesUnit testing best practices
Unit testing best practices
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring Boot
 
Introduction to django
Introduction to djangoIntroduction to django
Introduction to django
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
TypeScript Introduction
TypeScript IntroductionTypeScript Introduction
TypeScript Introduction
 
Code review
Code reviewCode review
Code review
 
Notes on Debugging
Notes on DebuggingNotes on Debugging
Notes on Debugging
 
Code Smells
Code SmellsCode Smells
Code Smells
 
React and redux
React and reduxReact and redux
React and redux
 
Practical Malware Analysis Ch13
Practical Malware Analysis Ch13Practical Malware Analysis Ch13
Practical Malware Analysis Ch13
 
Sonar Overview
Sonar OverviewSonar Overview
Sonar Overview
 
React render props
React render propsReact render props
React render props
 

Viewers also liked

5 Essentials for Simplifiied Release Management and Continuous Delivery
5 Essentials for Simplifiied Release Management and Continuous Delivery5 Essentials for Simplifiied Release Management and Continuous Delivery
5 Essentials for Simplifiied Release Management and Continuous DeliverySalesforce Developers
 
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)Mark Hamstra
 
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Phase2
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Amazon Web Services
 
R2integrated Talk For Wit
R2integrated Talk For WitR2integrated Talk For Wit
R2integrated Talk For WitSpeakerBox
 
Jonah Paransky, StackSafe
Jonah Paransky, StackSafeJonah Paransky, StackSafe
Jonah Paransky, StackSafeSpeakerBox
 
Multi-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with GitMulti-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with Gitdopejam
 
Next Step for Virtualization: Pre-production Testing
Next Step for Virtualization: Pre-production TestingNext Step for Virtualization: Pre-production Testing
Next Step for Virtualization: Pre-production Testingstacksafe
 
Software Defined Environment - In one click get the Dev/QA/Staging Environment
Software Defined Environment - In one click get the Dev/QA/Staging EnvironmentSoftware Defined Environment - In one click get the Dev/QA/Staging Environment
Software Defined Environment - In one click get the Dev/QA/Staging EnvironmentVenu Murthy
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014Steve Smith
 
Software test management overview for managers
Software test management overview for managersSoftware test management overview for managers
Software test management overview for managersTJamesLeDoux
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & PracticesThyagarajan Krishnan
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...Jérôme Petazzoni
 
Best Practices for Getting Started with AWS
Best Practices for Getting Started with AWSBest Practices for Getting Started with AWS
Best Practices for Getting Started with AWSAmazon Web Services
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release ManagementMichael Degnan
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part ISergey Aganezov
 
Environments management - A Critical Support Function
Environments management - A Critical Support FunctionEnvironments management - A Critical Support Function
Environments management - A Critical Support FunctionThyagarajan Krishnan
 

Viewers also liked (18)

5 Essentials for Simplifiied Release Management and Continuous Delivery
5 Essentials for Simplifiied Release Management and Continuous Delivery5 Essentials for Simplifiied Release Management and Continuous Delivery
5 Essentials for Simplifiied Release Management and Continuous Delivery
 
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
 
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
R2integrated Talk For Wit
R2integrated Talk For WitR2integrated Talk For Wit
R2integrated Talk For Wit
 
Jonah Paransky, StackSafe
Jonah Paransky, StackSafeJonah Paransky, StackSafe
Jonah Paransky, StackSafe
 
Multi-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with GitMulti-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with Git
 
CI
CICI
CI
 
Next Step for Virtualization: Pre-production Testing
Next Step for Virtualization: Pre-production TestingNext Step for Virtualization: Pre-production Testing
Next Step for Virtualization: Pre-production Testing
 
Software Defined Environment - In one click get the Dev/QA/Staging Environment
Software Defined Environment - In one click get the Dev/QA/Staging EnvironmentSoftware Defined Environment - In one click get the Dev/QA/Staging Environment
Software Defined Environment - In one click get the Dev/QA/Staging Environment
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014
 
Software test management overview for managers
Software test management overview for managersSoftware test management overview for managers
Software test management overview for managers
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & Practices
 
From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...From development environments to production deployments with Docker, Compose,...
From development environments to production deployments with Docker, Compose,...
 
Best Practices for Getting Started with AWS
Best Practices for Getting Started with AWSBest Practices for Getting Started with AWS
Best Practices for Getting Started with AWS
 
Effective Software Release Management
Effective Software Release ManagementEffective Software Release Management
Effective Software Release Management
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
 
Environments management - A Critical Support Function
Environments management - A Critical Support FunctionEnvironments management - A Critical Support Function
Environments management - A Critical Support Function
 

Similar to How to build a proper software staging environment for testing

Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous DeliveryRobert Mircea
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 AppsIwan Rahabok
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsChris Bailey
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryNetcetera
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareJustin Basilico
 
Machine programming
Machine programmingMachine programming
Machine programmingDESMOND YUEN
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Susan Yoskin
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...MLconf
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conferenceQualiQuali
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Mozaic Works
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsLinards Liep
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopWajih Aslam
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Louis Göhl
 
Test driven development
Test driven developmentTest driven development
Test driven developmentlukaszkujawa
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio worldCodecamp Romania
 
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...DevOps for Enterprise Systems
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQMIBM Rational
 

Similar to How to build a proper software staging environment for testing (20)

Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous Delivery
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 Apps
 
WebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic ToolsWebSphere Technical University: Introduction to the Java Diagnostic Tools
WebSphere Technical University: Introduction to the Java Diagnostic Tools
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Recommendations for Building Machine Learning Software
Recommendations for Building Machine Learning SoftwareRecommendations for Building Machine Learning Software
Recommendations for Building Machine Learning Software
 
Designing virtual infrastructure
Designing virtual infrastructureDesigning virtual infrastructure
Designing virtual infrastructure
 
Machine programming
Machine programmingMachine programming
Machine programming
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
 
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
 
2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference2016 quali continuous testing quest for quality conference
2016 quali continuous testing quest for quality conference
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 

More from TestCampRO

Cristian Creanga It's all about... helping our clients
Cristian Creanga   It's all about... helping our clientsCristian Creanga   It's all about... helping our clients
Cristian Creanga It's all about... helping our clientsTestCampRO
 
Test management challenges
Test management challengesTest management challenges
Test management challengesTestCampRO
 
Writing quick and beautiful automation code
Writing quick and beautiful automation codeWriting quick and beautiful automation code
Writing quick and beautiful automation codeTestCampRO
 
Testing world seen through the thick lens of a business analyst
Testing world seen through the thick lens of a business analyst Testing world seen through the thick lens of a business analyst
Testing world seen through the thick lens of a business analyst TestCampRO
 
Testing. Quality. Customer
Testing. Quality. CustomerTesting. Quality. Customer
Testing. Quality. CustomerTestCampRO
 
It pays to be positive
It pays to be positiveIt pays to be positive
It pays to be positiveTestCampRO
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingTestCampRO
 
Software testing expert evangelization
Software testing expert evangelizationSoftware testing expert evangelization
Software testing expert evangelizationTestCampRO
 
Prepare your case: key steps to a successful presentation
Prepare your case: key steps to a successful presentationPrepare your case: key steps to a successful presentation
Prepare your case: key steps to a successful presentationTestCampRO
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration TestCampRO
 
Life Time Testing
Life Time TestingLife Time Testing
Life Time TestingTestCampRO
 
Distributed load testing (Local vs Cloud)
Distributed load testing (Local vs Cloud)Distributed load testing (Local vs Cloud)
Distributed load testing (Local vs Cloud)TestCampRO
 
First steps in becoming a better tester
First steps in becoming a better testerFirst steps in becoming a better tester
First steps in becoming a better testerTestCampRO
 
Automation framework
Automation frameworkAutomation framework
Automation frameworkTestCampRO
 
Agile requirements engineering
Agile requirements engineeringAgile requirements engineering
Agile requirements engineeringTestCampRO
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointTestCampRO
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingTestCampRO
 

More from TestCampRO (17)

Cristian Creanga It's all about... helping our clients
Cristian Creanga   It's all about... helping our clientsCristian Creanga   It's all about... helping our clients
Cristian Creanga It's all about... helping our clients
 
Test management challenges
Test management challengesTest management challenges
Test management challenges
 
Writing quick and beautiful automation code
Writing quick and beautiful automation codeWriting quick and beautiful automation code
Writing quick and beautiful automation code
 
Testing world seen through the thick lens of a business analyst
Testing world seen through the thick lens of a business analyst Testing world seen through the thick lens of a business analyst
Testing world seen through the thick lens of a business analyst
 
Testing. Quality. Customer
Testing. Quality. CustomerTesting. Quality. Customer
Testing. Quality. Customer
 
It pays to be positive
It pays to be positiveIt pays to be positive
It pays to be positive
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profiling
 
Software testing expert evangelization
Software testing expert evangelizationSoftware testing expert evangelization
Software testing expert evangelization
 
Prepare your case: key steps to a successful presentation
Prepare your case: key steps to a successful presentationPrepare your case: key steps to a successful presentation
Prepare your case: key steps to a successful presentation
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
 
Life Time Testing
Life Time TestingLife Time Testing
Life Time Testing
 
Distributed load testing (Local vs Cloud)
Distributed load testing (Local vs Cloud)Distributed load testing (Local vs Cloud)
Distributed load testing (Local vs Cloud)
 
First steps in becoming a better tester
First steps in becoming a better testerFirst steps in becoming a better tester
First steps in becoming a better tester
 
Automation framework
Automation frameworkAutomation framework
Automation framework
 
Agile requirements engineering
Agile requirements engineeringAgile requirements engineering
Agile requirements engineering
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with Sharepoint
 
Performance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profilingPerformance testing for web applications – techniques, metrics and profiling
Performance testing for web applications – techniques, metrics and profiling
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

How to build a proper software staging environment for testing

  • 1.
  • 2.
  • 3. How to Build a Proper Software Staging Environment for Testing MIND CTI Ltd Andrei Hrisca QA-Testing Group Leader November 2013
  • 4. Agenda Topic What is a staging environment? Why do we need this? Who is the beneficiary? How do we build it? How to Build a Proper Software Staging Environment for Testing Slide 4 of 22
  • 6. What is a staging environment? Typical types of environments (from purpose point of view):  Development environment  The software is developed  Testing environment  The developed software is internally tested  User acceptance testing (UAT) environment  The software is tested with or by customer  Staging environment (pre-production)  after QA and customer sign-off and before operations sign-off  “dress rehearsal of deployment”  Production environment How to Build a Proper Software Staging Environment for Testing Slide 6 of 22
  • 7. It doesn’t work. I need help! Why do we need it? It’s working on my machine Who is the beneficiary?
  • 8. Why do we need it? Who is the beneficiary? Production environment Production environment Staging environment (must be) Staging environment (must be) UAT environment (should be) UAT environment (must be) What if?.... Testing environment (might be) Testing environment (must be) Development environment (nice to have) Development environment (must be) How to Build a Proper Software Staging Environment for Testing Slide 8 of 22
  • 9. How do we build it?
  • 10. How do we build it?  Assess the scope  Estimate the appropriate sizing  Choose the methods and tools  Set up working procedures How to Build a Proper Software Staging Environment for Testing Slide 10 of 22
  • 11. How do we build it?  Assess the scope   Building staging environments for testing and development Main capabilities:  Easy to maintain  Minimal costs  Portability: clone them “as it is” with minimal manual intervention  Ability to replicate them “on demand”, several times in a reasonable time  Ability to roll back to the initial stage How to Build a Proper Software Staging Environment for Testing Slide 11 of 22
  • 12. How do we build it?  Assess the scope  Estimate the appropriate sizing  Choose the methods and tools  Set up working procedures How to Build a Proper Software Staging Environment for Testing Slide 12 of 22
  • 13. How do we build it?  Estimate the appropriate sizing:  How many projects (ongoing or upcoming)  How many versions  How many machines per environment  Sample: QA - Testing Projects: Development 10 x 10 x 5x Versions: Servers: (10 x 2 x 3) + = 105 (10 x 1 x 3) How to Build a Proper Software Staging Environment for Testing + (5 x 1 x 3) Slide 13 of 22
  • 14. How do we build it?  Assess the scope  Estimate the appropriate sizing  Choose the methods and tools  Set up working procedures How to Build a Proper Software Staging Environment for Testing Slide 14 of 22
  • 15. How do we build it?  Choose the tools and methods  Why Virtualization  Reduce power consumption  Increased reliability  Reduce data center footprint  Better /automatic resource management  Reduce hardware vendor ‘locks’  Easy to migrate in cloud vs. How to Build a Proper Software Staging Environment for Testing Slide 15 of 22
  • 16. How do we build it?  Hardware requirements  How many physical servers • 16 cores, 128 GB RAM can support 25 VM • building them incrementally  Resource allocation • CPU vs. RAM • I/O bottleneck (use dedicated storage) • Network capacity (separate adapter for management)  Scalability • solve performance issues by hardware upgrade How to Build a Proper Software Staging Environment for Testing Slide 16 of 22
  • 17. How do we build it?  Hypervisors Type 1 vs. Hypervisor Type 2 Hypervisor Host OS  Type 1 (bare-metal)      VMWare ESX Microsoft Hyper – V Server Citrix Xen Server Oracle VM Server Type 2 (hosted)     VMWare Player Microsoft Virtual PC Oracle VirtualBox KVM (open source) How to Build a Proper Software Staging Environment for Testing Slide 17 of 22
  • 18. How do we build it?  Assess the scope  Estimate the appropriate sizing  Choose the methods and tools  Set up working procedures How to Build a Proper Software Staging Environment for Testing Slide 18 of 22
  • 19. How do we build it?  Set up working procedures  Export / Import the production environment  Sanitization  Identify and eliminate unnecessary data  Duplicate and distribute the environment  Snapshots  Automatic upgrade following iterative development How to Build a Proper Software Staging Environment for Testing Slide 19 of 22
  • 20. How do we build it?  Duplicate and distribute the environment  Linked clones Linked clone: Classic clone:  Network isolation 10.0.2.2 10.0.2.1 10.0.2.2 10.0.2.1 10.0.2.3 192.168.0.3 – 0.5 192.168.0.6 10.0.2.3 – 0.8 192.168.0.2 How to Build a Proper Software Staging Environment for Testing Slide 20 of 22
  • 21. Conclusions  Developers will be able to easily reproduce most of the bugs  Testers will not spend time to reproduce complex bugs and validate the solutions for them  Customer will get a quality product with less defects How to Build a Proper Software Staging Environment for Testing Slide 21 of 22
  • 22. Thank you! Keep us in mind! www.mindcti.com sales@mindcti.com