SlideShare a Scribd company logo
1 of 66
Download to read offline
http://elastest.io
ElasTest
Funded by the
European Union
Why, What, Who,
Where, When, and How
ElasTest Overview Presentation | 24/05/17 | Madrid URJC
Why?
2
Why ElasTest?
●
Modern systems are complex
3
Distributed Software / Cloud Native / Microservices
Why ElasTest?
●
We need
tests to
assure
their
quality
4
Why ElasTest?
5
What tools do exist for E2E testing in
complex cloud native apps?
Why ElasTest?
●
The IDE (to develop tests)
6
Why ElasTest?
●
The CI Server (to run tests after changes)
7
Why ElasTest?
●
These tools are focused in managing test
execution
8
Why ElasTest?
●
These tools are focused in managing test
execution
9
Why ElasTest?
●
These tools are focused in managing test
execution
10
Why ElasTest?
●
Current testing tools have limitations
when facing E2E tests of complex
distributed software
– Log management
– Test orchestration
– Comparing test executions
– Web testing
– SuT instrumentation
11
Limitations of “testing tools”
●
Log management
12
Limitations of “testing tools”
●
Log management
13
Where in the
source code is the
log of the failing
test?
Limitations of “testing tools”
●
Log management
– How to query logs of the System Under
Test?
14
Elasticsearch Kibana Logstash
Limitations of “testing tools”
15
Limitations of “testing tools”
16
Test logs are in the
IDE / CI, not here
Limitations of “testing tools”
17
Which log entries are
related to failure?
Time filter?
Limitations of “testing tools”
18
Is that the best tool to
know why a test has
failed?
Limitations of “testing tools”
19
OtrosLogViewer is a powerful log analysis tool
Limitations of “testing tools”
●
What if a test wants to know if there are
WARN messages in SuT logs?
20
Why ElasTest?
●
Current testing tools have limitations
with E2E tests of complex distributed
software
– Log management
– Test orchestration
– Comparing test executions
– Web testing
– SuT instrumentation
21
Limitations of “testing tools”
●
Test orchestration
– Usually we want to execute the same test, but
with different:
●
Input data, browser version, SuT
configuration...
– CI Tools are improving in this domain...
●
Jenkins pipelines
●
Travis Build Stages
●
Cross browser testing services
22
Limitations of “testing tools”
●
Jenkins pipelines
23
Limitations of “testing tools”
●
Travis Build Stages
24
https://blog.travis-ci.com/2017-05-11-introducing-build-stages
Limitations of “testing tools”
●
Cross browser testing services
25
Limitations of “testing tools”
●
Some use cases are still complex
Why ElasTest?
●
Current testing tools have limitations
with E2E tests of complex distributed
software
– Log management
– Test orchestration
– Comparing test executions
– Web testing
– SuT instrumentation
27
Limitations of “testing tools”
●
Comparing test executions
– When there’s a regression, one compares the
failing test log with a previous correct
execution log looking at the differences
– CI Tools only show test management info...
28
Limitations of “testing tools”
●
Diff tools are not designed to compare logs
29
Limitations of “testing tools”
●
JMeter doesn’t compare several executions
30
Limitations of “testing tools”
●
How we create graph comparisons?
31http://bravenewgeek.com/dissecting-message-queues/
Latency in several message queues
Why ElasTest?
●
Current testing tools have limitations
with E2E tests of complex distributed
software
– Log management
– Test orchestration
– Comparing test executions
– Web testing
– SuT instrumentation
32
Limitations of “testing tools”
●
Web Testing
– Selenium is used to control
browsers
– There are problems when
developing tests
●
Browsers are opened during
execution grabbing the focus.
●
You can’t work while tests are
running in your laptop
33
Limitations of “testing tools”
●
Web Testing
– There are problems when
executing tests in CI
●
You have to configure Xvfb for
headless testing
●
You have to configure custom tools
to record test executions
●
Video files are not synchronized with
logs (you have to jump manually)
34
Limitations of “testing tools”
●
Web Testing
– Docker is helping here
●
Official selenium
images
– However
●
A lot of manual
configuration needed
●
No solution for Safari
or Edge
35
Limitations of “testing tools”
●
Web Testing
– Commercial cloud services solve
these problems
36
Limitations of “testing tools”
●
Web Testing
– Testing WebRTC (video) apps
requires new features
●
Quality of Service (QoS)
●
Quality of Experience (QoE)
●
Real-time Latency
●
Testing Network Topologies (ICE)
37
Why ElasTest?
●
Current testing tools have limitations
with E2E tests of complex distributed
software
– Log management
– Test orchestration
– Comparing test executions
– Web testing
– SuT instrumentation
38
Why ElasTest?
●
SuT instrumentation
– Fault tolerance / Resilience testing
– Testing with different network conditions
– Execute the same test with different SuT
conditions (orchestration)
39
Why ElasTest?
40
Why ElasTest?
●
SuT instrumentation
– No integration with CI systems
– Hard to manage that from tests
– Hard to compare test executions with
different SuT configurations
41
What is?
42
What is ElasTest?
●
An open source tool
●
Designed to ease E2E testing of
complex distributed systems
●
You can install it in your laptop and in
your CI server
43
Apache License 2
What is ElasTest?
●
How ElasTest is controlled?
– Through a web interface (Jenkins like)
– From CI servers plugins
– From IDE plugins (like plugins to deploy
apps in remote servers)
– From a command line tool (Maven like)
44
What is ElasTest?
●
How do you develop your tests?
– With your favorite language
– With your favorite testing framework
– With your usual tools like selenium
– There are libraries for Java and
JavaScript to ease development
45
Who is creating?
46
Who is creating ElasTest?
●
ElasTest is developed as a project
funded by the European Commission
47
http://elastest.eu
ElasTest: an elastic platform for testing
complex distributed large software systems
Duration: From 2017-01-01 to 2019-12-31
Total cost: EUR 5 031 187,50
EU contribution: EUR 4 270 187
Coordinated in: Spain
Topic(s): ICT-10-2016 - Software Technologies
Call for proposal: H2020-ICT-2016-1
Funded by the European Union
Who is creating ElasTest?
●
Project coordinator
48
Who is creating ElasTest?
●
Participant institutions / companies
49
Who is creating ElasTest?
●
We at CodeURJC have
experience in testing
complex distributed
systems
50
Where is?
51
Where is ElasTest?
●
ElasTest is developed in GitHub
●
There are several communication channels
52
http://elastest.io
https://github.com/elastest
When will be available?
53
When ElasTest will be available?
●
Roadmap
54
Milestone Title Date
M1 First ElasTest architecture April 2017
M2 First ElasTest artifacts August 2017
M3 Early ElasTest platform December 2017
M4 ElasTest CI system April 2018
M5 Mature ElasTest platform December 2018
M6 ElasTest fully qualified December 2019
How?
55
How? ElasTest architecture
56
How? ElasTest architecture
●
ElasTest is a microservice application
●
Made up of several components, talking to
each other via
– REST APIs
– Message queues
57
How? ElasTest architecture
●
Test orchestration and recommendation
manager (TORM)
– Entry point of ElasTest Platform
– Provides API and Web UI for:
●
Test management
●
Test execution
●
Test orchestration
●
Test comparison
58
How? ElasTest architecture
●
Platform Manager (EPM)
– Abstracts other components from the
underlying infrastructure
– Provides resources for the other components
– Supported platforms
●
Public clouds (AWS)
●
On premise (OpenStack, Kubernetes)
●
Also in your laptop (Docker)
59
How? ElasTest architecture
●
Data Manager (EDM)
– Provides persistence for other components
●
Management data (MySQL)
●
Logs & metrics (ElasticSearch)
●
Files (Alluxio)
60
How? ElasTest architecture
●
Intrumentation Manager (EIM)
– Instrument Software under Test (SuT) to:
●
Gather logs and metrics
●
Simulate real network conditions (low
bandwith, high latency, connectivity loss…)
●
Force node failures
●
Simulate node loads with CPU throttling
61
How? ElasTest architecture
●
Test engines
– Engines complement the functionalities of
ElasTest with services to help in test definitions
●
Orchestrator Engine (EOE): Orchestrate and
compare several tests
●
Cost Engine (ECE): estimates costs of running a
given test suite on a given provider
●
Recommendation Engine (ERE): recommends
additional tests for similar contexts
●
Question & Answer Engine (EQE): Q&A UI for
gathering additional information about tests
62
How? ElasTest architecture
●
Test services
– Tests need to use some services in E2E
testing
●
Browsers
●
Mobile emulators
●
IoT (devices/actuators/sensors) emulators
●
Security services
●
Big Data services
63
How? ElasTest architecture
●
Service Manager (ESM)
– A registry for services within the ElasTest
platform
●
OSBA compliant
– Monitors service health status
– Makes ElasTest extensible
64
How? ElasTest architecture
●
Built-in ElasTest services
– User impersonation Service (EUS): Provides
browsers and mobile emulators for tests
– Device impersonation Service (EDS): Provides
sensors, actuators and devices emulators for tests
– Security Service (ESS): Provides security checks
for tests
– Big Data Service (EBD): Big data is available for
tests for runtime analysis
– Monitoring Service (EMS): Provides test execution
metrics and logs
65
Do you have any question?
66
Thanks!
info@elastest.io

More Related Content

Similar to ElasTest technical presentation

ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest Project
 
Test Driven Development with Sql Server
Test Driven Development with Sql ServerTest Driven Development with Sql Server
Test Driven Development with Sql ServerDavid P. Moore
 
Generative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlowGenerative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlowGene Leybzon
 
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...Codecamp Romania
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Ori Bendet
 
RemoteLaunch Overview Presentation (2021)
RemoteLaunch Overview Presentation (2021)RemoteLaunch Overview Presentation (2021)
RemoteLaunch Overview Presentation (2021)Inflectra
 
RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)Inflectra
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges openstackindia
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonTerry Bunio
 
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...Matthew Skelton
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkinsecubemarketing
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...Matthew Skelton
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in developmentMartin Toshev
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureIzzet Mustafaiev
 

Similar to ElasTest technical presentation (20)

ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)ElasTest presentation in MadridJUG (Madrid December 2017)
ElasTest presentation in MadridJUG (Madrid December 2017)
 
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
 
Test Driven Development with Sql Server
Test Driven Development with Sql ServerTest Driven Development with Sql Server
Test Driven Development with Sql Server
 
Generative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlowGenerative AI Application Development using LangChain and LangFlow
Generative AI Application Development using LangChain and LangFlow
 
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...
Iasi code camp 20 april 2013 marian chicu - database unit tests in the sql se...
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...
 
RemoteLaunch Overview Presentation (2021)
RemoteLaunch Overview Presentation (2021)RemoteLaunch Overview Presentation (2021)
RemoteLaunch Overview Presentation (2021)
 
RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)RemoteLaunch Overview Presentation (2022)
RemoteLaunch Overview Presentation (2022)
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madison
 
Quality for developers
Quality for developersQuality for developers
Quality for developers
 
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...
5 practical operability techniques for teams - Matthew Skelton - SQUID meetup...
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...
Practical operability techniques for teams - Matthew Skelton - Conflux - Cont...
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
XStudio
XStudioXStudio
XStudio
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 

More from ElasTest Project

How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineElasTest Project
 
Bringing observability to your testing environments
Bringing observability to your testing environmentsBringing observability to your testing environments
Bringing observability to your testing environmentsElasTest Project
 
Life-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestLife-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestElasTest Project
 
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)ElasTest Project
 
ElasTest ICSOFT 2017 - Panel H2020
ElasTest ICSOFT 2017 - Panel H2020ElasTest ICSOFT 2017 - Panel H2020
ElasTest ICSOFT 2017 - Panel H2020ElasTest Project
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsElasTest Project
 

More from ElasTest Project (8)

How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
Bringing observability to your testing environments
Bringing observability to your testing environmentsBringing observability to your testing environments
Bringing observability to your testing environments
 
Life-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTestLife-cycle is too short not to use ElasTest
Life-cycle is too short not to use ElasTest
 
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)
ElasTest presentation in VLCTesting Conference (Valencia Novemeber 2017)
 
ElasTest ICSOFT 2017 - Panel H2020
ElasTest ICSOFT 2017 - Panel H2020ElasTest ICSOFT 2017 - Panel H2020
ElasTest ICSOFT 2017 - Panel H2020
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
ExpoQA 2017 Docker and CI
ExpoQA 2017 Docker and CIExpoQA 2017 Docker and CI
ExpoQA 2017 Docker and CI
 
Tarot 2017
Tarot 2017Tarot 2017
Tarot 2017
 

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Recently uploaded (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

ElasTest technical presentation

  • 1. http://elastest.io ElasTest Funded by the European Union Why, What, Who, Where, When, and How ElasTest Overview Presentation | 24/05/17 | Madrid URJC
  • 3. Why ElasTest? ● Modern systems are complex 3 Distributed Software / Cloud Native / Microservices
  • 4. Why ElasTest? ● We need tests to assure their quality 4
  • 5. Why ElasTest? 5 What tools do exist for E2E testing in complex cloud native apps?
  • 6. Why ElasTest? ● The IDE (to develop tests) 6
  • 7. Why ElasTest? ● The CI Server (to run tests after changes) 7
  • 8. Why ElasTest? ● These tools are focused in managing test execution 8
  • 9. Why ElasTest? ● These tools are focused in managing test execution 9
  • 10. Why ElasTest? ● These tools are focused in managing test execution 10
  • 11. Why ElasTest? ● Current testing tools have limitations when facing E2E tests of complex distributed software – Log management – Test orchestration – Comparing test executions – Web testing – SuT instrumentation 11
  • 12. Limitations of “testing tools” ● Log management 12
  • 13. Limitations of “testing tools” ● Log management 13 Where in the source code is the log of the failing test?
  • 14. Limitations of “testing tools” ● Log management – How to query logs of the System Under Test? 14 Elasticsearch Kibana Logstash
  • 16. Limitations of “testing tools” 16 Test logs are in the IDE / CI, not here
  • 17. Limitations of “testing tools” 17 Which log entries are related to failure? Time filter?
  • 18. Limitations of “testing tools” 18 Is that the best tool to know why a test has failed?
  • 19. Limitations of “testing tools” 19 OtrosLogViewer is a powerful log analysis tool
  • 20. Limitations of “testing tools” ● What if a test wants to know if there are WARN messages in SuT logs? 20
  • 21. Why ElasTest? ● Current testing tools have limitations with E2E tests of complex distributed software – Log management – Test orchestration – Comparing test executions – Web testing – SuT instrumentation 21
  • 22. Limitations of “testing tools” ● Test orchestration – Usually we want to execute the same test, but with different: ● Input data, browser version, SuT configuration... – CI Tools are improving in this domain... ● Jenkins pipelines ● Travis Build Stages ● Cross browser testing services 22
  • 23. Limitations of “testing tools” ● Jenkins pipelines 23
  • 24. Limitations of “testing tools” ● Travis Build Stages 24 https://blog.travis-ci.com/2017-05-11-introducing-build-stages
  • 25. Limitations of “testing tools” ● Cross browser testing services 25
  • 26. Limitations of “testing tools” ● Some use cases are still complex
  • 27. Why ElasTest? ● Current testing tools have limitations with E2E tests of complex distributed software – Log management – Test orchestration – Comparing test executions – Web testing – SuT instrumentation 27
  • 28. Limitations of “testing tools” ● Comparing test executions – When there’s a regression, one compares the failing test log with a previous correct execution log looking at the differences – CI Tools only show test management info... 28
  • 29. Limitations of “testing tools” ● Diff tools are not designed to compare logs 29
  • 30. Limitations of “testing tools” ● JMeter doesn’t compare several executions 30
  • 31. Limitations of “testing tools” ● How we create graph comparisons? 31http://bravenewgeek.com/dissecting-message-queues/ Latency in several message queues
  • 32. Why ElasTest? ● Current testing tools have limitations with E2E tests of complex distributed software – Log management – Test orchestration – Comparing test executions – Web testing – SuT instrumentation 32
  • 33. Limitations of “testing tools” ● Web Testing – Selenium is used to control browsers – There are problems when developing tests ● Browsers are opened during execution grabbing the focus. ● You can’t work while tests are running in your laptop 33
  • 34. Limitations of “testing tools” ● Web Testing – There are problems when executing tests in CI ● You have to configure Xvfb for headless testing ● You have to configure custom tools to record test executions ● Video files are not synchronized with logs (you have to jump manually) 34
  • 35. Limitations of “testing tools” ● Web Testing – Docker is helping here ● Official selenium images – However ● A lot of manual configuration needed ● No solution for Safari or Edge 35
  • 36. Limitations of “testing tools” ● Web Testing – Commercial cloud services solve these problems 36
  • 37. Limitations of “testing tools” ● Web Testing – Testing WebRTC (video) apps requires new features ● Quality of Service (QoS) ● Quality of Experience (QoE) ● Real-time Latency ● Testing Network Topologies (ICE) 37
  • 38. Why ElasTest? ● Current testing tools have limitations with E2E tests of complex distributed software – Log management – Test orchestration – Comparing test executions – Web testing – SuT instrumentation 38
  • 39. Why ElasTest? ● SuT instrumentation – Fault tolerance / Resilience testing – Testing with different network conditions – Execute the same test with different SuT conditions (orchestration) 39
  • 41. Why ElasTest? ● SuT instrumentation – No integration with CI systems – Hard to manage that from tests – Hard to compare test executions with different SuT configurations 41
  • 43. What is ElasTest? ● An open source tool ● Designed to ease E2E testing of complex distributed systems ● You can install it in your laptop and in your CI server 43 Apache License 2
  • 44. What is ElasTest? ● How ElasTest is controlled? – Through a web interface (Jenkins like) – From CI servers plugins – From IDE plugins (like plugins to deploy apps in remote servers) – From a command line tool (Maven like) 44
  • 45. What is ElasTest? ● How do you develop your tests? – With your favorite language – With your favorite testing framework – With your usual tools like selenium – There are libraries for Java and JavaScript to ease development 45
  • 47. Who is creating ElasTest? ● ElasTest is developed as a project funded by the European Commission 47 http://elastest.eu ElasTest: an elastic platform for testing complex distributed large software systems Duration: From 2017-01-01 to 2019-12-31 Total cost: EUR 5 031 187,50 EU contribution: EUR 4 270 187 Coordinated in: Spain Topic(s): ICT-10-2016 - Software Technologies Call for proposal: H2020-ICT-2016-1 Funded by the European Union
  • 48. Who is creating ElasTest? ● Project coordinator 48
  • 49. Who is creating ElasTest? ● Participant institutions / companies 49
  • 50. Who is creating ElasTest? ● We at CodeURJC have experience in testing complex distributed systems 50
  • 52. Where is ElasTest? ● ElasTest is developed in GitHub ● There are several communication channels 52 http://elastest.io https://github.com/elastest
  • 53. When will be available? 53
  • 54. When ElasTest will be available? ● Roadmap 54 Milestone Title Date M1 First ElasTest architecture April 2017 M2 First ElasTest artifacts August 2017 M3 Early ElasTest platform December 2017 M4 ElasTest CI system April 2018 M5 Mature ElasTest platform December 2018 M6 ElasTest fully qualified December 2019
  • 57. How? ElasTest architecture ● ElasTest is a microservice application ● Made up of several components, talking to each other via – REST APIs – Message queues 57
  • 58. How? ElasTest architecture ● Test orchestration and recommendation manager (TORM) – Entry point of ElasTest Platform – Provides API and Web UI for: ● Test management ● Test execution ● Test orchestration ● Test comparison 58
  • 59. How? ElasTest architecture ● Platform Manager (EPM) – Abstracts other components from the underlying infrastructure – Provides resources for the other components – Supported platforms ● Public clouds (AWS) ● On premise (OpenStack, Kubernetes) ● Also in your laptop (Docker) 59
  • 60. How? ElasTest architecture ● Data Manager (EDM) – Provides persistence for other components ● Management data (MySQL) ● Logs & metrics (ElasticSearch) ● Files (Alluxio) 60
  • 61. How? ElasTest architecture ● Intrumentation Manager (EIM) – Instrument Software under Test (SuT) to: ● Gather logs and metrics ● Simulate real network conditions (low bandwith, high latency, connectivity loss…) ● Force node failures ● Simulate node loads with CPU throttling 61
  • 62. How? ElasTest architecture ● Test engines – Engines complement the functionalities of ElasTest with services to help in test definitions ● Orchestrator Engine (EOE): Orchestrate and compare several tests ● Cost Engine (ECE): estimates costs of running a given test suite on a given provider ● Recommendation Engine (ERE): recommends additional tests for similar contexts ● Question & Answer Engine (EQE): Q&A UI for gathering additional information about tests 62
  • 63. How? ElasTest architecture ● Test services – Tests need to use some services in E2E testing ● Browsers ● Mobile emulators ● IoT (devices/actuators/sensors) emulators ● Security services ● Big Data services 63
  • 64. How? ElasTest architecture ● Service Manager (ESM) – A registry for services within the ElasTest platform ● OSBA compliant – Monitors service health status – Makes ElasTest extensible 64
  • 65. How? ElasTest architecture ● Built-in ElasTest services – User impersonation Service (EUS): Provides browsers and mobile emulators for tests – Device impersonation Service (EDS): Provides sensors, actuators and devices emulators for tests – Security Service (ESS): Provides security checks for tests – Big Data Service (EBD): Big data is available for tests for runtime analysis – Monitoring Service (EMS): Provides test execution metrics and logs 65
  • 66. Do you have any question? 66 Thanks! info@elastest.io