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

PDF
UI Testing with Spec
PPT
N Unit Presentation
PPTX
Unit Testing (C#)
PPT
Xp Day 080506 Unit Tests And Mocks
PPTX
Unit tests & TDD
PPTX
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
PDF
Clean Unit Test Patterns
PPTX
Test driven development in .Net - 2010 + Eclipse
UI Testing with Spec
N Unit Presentation
Unit Testing (C#)
Xp Day 080506 Unit Tests And Mocks
Unit tests & TDD
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Clean Unit Test Patterns
Test driven development in .Net - 2010 + Eclipse

What's hot (19)

PPT
Junit Interview Questions-ppt
PPT
Automated Unit Testing
PPTX
.Net Unit Testing with Visual Studio 2010
PPTX
Introduction To J unit
PPTX
NUnit Features Presentation
PPTX
Unit testing
PPTX
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
PPTX
Unit Testing And Mocking
PPTX
Moq presentation
PPT
PDF
Unit testing with Junit
PPSX
Unit Test Presentation
PPTX
Unit Testing
ODP
Beginners - Get Started With Unit Testing in .NET
PPS
Unit Testing
PPTX
Unit Testing Concepts and Best Practices
PDF
Workshop unit test
PPT
Unit testing
PPT
Unit Testing
Junit Interview Questions-ppt
Automated Unit Testing
.Net Unit Testing with Visual Studio 2010
Introduction To J unit
NUnit Features Presentation
Unit testing
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Unit Testing And Mocking
Moq presentation
Unit testing with Junit
Unit Test Presentation
Unit Testing
Beginners - Get Started With Unit Testing in .NET
Unit Testing
Unit Testing Concepts and Best Practices
Workshop unit test
Unit testing
Unit Testing
Ad

Similar to The future of testing in Pharo (20)

PDF
DrTests: The Future of Testing in Pharo
PDF
Exposing Test Analyses with DrTests
PDF
May: Automated Developer Testing: Achievements and Challenges
PPT
Test Automation Framework Designs
PDF
Introduzione a junit + integrazione con archibus
PPTX
Java script unit testing
PPTX
L2624 labriola
PPTX
Test automation proposal
PDF
Automated Web Testing using JavaScript
PDF
Testing: ¿what, how, why?
PPT
Automated testing overview
PDF
Arquillian: Effective tests from the client to the server
PDF
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
PDF
JAVASCRIPT TDD(Test driven Development) & Qunit Tutorial
PDF
JavaScript TDD with Jasmine and Karma
PPTX
Advances in Unit Testing: Theory and Practice
PPTX
Unit Testing and TDD 2017
PPT
Test Automation Framework Designs
KEY
Enterprise Strength Mobile JavaScript
PPTX
3 Ways to test your ColdFusion API - 2017 Adobe CF Summit
DrTests: The Future of Testing in Pharo
Exposing Test Analyses with DrTests
May: Automated Developer Testing: Achievements and Challenges
Test Automation Framework Designs
Introduzione a junit + integrazione con archibus
Java script unit testing
L2624 labriola
Test automation proposal
Automated Web Testing using JavaScript
Testing: ¿what, how, why?
Automated testing overview
Arquillian: Effective tests from the client to the server
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
JAVASCRIPT TDD(Test driven Development) & Qunit Tutorial
JavaScript TDD with Jasmine and Karma
Advances in Unit Testing: Theory and Practice
Unit Testing and TDD 2017
Test Automation Framework Designs
Enterprise Strength Mobile JavaScript
3 Ways to test your ColdFusion API - 2017 Adobe CF Summit
Ad

More from Pharo (20)

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

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The Rise and Fall of 3GPP – Time for a Sabbatical?
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
NewMind AI Monthly Chronicles - July 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Digital-Transformation-Roadmap-for-Companies.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

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