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
ESUG
 
PPT
N Unit Presentation
priya_trivedi
 
PPTX
Unit Testing (C#)
Prashant Cholachagudd
 
PPT
Xp Day 080506 Unit Tests And Mocks
guillaumecarre
 
PPTX
Unit tests & TDD
Dror Helper
 
PPTX
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Jacinto Limjap
 
PDF
Clean Unit Test Patterns
Frank Appel
 
PPTX
Test driven development in .Net - 2010 + Eclipse
UTC Fire & Security
 
UI Testing with Spec
ESUG
 
N Unit Presentation
priya_trivedi
 
Unit Testing (C#)
Prashant Cholachagudd
 
Xp Day 080506 Unit Tests And Mocks
guillaumecarre
 
Unit tests & TDD
Dror Helper
 
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Jacinto Limjap
 
Clean Unit Test Patterns
Frank Appel
 
Test driven development in .Net - 2010 + Eclipse
UTC Fire & Security
 

What's hot (19)

PPT
Junit Interview Questions-ppt
Mayank Kumar
 
PPT
Automated Unit Testing
Mike Lively
 
PPTX
.Net Unit Testing with Visual Studio 2010
kgayda
 
PPTX
Introduction To J unit
Olga Extone
 
PPTX
NUnit Features Presentation
Shir Brass
 
PPTX
Unit testing
princezzlove
 
PPTX
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Thomas Weller
 
PPTX
Unit Testing And Mocking
Joe Wilson
 
PPTX
Moq presentation
LynxStar
 
PPT
J Unit
guest333f37c3
 
PDF
Unit testing with Junit
Valerio Maggio
 
PPSX
Unit Test Presentation
Sayedur Rahman
 
PPTX
Unit Testing
Sergey Podolsky
 
ODP
Beginners - Get Started With Unit Testing in .NET
Baskar K
 
PPS
Unit Testing
Anuj Arora
 
PPTX
Unit Testing Concepts and Best Practices
Derek Smith
 
PDF
Workshop unit test
Francesco Garavaglia
 
PPT
Unit testing
dubbu
 
PPT
Unit Testing
François Camus
 
Junit Interview Questions-ppt
Mayank Kumar
 
Automated Unit Testing
Mike Lively
 
.Net Unit Testing with Visual Studio 2010
kgayda
 
Introduction To J unit
Olga Extone
 
NUnit Features Presentation
Shir Brass
 
Unit testing
princezzlove
 
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Thomas Weller
 
Unit Testing And Mocking
Joe Wilson
 
Moq presentation
LynxStar
 
Unit testing with Junit
Valerio Maggio
 
Unit Test Presentation
Sayedur Rahman
 
Unit Testing
Sergey Podolsky
 
Beginners - Get Started With Unit Testing in .NET
Baskar K
 
Unit Testing
Anuj Arora
 
Unit Testing Concepts and Best Practices
Derek Smith
 
Workshop unit test
Francesco Garavaglia
 
Unit testing
dubbu
 
Unit Testing
François Camus
 
Ad

Similar to The future of testing in Pharo (20)

PDF
DrTests: The Future of Testing in Pharo
ESUG
 
PDF
Exposing Test Analyses with DrTests
ESUG
 
PDF
May: Automated Developer Testing: Achievements and Challenges
TriTAUG
 
PPT
Test Automation Framework Designs
Test Automaton
 
PDF
Introduzione a junit + integrazione con archibus
Davide Fella
 
PPTX
Java script unit testing
Mats Bryntse
 
PPTX
L2624 labriola
michael.labriola
 
PPTX
Test automation proposal
Mihai-Cristian Fratila
 
PDF
Automated Web Testing using JavaScript
Simon Guest
 
PDF
Testing: ¿what, how, why?
David Rodenas
 
PPT
Automated testing overview
Alex Pop
 
PDF
Arquillian: Effective tests from the client to the server
Lukáš Fryč
 
PDF
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
Kevin Brockhoff
 
PDF
JAVASCRIPT TDD(Test driven Development) & Qunit Tutorial
Anup Singh
 
PDF
JavaScript TDD with Jasmine and Karma
Christopher Bartling
 
PPTX
Advances in Unit Testing: Theory and Practice
Tao Xie
 
PPTX
Unit Testing and TDD 2017
Xavi Hidalgo
 
PPT
Test Automation Framework Designs
Sauce Labs
 
KEY
Enterprise Strength Mobile JavaScript
Troy Miles
 
PPTX
3 Ways to test your ColdFusion API - 2017 Adobe CF Summit
Ortus Solutions, Corp
 
DrTests: The Future of Testing in Pharo
ESUG
 
Exposing Test Analyses with DrTests
ESUG
 
May: Automated Developer Testing: Achievements and Challenges
TriTAUG
 
Test Automation Framework Designs
Test Automaton
 
Introduzione a junit + integrazione con archibus
Davide Fella
 
Java script unit testing
Mats Bryntse
 
L2624 labriola
michael.labriola
 
Test automation proposal
Mihai-Cristian Fratila
 
Automated Web Testing using JavaScript
Simon Guest
 
Testing: ¿what, how, why?
David Rodenas
 
Automated testing overview
Alex Pop
 
Arquillian: Effective tests from the client to the server
Lukáš Fryč
 
Deliver Faster with BDD/TDD - Designing Automated Tests That Don't Suck
Kevin Brockhoff
 
JAVASCRIPT TDD(Test driven Development) & Qunit Tutorial
Anup Singh
 
JavaScript TDD with Jasmine and Karma
Christopher Bartling
 
Advances in Unit Testing: Theory and Practice
Tao Xie
 
Unit Testing and TDD 2017
Xavi Hidalgo
 
Test Automation Framework Designs
Sauce Labs
 
Enterprise Strength Mobile JavaScript
Troy Miles
 
3 Ways to test your ColdFusion API - 2017 Adobe CF Summit
Ortus Solutions, Corp
 
Ad

Recently uploaded (20)

PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Presentation about variables and constant.pptx
kr2589474
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 

The future of testing in Pharo

  • 1. The future of testing in Pharo Julien Delplanque [email protected]
  • 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