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

Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
KMS Technology
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
James Sutter
 

What's hot (20)

Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Agility and planning : tools and processes
Agility and planning  : tools and processesAgility and planning  : tools and processes
Agility and planning : tools and processes
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deployment
 
Scrum In Ten Slides
Scrum In Ten SlidesScrum In Ten Slides
Scrum In Ten Slides
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
User acceptance testing checklist (uat)
User acceptance testing checklist (uat)User acceptance testing checklist (uat)
User acceptance testing checklist (uat)
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Test Strategy and Planning
Test Strategy and PlanningTest Strategy and Planning
Test Strategy and Planning
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Agile & Open Unified Processes
Agile & Open Unified ProcessesAgile & Open Unified Processes
Agile & Open Unified Processes
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Software Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality ManagementSoftware Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality Management
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD intro
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 

Viewers also liked

R2integrated Talk For Wit
R2integrated Talk For WitR2integrated Talk For Wit
R2integrated Talk For Wit
SpeakerBox
 
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
stacksafe
 
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
Venu Murthy
 

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

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
QualiQuali
 
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 development
lukaszkujawa
 

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 clients
TestCampRO
 
Test management challenges
Test management challengesTest management challenges
Test management challenges
TestCampRO
 
Writing quick and beautiful automation code
Writing quick and beautiful automation codeWriting quick and beautiful automation code
Writing quick and beautiful automation code
TestCampRO
 
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. Customer
TestCampRO
 
It pays to be positive
It pays to be positiveIt pays to be positive
It pays to be positive
TestCampRO
 
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
TestCampRO
 
Software testing expert evangelization
Software testing expert evangelizationSoftware testing expert evangelization
Software testing expert evangelization
TestCampRO
 
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
TestCampRO
 
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 Testing
TestCampRO
 
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 tester
TestCampRO
 
Automation framework
Automation frameworkAutomation framework
Automation framework
TestCampRO
 
Agile requirements engineering
Agile requirements engineeringAgile requirements engineering
Agile requirements engineering
TestCampRO
 
V Greavu - Testing with Sharepoint
V Greavu - Testing with SharepointV Greavu - Testing with Sharepoint
V Greavu - Testing with Sharepoint
TestCampRO
 
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
TestCampRO
 

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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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