SlideShare a Scribd company logo
1 of 30
Download to read offline
Chmouel Boudjnah!
OpenStack in Action // Spring 2014
The art of Software testing in OpenStack
Chmouel Boudjnah - @chmouel - eNovance
Chmouel Boudjnah - @chmouel - eNovance
About me
Chmouel Boudjnah - @chmouel - eNovance
About this session
Chmouel Boudjnah - @chmouel - eNovance
Software Testing
overview
Chmouel Boudjnah - @chmouel - eNovance
• Unit Testing
• Integration Testing
• Performance Testing
• Scalability Testing.
Different type of Testing
Chmouel Boudjnah - @chmouel - eNovance
• Pentesting
• Usability Testing
• Regression Testing
• Compatibility Testing.
More testing
Chmouel Boudjnah - @chmouel - eNovance
Methodologies
Chmouel Boudjnah - @chmouel - eNovance
• Code a bit the test.
• Start a bit of coding.
• Make the test pass.
• Repeat until the feature is implemented.
TDD
Chmouel Boudjnah - @chmouel - eNovance
• Business Driven Development
Introducing BDD
Chmouel Boudjnah - @chmouel - eNovance
• Business Driven Development
• Behaviour Driven Development
Introducing BDD
Chmouel Boudjnah - @chmouel - eNovance
• Business Driven Development
• Behaviour Driven Development
• BS Driven Development (i.e: Vaporware)
Introducing BDD
Chmouel Boudjnah - @chmouel - eNovance
• Business Driven Development
• Behaviour Driven Development
• BS Driven Development
• Some people get it confused with “Bourrinage
Driven Development”
Introducing BDD
Chmouel Boudjnah - @chmouel - eNovance
Methodology
“You shall not pass a commit before each iterations has been
fully tested”
Chmouel Boudjnah - @chmouel - eNovance
Unit Testing
Chmouel Boudjnah - @chmouel - eNovance
The five year old technology mashup.
Chmouel Boudjnah - @chmouel - eNovance
The five year old technology mashup.
"well it is just like when you turn the wheel before we
are going on a ride you test that it turns properly
before actually riding it. If it didn’t turn then that means
I may going to have a crash and have a big bobo.”
Noah Boudjnah
Chmouel Boudjnah - @chmouel - eNovance
• Swift 2371 unit tests
• Ceilometer 2583
• Heat 2710
• Keystone 3216
• Nova 10653
In OpenStack
Chmouel Boudjnah - @chmouel - eNovance
• Mostly for code styling
• flake8 for pep8 and common
errors
• Openstack hacking
Static code analysis.
Chmouel Boudjnah - @chmouel - eNovance
Tooling and Libraries
Chmouel Boudjnah - @chmouel - eNovance
Devstack
Chmouel Boudjnah - @chmouel - eNovance
• tox
• pbr
• testrunner
• coverage
Tools
Chmouel Boudjnah - @chmouel - eNovance
• testtools
• mock
• httppretty
• six
Libraries
Chmouel Boudjnah - @chmouel - eNovance
Integration tests
Chmouel Boudjnah - @chmouel - eNovance
• run against any OpenStack clouds
• auto discover features
• only OpenStack public interfaces
• Black box testing
• can be reused as load generation
• self tested
• around 2000 functional tests run on each commit iterations.
Tempest
Chmouel Boudjnah - @chmouel - eNovance
WhatTheStack? A Tool Based on Tempest to Verify your Deployments
Chmouel Boudjnah - @chmouel - eNovance
• external CI plug into openstack
infrastructure.
• able to vote +1 but not -1
• Usually used by vendors for drivers
testing in Neutron / Nova / Cinder
• Used as well for other distros (only
RedHat at the moment).
External CI
Chmouel Boudjnah - @chmouel - eNovance
Performances testing
Chmouel Boudjnah - @chmouel - eNovance
Performance testing moto
One shall always testing the underlying hardware
before even thinking about performance testing.
Erwan Velu - eNovance Tester allumni
Chmouel Boudjnah - @chmouel - eNovance
• at eNovance we have a tool called AHC which benchmark
underlying platform before every deliveries.
• tempest can be used for performance testing of the
software itself.
• There is OpenStack Rally as well a tool that automate the
full thing with nicely generated reports and such.
• Highly dependent of your deployment (i.e: your hardware).
Performance testing.
Chmouel Boudjnah - @chmouel - eNovance
That’s it

More Related Content

What's hot

Make your CPAN module static installable
Make your CPAN module static installableMake your CPAN module static installable
Make your CPAN module static installableShoichi Kaji
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDustin Ruehle
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterКомпьютерная школа Hillel
 
Adding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipelineAdding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipelineEduardo Piairo
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015Pavel Chunyayev
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous IntegrationJohannes Brodwall
 
Mistral Atlanta design session
Mistral Atlanta design sessionMistral Atlanta design session
Mistral Atlanta design sessionRenat Akhmerov
 
Load tests using Visual Studio 2013 and Azure
Load tests using Visual Studio 2013 and AzureLoad tests using Visual Studio 2013 and Azure
Load tests using Visual Studio 2013 and AzureRadu Vunvulea
 

What's hot (10)

Make your CPAN module static installable
Make your CPAN module static installableMake your CPAN module static installable
Make your CPAN module static installable
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Developing Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring CloudDeveloping Resilient Cloud Native Apps with Spring Cloud
Developing Resilient Cloud Native Apps with Spring Cloud
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом Jmeter
 
Adding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipelineAdding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipeline
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous Integration
 
Mistral Atlanta design session
Mistral Atlanta design sessionMistral Atlanta design session
Mistral Atlanta design session
 
Load tests using Visual Studio 2013 and Azure
Load tests using Visual Studio 2013 and AzureLoad tests using Visual Studio 2013 and Azure
Load tests using Visual Studio 2013 and Azure
 

Similar to Art of unittesting in OpenStack - Paris 2014

Git with Swift Atlanta 2014
Git with Swift Atlanta 2014Git with Swift Atlanta 2014
Git with Swift Atlanta 2014chmouel
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven developmentEinar Ingebrigtsen
 
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...TEST Huddle
 
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...TEST Huddle
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Marcin Grzejszczak
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedNicolas Fränkel
 
Test Driven Development using QUnit
Test Driven Development using QUnitTest Driven Development using QUnit
Test Driven Development using QUnitsatejsahu
 
Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Colin O'Dell
 
Ansible module development 101
Ansible module development 101Ansible module development 101
Ansible module development 101yfauser
 
A la découverte des google/test (aka gtest)
A la découverte des google/test (aka gtest)A la découverte des google/test (aka gtest)
A la découverte des google/test (aka gtest)Thierry Gayet
 
Automated php unit testing in drupal 8
Automated php unit testing in drupal 8Automated php unit testing in drupal 8
Automated php unit testing in drupal 8Jay Friendly
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gumBrian Westrich
 
Automated testing on steroids – Trick for managing test data using Docker sna...
Automated testing on steroids – Trick for managing test data using Docker sna...Automated testing on steroids – Trick for managing test data using Docker sna...
Automated testing on steroids – Trick for managing test data using Docker sna...Lucas Jellema
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasVMware Tanzu
 
Angular CLI : HelloWorld
Angular CLI : HelloWorldAngular CLI : HelloWorld
Angular CLI : HelloWorldnikspatel007
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Marcin Grzejszczak
 
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019Clare Macrae
 
Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Craig Smith
 

Similar to Art of unittesting in OpenStack - Paris 2014 (20)

Git with Swift Atlanta 2014
Git with Swift Atlanta 2014Git with Swift Atlanta 2014
Git with Swift Atlanta 2014
 
Driving application development through behavior driven development
Driving application development through behavior driven developmentDriving application development through behavior driven development
Driving application development through behavior driven development
 
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...
Olli-Pekka Puolitaival - Model-Based Testing for Integration Testing in Real ...
 
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...
Olli-Pekka Puolitaival - Model-Based Tested for Integration Tested in Real Pr...
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches Rebooted
 
Ch11lect1 ud
Ch11lect1 udCh11lect1 ud
Ch11lect1 ud
 
Test Driven Development using QUnit
Test Driven Development using QUnitTest Driven Development using QUnit
Test Driven Development using QUnit
 
Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018
 
Ansible module development 101
Ansible module development 101Ansible module development 101
Ansible module development 101
 
A la découverte des google/test (aka gtest)
A la découverte des google/test (aka gtest)A la découverte des google/test (aka gtest)
A la découverte des google/test (aka gtest)
 
Automated php unit testing in drupal 8
Automated php unit testing in drupal 8Automated php unit testing in drupal 8
Automated php unit testing in drupal 8
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gum
 
Automated testing on steroids – Trick for managing test data using Docker sna...
Automated testing on steroids – Trick for managing test data using Docker sna...Automated testing on steroids – Trick for managing test data using Docker sna...
Automated testing on steroids – Trick for managing test data using Docker sna...
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Angular CLI : HelloWorld
Angular CLI : HelloWorldAngular CLI : HelloWorld
Angular CLI : HelloWorld
 
Unit testing in Unity
Unit testing in UnityUnit testing in Unity
Unit testing in Unity
 
Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5Continuous Deployment of your Application @jSession#5
Continuous Deployment of your Application @jSession#5
 
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019
Quickly Testing Legacy Cpp Code - ACCU Cambridge 2019
 
Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Art of unittesting in OpenStack - Paris 2014

  • 1. Chmouel Boudjnah! OpenStack in Action // Spring 2014 The art of Software testing in OpenStack Chmouel Boudjnah - @chmouel - eNovance
  • 2. Chmouel Boudjnah - @chmouel - eNovance About me
  • 3. Chmouel Boudjnah - @chmouel - eNovance About this session
  • 4. Chmouel Boudjnah - @chmouel - eNovance Software Testing overview
  • 5. Chmouel Boudjnah - @chmouel - eNovance • Unit Testing • Integration Testing • Performance Testing • Scalability Testing. Different type of Testing
  • 6. Chmouel Boudjnah - @chmouel - eNovance • Pentesting • Usability Testing • Regression Testing • Compatibility Testing. More testing
  • 7. Chmouel Boudjnah - @chmouel - eNovance Methodologies
  • 8. Chmouel Boudjnah - @chmouel - eNovance • Code a bit the test. • Start a bit of coding. • Make the test pass. • Repeat until the feature is implemented. TDD
  • 9. Chmouel Boudjnah - @chmouel - eNovance • Business Driven Development Introducing BDD
  • 10. Chmouel Boudjnah - @chmouel - eNovance • Business Driven Development • Behaviour Driven Development Introducing BDD
  • 11. Chmouel Boudjnah - @chmouel - eNovance • Business Driven Development • Behaviour Driven Development • BS Driven Development (i.e: Vaporware) Introducing BDD
  • 12. Chmouel Boudjnah - @chmouel - eNovance • Business Driven Development • Behaviour Driven Development • BS Driven Development • Some people get it confused with “Bourrinage Driven Development” Introducing BDD
  • 13. Chmouel Boudjnah - @chmouel - eNovance Methodology “You shall not pass a commit before each iterations has been fully tested”
  • 14. Chmouel Boudjnah - @chmouel - eNovance Unit Testing
  • 15. Chmouel Boudjnah - @chmouel - eNovance The five year old technology mashup.
  • 16. Chmouel Boudjnah - @chmouel - eNovance The five year old technology mashup. "well it is just like when you turn the wheel before we are going on a ride you test that it turns properly before actually riding it. If it didn’t turn then that means I may going to have a crash and have a big bobo.” Noah Boudjnah
  • 17. Chmouel Boudjnah - @chmouel - eNovance • Swift 2371 unit tests • Ceilometer 2583 • Heat 2710 • Keystone 3216 • Nova 10653 In OpenStack
  • 18. Chmouel Boudjnah - @chmouel - eNovance • Mostly for code styling • flake8 for pep8 and common errors • Openstack hacking Static code analysis.
  • 19. Chmouel Boudjnah - @chmouel - eNovance Tooling and Libraries
  • 20. Chmouel Boudjnah - @chmouel - eNovance Devstack
  • 21. Chmouel Boudjnah - @chmouel - eNovance • tox • pbr • testrunner • coverage Tools
  • 22. Chmouel Boudjnah - @chmouel - eNovance • testtools • mock • httppretty • six Libraries
  • 23. Chmouel Boudjnah - @chmouel - eNovance Integration tests
  • 24. Chmouel Boudjnah - @chmouel - eNovance • run against any OpenStack clouds • auto discover features • only OpenStack public interfaces • Black box testing • can be reused as load generation • self tested • around 2000 functional tests run on each commit iterations. Tempest
  • 25. Chmouel Boudjnah - @chmouel - eNovance WhatTheStack? A Tool Based on Tempest to Verify your Deployments
  • 26. Chmouel Boudjnah - @chmouel - eNovance • external CI plug into openstack infrastructure. • able to vote +1 but not -1 • Usually used by vendors for drivers testing in Neutron / Nova / Cinder • Used as well for other distros (only RedHat at the moment). External CI
  • 27. Chmouel Boudjnah - @chmouel - eNovance Performances testing
  • 28. Chmouel Boudjnah - @chmouel - eNovance Performance testing moto One shall always testing the underlying hardware before even thinking about performance testing. Erwan Velu - eNovance Tester allumni
  • 29. Chmouel Boudjnah - @chmouel - eNovance • at eNovance we have a tool called AHC which benchmark underlying platform before every deliveries. • tempest can be used for performance testing of the software itself. • There is OpenStack Rally as well a tool that automate the full thing with nicely generated reports and such. • Highly dependent of your deployment (i.e: your hardware). Performance testing.
  • 30. Chmouel Boudjnah - @chmouel - eNovance That’s it