SlideShare a Scribd company logo
The future of testing
in Pharo
Julien Delplanque
julien.delplanque@inria.fr
About me
• 2nd year of PhD in RMoD team

• Hacking Pharo around many aspects… just for fun :-)

• Hit by testing topic « by accident »
This is me on discord.
This is me on github

and twitter.
!2
The one who work on this
topic right now
• 2nd year of Master

• Doing an internship in RMoD team for 6 months

• Master thesis on the enhancements of tests in Pharo
This is Dayne on discord.
This is Dayne on github.
Her other mentors on Github
Guille Steph
!3
Questions this talk
addresses
• What infrastructure Pharo provides for testing?

• How can we enhance testing experience?
!4
What infrastructure Pharo
provides for testing?
!5
What infrastructure Pharo
provides for testing?
Pharo’s SUnit
SUnit-UI
Jenkins-
Tools
System
browser
!6
What infrastructure Pharo
provides for testing?
Pharo’s SUnit
SUnit-UI
Jenkins-
Tools
System
browser
Custom layer for
visiting, « deciding
color » of results, …
Custom layer for
visiting, « deciding
color » of results, …
Custom layer for
visiting, « deciding
color » of results, …
≠ ≠
In fact,
!7
The infrastructure we want
Pharo’s SUnit
SUnit-UI
Jenkins-
Tools
System
browser
Common layer for visiting, « deciding color » of results, …
Dr Tests
Push

into
!8
The infrastructure we want
Enhanced Pharo’s SUnit
refactoredJenkins
-Tools
refactoredSystem
browser
DrTests
DrTests Plugins
!9
How can we enhance
testing experience?
!10
What can we do with tests?
Runner Coverage Profile
Parametrisable

test
Mutation
testing
Run
examples in
comment
Rotten
Tests
Finder
…
Input Test cases Test cases
Test
cases
Test cases

+

parameters
Test
cases

+

mutation
s
Comments Test cases …
Outpu
t
Results of
tests run
Percentage
of methods
covered
Time
taken for
each test
run
Results of
tests run
depending
on
parameter
Mutants
to be
killed
Comments
containing
failing
examples
Rotten
tests
…
Managed by SUnit-UI
!11
TestRunner UI
Packages
containing tests
TestCases
Results
summary
Failed tests
Errors
Run tests Profile test
execution
Analyse code

coverage
Re-run failures
or errors only Export results
!12
TestRunner UI: coverage
!13
TestRunner UI: profile
!14
Runner Coverage Profile
Parametrisable

test
Mutation
testing
Run
examples in
comment
Rotten
Tests
Finder
…
Input Test cases Test cases
Test
cases
Test cases

+

parameters
Test
cases

+

mutation
s
Comments Test cases …
Outpu
t
Results of
tests run
Percentage
of methods
covered
Time
taken for
each test
run
Results of
tests run
depending
on
parameter
Mutants
to be
killed
Comments
containing
failing
examples
Rotten
tests
…
What can we do with tests?
Managed by SUnit-UI
Poor integration
No integration
!15
Proposal: Dr Tests
Power-up testing experience in Pharo by:

Developing and promoting DrTests as the new UI for
testing

‣ Written in Spec

‣ Extensible via plugins

‣ Provides good model to configure, run and gather
results from plugins
!16
Dr Tests
Packages
under analysis
Plugin inputPlugin selected
Results

tree
Plugin-defined
action(s)
Start pluginLogging label Browse result
!17
Mini Dr Tests
Button to re-run according to configuration Go back to normal UI to

configure plugins, input, etc.
➡Simplified view to use a plugin once it is configured
!18
Mini Dr Tests
Button’s color gives visual feedback

about last result of plugin
!19
Dr Tests model
Plugin

Configuration
Plugin

Result
Plugin
Plugin run,

provides updates

through announcements
Created from UI

or by scripting
Can be queried from

UI or by scripting
Can specify class to use Can specify class to use
!20
Conclusion
!21
Vision
★Enhanced SUnit

★Uniform API for SUnit clients

★Plugin-based testing UI = Dr Tests
★More tools to handle tests = Dr Tests plugins
➡We want a testing ecosystem able to evolve
!22
What’s next?
Dayne is working on Dr Tests and SUnit enhancements
Clothilde will work on Smart Tests soon
!23
can test it!
!24
You can help the effort!
juliendelplanque/DrTests
We are interested in your inputs and contributions!
@juldelplanque
juliendelplanque
!25

More Related Content

What's hot

Junit Interview Questions-ppt
Junit Interview Questions-pptJunit Interview Questions-ppt
Junit Interview Questions-ppt
Mayank Kumar
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit Testing
Mike Lively
 
.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010
kgayda
 
Introduction To J unit
Introduction To J unitIntroduction To J unit
Introduction To J unitOlga Extone
 
NUnit Features Presentation
NUnit Features PresentationNUnit Features Presentation
NUnit Features Presentation
Shir Brass
 
Unit testing
Unit testingUnit testing
Unit testing
princezzlove
 
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Thomas Weller
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And MockingJoe Wilson
 
Moq presentation
Moq presentationMoq presentation
Moq presentationLynxStar
 
J Unit
J UnitJ Unit
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with Junit
Valerio Maggio
 
Unit Test Presentation
Unit Test PresentationUnit Test Presentation
Unit Test PresentationSayedur Rahman
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Sergey Podolsky
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NET
Baskar K
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Anuj Arora
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
Derek Smith
 
Workshop unit test
Workshop   unit testWorkshop   unit test
Workshop unit test
Francesco Garavaglia
 
Unit testing
Unit testing Unit testing
Unit testing
dubbu
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
François Camus
 

What's hot (19)

Junit Interview Questions-ppt
Junit Interview Questions-pptJunit Interview Questions-ppt
Junit Interview Questions-ppt
 
Automated Unit Testing
Automated Unit TestingAutomated Unit Testing
Automated Unit Testing
 
.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010.Net Unit Testing with Visual Studio 2010
.Net Unit Testing with Visual Studio 2010
 
Introduction To J unit
Introduction To J unitIntroduction To J unit
Introduction To J unit
 
NUnit Features Presentation
NUnit Features PresentationNUnit Features Presentation
NUnit Features Presentation
 
Unit testing
Unit testingUnit testing
Unit testing
 
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
 
Moq presentation
Moq presentationMoq presentation
Moq presentation
 
J Unit
J UnitJ Unit
J Unit
 
Unit testing with Junit
Unit testing with JunitUnit testing with Junit
Unit testing with Junit
 
Unit Test Presentation
Unit Test PresentationUnit Test Presentation
Unit Test Presentation
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Beginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NETBeginners - Get Started With Unit Testing in .NET
Beginners - Get Started With Unit Testing in .NET
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
 
Workshop unit test
Workshop   unit testWorkshop   unit test
Workshop unit test
 
Unit testing
Unit testing Unit testing
Unit testing
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 

Similar to The future of testing in Pharo

DrTests: The Future of Testing in Pharo
DrTests: The Future of Testing in PharoDrTests: The Future of Testing in Pharo
DrTests: The Future of Testing in Pharo
ESUG
 
Barcamp Bangalore 2 - On User Experience and Usability Testing
Barcamp Bangalore 2 - On User Experience and Usability TestingBarcamp Bangalore 2 - On User Experience and Usability Testing
Barcamp Bangalore 2 - On User Experience and Usability Testing
Amit Pande
 
Put an end to regression with codeception testing
Put an end to regression with codeception testingPut an end to regression with codeception testing
Put an end to regression with codeception testing
Joe Ferguson
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
Adam Doyle
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
Perfecto by Perforce
 
DIY in 5 Minutes: Testing Django App with Pytest
DIY in 5 Minutes: Testing Django App with Pytest DIY in 5 Minutes: Testing Django App with Pytest
DIY in 5 Minutes: Testing Django App with Pytest
Inexture Solutions
 
Ready, Set, Refactor
Ready, Set, RefactorReady, Set, Refactor
Ready, Set, Refactor
Jim Bethancourt
 
How not to suck at unit tests
How not to suck at unit testsHow not to suck at unit tests
How not to suck at unit tests
Benjamin Bishop
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
Arin Sime
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)
Tommy Norman
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-TestingMary Clemons
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
Janet Gregory
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
Agile Montréal
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine Learning
Valéry BERNARD
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
Munit_in_mule_naveen
Munit_in_mule_naveenMunit_in_mule_naveen
Munit_in_mule_naveen
VenkataNaveen Kumar
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
QA or the Highway
 
Testing In Django
Testing In DjangoTesting In Django
Testing In Django
Daniel Greenfeld
 

Similar to The future of testing in Pharo (20)

DrTests: The Future of Testing in Pharo
DrTests: The Future of Testing in PharoDrTests: The Future of Testing in Pharo
DrTests: The Future of Testing in Pharo
 
Barcamp Bangalore 2 - On User Experience and Usability Testing
Barcamp Bangalore 2 - On User Experience and Usability TestingBarcamp Bangalore 2 - On User Experience and Usability Testing
Barcamp Bangalore 2 - On User Experience and Usability Testing
 
Put an end to regression with codeception testing
Put an end to regression with codeception testingPut an end to regression with codeception testing
Put an end to regression with codeception testing
 
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflowMay 2021 Spark Testing ... or how to farm reputation on StackOverflow
May 2021 Spark Testing ... or how to farm reputation on StackOverflow
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
DIY in 5 Minutes: Testing Django App with Pytest
DIY in 5 Minutes: Testing Django App with Pytest DIY in 5 Minutes: Testing Django App with Pytest
DIY in 5 Minutes: Testing Django App with Pytest
 
Ready, Set, Refactor
Ready, Set, RefactorReady, Set, Refactor
Ready, Set, Refactor
 
How not to suck at unit tests
How not to suck at unit testsHow not to suck at unit tests
How not to suck at unit tests
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
An introduction to Machine Learning
An introduction to Machine LearningAn introduction to Machine Learning
An introduction to Machine Learning
 
Vinayak Kshirsagar Resume
Vinayak Kshirsagar ResumeVinayak Kshirsagar Resume
Vinayak Kshirsagar Resume
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Munit_in_mule_naveen
Munit_in_mule_naveenMunit_in_mule_naveen
Munit_in_mule_naveen
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
 
Testing In Django
Testing In DjangoTesting In Django
Testing In Django
 

More from Pharo

Yesplan: 10 Years later
Yesplan: 10 Years laterYesplan: 10 Years later
Yesplan: 10 Years later
Pharo
 
Object-Centric Debugging: a preview
Object-Centric Debugging: a previewObject-Centric Debugging: a preview
Object-Centric Debugging: a preview
Pharo
 
Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI
Pharo
 
UI Testing with Spec
 UI Testing with Spec UI Testing with Spec
UI Testing with Spec
Pharo
 
Pharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alphaPharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alpha
Pharo
 
PHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous IntegrationPHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous Integration
Pharo
 
Easy REST with OpenAPI
Easy REST with OpenAPIEasy REST with OpenAPI
Easy REST with OpenAPI
Pharo
 
Comment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowlComment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowl
Pharo
 
apart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorksapart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorks
Pharo
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
Pharo
 
A living programming environment for blockchain
A living programming environment for blockchainA living programming environment for blockchain
A living programming environment for blockchain
Pharo
 
Raspberry and Pharo
Raspberry and PharoRaspberry and Pharo
Raspberry and Pharo
Pharo
 
Welcome: PharoDays 2017
Welcome: PharoDays 2017Welcome: PharoDays 2017
Welcome: PharoDays 2017
Pharo
 
Pharo 6
Pharo 6Pharo 6
Pharo 6
Pharo
 
Robotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with PharoRobotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with Pharo
Pharo
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
Pharo
 
Smack: Behind the Refactorings
Smack: Behind the RefactoringsSmack: Behind the Refactorings
Smack: Behind the Refactorings
Pharo
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
Pharo
 
Git with Style
Git with StyleGit with Style
Git with Style
Pharo
 
Pharo JS
Pharo JSPharo JS
Pharo JS
Pharo
 

More from Pharo (20)

Yesplan: 10 Years later
Yesplan: 10 Years laterYesplan: 10 Years later
Yesplan: 10 Years later
 
Object-Centric Debugging: a preview
Object-Centric Debugging: a previewObject-Centric Debugging: a preview
Object-Centric Debugging: a preview
 
Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI Spec 2.0: The next step on desktop UI
Spec 2.0: The next step on desktop UI
 
UI Testing with Spec
 UI Testing with Spec UI Testing with Spec
UI Testing with Spec
 
Pharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alphaPharo 7.0 and 8.0 alpha
Pharo 7.0 and 8.0 alpha
 
PHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous IntegrationPHARO IoT: Installation Improvements and Continuous Integration
PHARO IoT: Installation Improvements and Continuous Integration
 
Easy REST with OpenAPI
Easy REST with OpenAPIEasy REST with OpenAPI
Easy REST with OpenAPI
 
Comment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowlComment soup with a pinch of types, served in a leaky bowl
Comment soup with a pinch of types, served in a leaky bowl
 
apart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorksapart Framework: Porting from VisualWorks
apart Framework: Porting from VisualWorks
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
 
A living programming environment for blockchain
A living programming environment for blockchainA living programming environment for blockchain
A living programming environment for blockchain
 
Raspberry and Pharo
Raspberry and PharoRaspberry and Pharo
Raspberry and Pharo
 
Welcome: PharoDays 2017
Welcome: PharoDays 2017Welcome: PharoDays 2017
Welcome: PharoDays 2017
 
Pharo 6
Pharo 6Pharo 6
Pharo 6
 
Robotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with PharoRobotic Exploration and Mapping with Pharo
Robotic Exploration and Mapping with Pharo
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
 
Smack: Behind the Refactorings
Smack: Behind the RefactoringsSmack: Behind the Refactorings
Smack: Behind the Refactorings
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
 
Git with Style
Git with StyleGit with Style
Git with Style
 
Pharo JS
Pharo JSPharo JS
Pharo JS
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 

The future of testing in Pharo

  • 1. The future of testing in Pharo Julien Delplanque julien.delplanque@inria.fr
  • 2. About me • 2nd year of PhD in RMoD team • Hacking Pharo around many aspects… just for fun :-) • Hit by testing topic « by accident » This is me on discord. This is me on github
 and twitter. !2
  • 3. The one who work on this topic right now • 2nd year of Master • Doing an internship in RMoD team for 6 months • Master thesis on the enhancements of tests in Pharo This is Dayne on discord. This is Dayne on github. Her other mentors on Github Guille Steph !3
  • 4. Questions this talk addresses • What infrastructure Pharo provides for testing? • How can we enhance testing experience? !4
  • 6. What infrastructure Pharo provides for testing? Pharo’s SUnit SUnit-UI Jenkins- Tools System browser !6
  • 7. What infrastructure Pharo provides for testing? Pharo’s SUnit SUnit-UI Jenkins- Tools System browser Custom layer for visiting, « deciding color » of results, … Custom layer for visiting, « deciding color » of results, … Custom layer for visiting, « deciding color » of results, … ≠ ≠ In fact, !7
  • 8. The infrastructure we want Pharo’s SUnit SUnit-UI Jenkins- Tools System browser Common layer for visiting, « deciding color » of results, … Dr Tests Push
 into !8
  • 9. The infrastructure we want Enhanced Pharo’s SUnit refactoredJenkins -Tools refactoredSystem browser DrTests DrTests Plugins !9
  • 10. How can we enhance testing experience? !10
  • 11. What can we do with tests? Runner Coverage Profile Parametrisable
 test Mutation testing Run examples in comment Rotten Tests Finder … Input Test cases Test cases Test cases Test cases
 +
 parameters Test cases
 +
 mutation s Comments Test cases … Outpu t Results of tests run Percentage of methods covered Time taken for each test run Results of tests run depending on parameter Mutants to be killed Comments containing failing examples Rotten tests … Managed by SUnit-UI !11
  • 12. TestRunner UI Packages containing tests TestCases Results summary Failed tests Errors Run tests Profile test execution Analyse code coverage Re-run failures or errors only Export results !12
  • 15. Runner Coverage Profile Parametrisable
 test Mutation testing Run examples in comment Rotten Tests Finder … Input Test cases Test cases Test cases Test cases
 +
 parameters Test cases
 +
 mutation s Comments Test cases … Outpu t Results of tests run Percentage of methods covered Time taken for each test run Results of tests run depending on parameter Mutants to be killed Comments containing failing examples Rotten tests … What can we do with tests? Managed by SUnit-UI Poor integration No integration !15
  • 16. Proposal: Dr Tests Power-up testing experience in Pharo by: Developing and promoting DrTests as the new UI for testing ‣ Written in Spec ‣ Extensible via plugins ‣ Provides good model to configure, run and gather results from plugins !16
  • 17. Dr Tests Packages under analysis Plugin inputPlugin selected Results
 tree Plugin-defined action(s) Start pluginLogging label Browse result !17
  • 18. Mini Dr Tests Button to re-run according to configuration Go back to normal UI to
 configure plugins, input, etc. ➡Simplified view to use a plugin once it is configured !18
  • 19. Mini Dr Tests Button’s color gives visual feedback about last result of plugin !19
  • 20. Dr Tests model Plugin
 Configuration Plugin
 Result Plugin Plugin run,
 provides updates
 through announcements Created from UI
 or by scripting Can be queried from
 UI or by scripting Can specify class to use Can specify class to use !20
  • 22. Vision ★Enhanced SUnit ★Uniform API for SUnit clients ★Plugin-based testing UI = Dr Tests ★More tools to handle tests = Dr Tests plugins ➡We want a testing ecosystem able to evolve !22
  • 23. What’s next? Dayne is working on Dr Tests and SUnit enhancements Clothilde will work on Smart Tests soon !23
  • 25. You can help the effort! juliendelplanque/DrTests We are interested in your inputs and contributions! @juldelplanque juliendelplanque !25