SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
SmokeTestsWhy you should try to burn down
your production environment
Comments & Feedback
Sebastian Thoß
Chapter lead Backend
Disclaimer
Agenda
• Types Of Tests
• SmokeTests
• Server Architecture
• Questions & Answers
Types Of Tests
Test Pyramid
UNITTESTS
Class 2
Class 3
Mock
Mock
Unit Tests
Class 1
Class 4
Test Pyramid
INTEGRATION TESTS
UNITTESTS
Class 3 Class 4Mock Mock
Integration Tests
Class 1 Class 2
Test Pyramid
INTEGRATION TESTS
UNITTESTS
100%CODECOVERAGE
Test Pyramid
ACCEPTANCE TESTS
INTEGRATION TESTS
UNITTESTS
Acceptance Tests
Class 1 Class 2
Class 3 Class 4
Test Pyramid
ACCEPTANCE TESTS
INTEGRATION TESTS
UNITTESTS
?
$$$
¢
SmokeTests
What are SmokeTests?
In computer programming and software testing, smoke testing is preliminary testing to
reveal simple failures severe enough to reject a prospective software release.

Source: https://en.wikipedia.org/wiki/Smoke_testing_(software)
SmokeTests should…
• … be simple
• … be fast
• … test pages with optional parameters too
• … cover at least all URLs in google index
• … use a manual maintained list of URLs
How do SmokeTests work?
https://www.my-application.com/foo
<html><body>…</body></html>
TTFB: 65ms
HTTP 1.1/200 OK
SmokeTest
Client
CI Server
Application
Under Test
Production Server
How do SmokeTests work?
https://www.my-application.com/foo
<html><body>…</body></html>
TTFB: 320ms
HTTP 1.1/200 OK
SmokeTest
Client
CI Server
Application
Under Test
Production Server
What should SmokeTests validate?
• Correct Server
• Status Code
• Time To First Byte
• If Body Is Provided
SmokeTests are NOTAcceptance Tests
SmokeTest
Client
HTTP 1.1/200 OK
<html>
<head>
<title>Foo</title>
<body>
<div id="bar"><span>foobar</span></div>
</body>
</html>
namespace KartenmachereiTesting;
use PHPUnit_Framework_TestCase;
class SmokeTest extends PHPUnit_Framework_TestCase
{
/**
* @dataProvider furyUrlProvider
*
* @param Url $url
*/
public function testFuryUrl(Url $url)
{
$result = $this->sendGetRequest($url);
$this->assertSame(200, $result->getStatusCode());
$this->assertNotEmpty($result->getBody());
$this->assertLessThanOrEqual(100, $result->getTimeToFirstByteInMilliseconds());
}
public function furyUrlProvider()
{
$urls = ['http://www.kartenmacherei.de', …];
$urlCollection = UrlCollection::fromStrings($urls);
return $urlCollection->asDataProviderArray($urlCollection);
}
How to speed up SmokeTests?
Concurrent SmokeTests
SmokeTest
Client
CI Server
Application
Under Test
Production Server
https://www.my-application.com/baz
https://www.my-application.com/bar
https://www.my-application.com/foo
Concurrent SmokeTests
https://www.my-application.com/baz
SmokeTest
Client
CI Server
Application
Under Test
Production Server
https://www.my-application.com/bar
https://www.my-application.com/foo
TTFB: 34ms
Concurrent SmokeTests
https://www.my-application.com/foobaz
SmokeTest
Client
CI Server
Application
Under Test
Production Server
https://www.my-application.com/bar
https://www.my-application.com/foo
Concurrent SmokeTests
SmokeTest
Client
CI Server
Application
Under Test
Production Server
TTFB: 65ms
https://www.my-application.com/foobaz
https://www.my-application.com/bar
https://www.my-application.com/foo
Concurrent SmokeTests
SmokeTest
Client
CI Server
Application
Under Test
Production Serverhttps://www.my-application.com/123
https://www.my-application.com/foobaz
https://www.my-application.com/bar
Concurrent SmokeTests
SmokeTest
Client
CI Server
Application
Under Test
Production Server
TTFB: 620ms
https://www.my-application.com/123
https://www.my-application.com/foobaz
https://www.my-application.com/bar
There is a Lib for SmokeTests
DjThossi/Smoke-Testing-PHP
DataProvider
Test
Application
HTTP Requests
HTTP Responses
PHPUnit
Call
Result[]
Result
class SmokeTest extends PHPUnit_Framework_TestCase
{
use SmokeTestTrait;
/**
* @dataProvider myDataProvider
*/
public function testExample(Result $result)
{
$this->assertSuccess($result);
$this->assertTimeToFirstByte(new TimeToFirstByte(100), $result);
$this->assertBodyNotEmpty($result);
$this->assertHeaderExists(Header::fromPrimitives(‘App-Server', ‘Fury’), $result);
}
public function myDataProvider()
{
$urls = ['http://www.kartenmacherei.de', …];
$options = new SmokeTestOptions(
UrlCollection::fromStrings($urls),
new RequestTimeout(2),
new FollowRedirects(true),
new Concurrency(3),
new BodyLength(500)
);
return $this->runSmokeTests($options);
}
Server Architecture
Webserver (Router)
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver
FURY Frontend
Server B
K/V StoreSearch
FURY Backend
Webserver (Router)
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver
FURY Frontend
Server B
K/V StoreSearch
FURY Backend
active = A
Webserver (Router)
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver
FURY Frontend
Server B
K/V StoreSearch
FURY Backend
active = B
Webserver (Router)
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
Collect & Export
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
Collect & Export
Smoke Tests
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
Collect & Export
Smoke Tests
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
Collect & Export
Smoke Tests
active = B
RDBMS
Read
Slave
Webserver
FURY Frontend
Server A
K/V StoreSearch
FURY Backend
Webserver (Router)
Build Server
Deploy Code
Collect & Export
Smoke Tests
Switch to A
active = Bactive = A
Conclusion
• Write tests
• Get 100% coverage
• SmokeTest your Website
• Only activate server if it didn't start smoking
Q&A
https://www.facebook.com/kartenmacherei/
jobs@kartenmacherei.de
http://inside.kartenmacherei.de/job.html
https://tech.kartenmacherei.de/
@techdotkam
Comments & Feedback

Weitere ähnliche Inhalte

Was ist angesagt?

Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...
Dmitriy Gumeniuk
 
Otto MVP Presentation
Otto MVP PresentationOtto MVP Presentation
Otto MVP Presentation
jeeves24
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
elliando dias
 
Code Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCo
Evgeny Mandrikov
 

Was ist angesagt? (20)

Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure Testing
 
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium AppsTiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
TiCalabash and TiMocha: The keys to Better & More Stable Titanium Apps
 
Continuous Integration for Titanium
Continuous Integration for TitaniumContinuous Integration for Titanium
Continuous Integration for Titanium
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsHow do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
Pragmatic Code Coverage
Pragmatic Code CoveragePragmatic Code Coverage
Pragmatic Code Coverage
 
Integration Testing in Python
Integration Testing in PythonIntegration Testing in Python
Integration Testing in Python
 
What I Learned From Writing a Test Framework (And Why I May Never Write One A...
What I Learned From Writing a Test Framework (And Why I May Never Write One A...What I Learned From Writing a Test Framework (And Why I May Never Write One A...
What I Learned From Writing a Test Framework (And Why I May Never Write One A...
 
Fast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-gridFast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-grid
 
Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...
 
Otto MVP Presentation
Otto MVP PresentationOtto MVP Presentation
Otto MVP Presentation
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
When Good Code Goes Bad: Tools and Techniques for Troubleshooting Plone
When Good Code Goes Bad: Tools and Techniques for Troubleshooting PloneWhen Good Code Goes Bad: Tools and Techniques for Troubleshooting Plone
When Good Code Goes Bad: Tools and Techniques for Troubleshooting Plone
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 
DelEx Conference: Jenkins+Terragrunt+Terraform eco-system
DelEx Conference: Jenkins+Terragrunt+Terraform eco-systemDelEx Conference: Jenkins+Terragrunt+Terraform eco-system
DelEx Conference: Jenkins+Terragrunt+Terraform eco-system
 
How to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django VersionHow to Upgrade to the Newest Shiniest Django Version
How to Upgrade to the Newest Shiniest Django Version
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
 
the grinder testing certification
the grinder testing certificationthe grinder testing certification
the grinder testing certification
 
Delivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and FutureDelivery pipelines at Symphony Talent - Present and Future
Delivery pipelines at Symphony Talent - Present and Future
 
Code Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCoCode Coverage Revised : EclEmma on JaCoCo
Code Coverage Revised : EclEmma on JaCoCo
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
 

Andere mochten auch

Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina Rev 6 De Julio...
Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina  Rev  6 De Julio...Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina  Rev  6 De Julio...
Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina Rev 6 De Julio...
Ketty Rodriguez
 
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividendeCiment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
www.bourse-maroc.org
 
Diapositivas De Redes
Diapositivas De RedesDiapositivas De Redes
Diapositivas De Redes
ruth
 

Andere mochten auch (20)

99% is not enough
99% is not enough99% is not enough
99% is not enough
 
Libros de-contabilidad
Libros de-contabilidadLibros de-contabilidad
Libros de-contabilidad
 
Gebelikte sle ve ra
Gebelikte sle ve raGebelikte sle ve ra
Gebelikte sle ve ra
 
Don't fear the Walking Dead @ IPC 2016
Don't fear the Walking Dead @ IPC 2016Don't fear the Walking Dead @ IPC 2016
Don't fear the Walking Dead @ IPC 2016
 
digital marketing strategy
digital marketing strategydigital marketing strategy
digital marketing strategy
 
Mi carrera
Mi carreraMi carrera
Mi carrera
 
CC - Programa Propuestas Empleo
CC - Programa Propuestas EmpleoCC - Programa Propuestas Empleo
CC - Programa Propuestas Empleo
 
devanand1
devanand1devanand1
devanand1
 
METEOR
METEORMETEOR
METEOR
 
MACVEST - Simulado ENEM 2012
MACVEST - Simulado ENEM 2012MACVEST - Simulado ENEM 2012
MACVEST - Simulado ENEM 2012
 
Presentación1
Presentación1Presentación1
Presentación1
 
Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina Rev 6 De Julio...
Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina  Rev  6 De Julio...Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina  Rev  6 De Julio...
Admi 4005 La InformacióN Como Se Produce,Organiza Y Disemina Rev 6 De Julio...
 
Mi experiencia en la educacion a distancia
Mi experiencia en la educacion a distanciaMi experiencia en la educacion a distancia
Mi experiencia en la educacion a distancia
 
Smoke Testing: Test Your App or Website
Smoke Testing: Test Your App or WebsiteSmoke Testing: Test Your App or Website
Smoke Testing: Test Your App or Website
 
Principes de-trader-edition-2015
Principes de-trader-edition-2015Principes de-trader-edition-2015
Principes de-trader-edition-2015
 
MIC - Principaux indicateurs-2016
MIC - Principaux indicateurs-2016MIC - Principaux indicateurs-2016
MIC - Principaux indicateurs-2016
 
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividendeCiment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
Ciment du maroc___le_franchissement_d'un_nouveau_palier_en_termes_de_dividende
 
6. Ejercicio aplicativo de costos estándar
6. Ejercicio aplicativo de costos estándar6. Ejercicio aplicativo de costos estándar
6. Ejercicio aplicativo de costos estándar
 
Diapositivas De Redes
Diapositivas De RedesDiapositivas De Redes
Diapositivas De Redes
 
Deber
DeberDeber
Deber
 

Ähnlich wie Smoke Tests @ DevOps-Hamburg 06.02.2017

Clean & Dirty Acceptance Tests with Cucumber & Watir
Clean & Dirty Acceptance Tests with Cucumber & WatirClean & Dirty Acceptance Tests with Cucumber & Watir
Clean & Dirty Acceptance Tests with Cucumber & Watir
Danny Smith
 

Ähnlich wie Smoke Tests @ DevOps-Hamburg 06.02.2017 (20)

Smoke tests - what why how - PHP Srbija
Smoke tests - what why how - PHP SrbijaSmoke tests - what why how - PHP Srbija
Smoke tests - what why how - PHP Srbija
 
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
 
Advanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWSAdvanced Continuous Delivery on AWS
Advanced Continuous Delivery on AWS
 
Bootify your Test Pyramid
Bootify your Test PyramidBootify your Test Pyramid
Bootify your Test Pyramid
 
Presentation security automation (Selenium Camp)
Presentation security automation (Selenium Camp)Presentation security automation (Selenium Camp)
Presentation security automation (Selenium Camp)
 
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your SoftwareStop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2
 
SmokeTests
SmokeTestsSmokeTests
SmokeTests
 
Delivering High Performance Ecommerce with Magento Commerce Cloud
Delivering High Performance Ecommerce with Magento Commerce CloudDelivering High Performance Ecommerce with Magento Commerce Cloud
Delivering High Performance Ecommerce with Magento Commerce Cloud
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenches
 
Tech trends 2018 2019
Tech trends 2018 2019Tech trends 2018 2019
Tech trends 2018 2019
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
 
Cypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
Cypress Test Techniques-Cucumber BDD Framework,TDD,API TestsCypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
Cypress Test Techniques-Cucumber BDD Framework,TDD,API Tests
 
SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019
 
Katalon Recorder Web Automation.pptx
Katalon Recorder Web Automation.pptxKatalon Recorder Web Automation.pptx
Katalon Recorder Web Automation.pptx
 
DevOps with Serverless
DevOps with ServerlessDevOps with Serverless
DevOps with Serverless
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
Fut Lsi
Fut LsiFut Lsi
Fut Lsi
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
 
Clean & Dirty Acceptance Tests with Cucumber & Watir
Clean & Dirty Acceptance Tests with Cucumber & WatirClean & Dirty Acceptance Tests with Cucumber & Watir
Clean & Dirty Acceptance Tests with Cucumber & Watir
 

Kürzlich hochgeladen

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
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Smoke Tests @ DevOps-Hamburg 06.02.2017