SlideShare a Scribd company logo
JDemo
 Lightweight Exploratory Developer Testing

                                 Ilja Preuß
                             preuss@disy.net
           disy Informationssysteme GmbH, Karlsruhe, Germany


                                   Agile 2008




Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation
Introduction to JDemo
Demonstration
Experiences
Demos as Tests
More Features
Summary and Advice




Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




       Rich client application with “complex” user interface.




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




  hard to test (automatically):
      aesthetics
      usability




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




                         ⇒ manual (exploratory) testing




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




                          seeing your creation in action

                                 motivator



      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




  problem:


  to see a specific component in action
      start application
      prepare needed scenario




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Motivation




  known solutions:
      “interactive” unit tests → hack, not permanent, brittle
      write main methods → lots of boiler plate code, unorganized




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Questions:

What would a JUnit-like framework for exploratory testing look
                            like?

           What would using such a framework be like?




   Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
JUnit vs. JDemo


                                 JUnit            JDemo

                             TestCase             . . . DemoCase
                              test . . .          demo . . .




      Ilja Preuß, disy Informationssysteme GmbH      JDemo - Lightweight Exploratory Developer Testing
JUnit vs. JDemo




                                      JUnit       JDemo

                                   arrange        arrange
                                                  show
                                         act      explore
                                      assert




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Let’s try it!




                The Test/Code Cycle in XP
                     William C. Wake
       http://www.xp123.com/xplor/xp0001/index.shtml

Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Experience




  writing demos
      increases flow
      fosters decoupling and reusability
      creates executable documentation
      gives feedback on usability




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Case Study




                                          27 demos
      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Case Study




  startup/arrangement times:
      application: 45s
      demo: 4s




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Case Study




         61 demo-starts,                                 62 application starts
        1 application start                                 (hypothetical)




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Demos as Smoketests




  problem:


      demos are executed in “chunks”
      unused code breaks

   → demos break over time




       Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Demos as Smoketests




  idea:


  tests are executed regularly, as part of continuous integration

  → automatically convert demos to smoke tests and execute them
  as part of the projects test suite




          Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
More Features




     setup / teardown
     suites of demos
     @Demo annotation
     specification of timeout
     show source code
     run with different look and feels




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Even More Features




     demos for AWT, SWT, files, sound . . .
     automated creation of screen shots via Ant task




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Open Questions




     collaboration with QA/technical writers
     demos for web applications
     web demo runner (applet?)




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Summary




    exploratory testing is a valuable part of the development cycle
    tool support can help integrate exploratory testing more
    tightly into the development work
    JDemo is a lightweight open source framework for Java that is
    aimed at providing that support




     Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Some Small Advice


     first learn Test Driven Development
     then learn to test-drive user interfaces
     only then take a look at JDemo




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Thanks!




                                     preuss@disy.net


                                      www.jdemo.de




      Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing

More Related Content

Similar to Agile2008 Jdemo Slides

Debugging
DebuggingDebugging
Debugging
Olivier Teytaud
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
Peter Bittner
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
Day Software
 
Mere Paas Teensy Hai (Nikhil Mittal)
Mere Paas Teensy Hai (Nikhil Mittal)Mere Paas Teensy Hai (Nikhil Mittal)
Mere Paas Teensy Hai (Nikhil Mittal)
ClubHack
 
Group 2 powerpoint 2
Group 2 powerpoint 2Group 2 powerpoint 2
Group 2 powerpoint 2
JSLCasmedia
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
Puppet
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
David Nuescheler
 
Showing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
Showing How Security Has (And Hasn't) Improved, After Ten Years Of TryingShowing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
Showing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
Dan Kaminsky
 
The future of Test Automation
The future of Test AutomationThe future of Test Automation
The future of Test Automation
Bernd Beersma
 
Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
cloelang0204
 
Design for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and TestersDesign for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and Testers
TechWell
 
Rapidly deploying software
Rapidly deploying softwareRapidly deploying software
Rapidly deploying software
Concentrated Technology
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers
NETFest
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
Puppet
 
Free tools for rapidly deploying software
Free tools for rapidly deploying softwareFree tools for rapidly deploying software
Free tools for rapidly deploying software
Concentrated Technology
 
What Have You Learnt About Technologies From The Process Of Constructing This...
What Have You Learnt About Technologies From The Process Of Constructing This...What Have You Learnt About Technologies From The Process Of Constructing This...
What Have You Learnt About Technologies From The Process Of Constructing This...
katydonovan
 
Prepping software for w7 deployment
Prepping software for w7 deploymentPrepping software for w7 deployment
Prepping software for w7 deployment
Concentrated Technology
 
Cursus phpunit
Cursus phpunitCursus phpunit
Cursus phpunit
Nick Belhomme
 
UNTI 2 P7
UNTI 2 P7UNTI 2 P7
UNTI 2 P7
OriginalGSM
 
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
Atlassian
 

Similar to Agile2008 Jdemo Slides (20)

Debugging
DebuggingDebugging
Debugging
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
 
Mere Paas Teensy Hai (Nikhil Mittal)
Mere Paas Teensy Hai (Nikhil Mittal)Mere Paas Teensy Hai (Nikhil Mittal)
Mere Paas Teensy Hai (Nikhil Mittal)
 
Group 2 powerpoint 2
Group 2 powerpoint 2Group 2 powerpoint 2
Group 2 powerpoint 2
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
 
Showing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
Showing How Security Has (And Hasn't) Improved, After Ten Years Of TryingShowing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
Showing How Security Has (And Hasn't) Improved, After Ten Years Of Trying
 
The future of Test Automation
The future of Test AutomationThe future of Test Automation
The future of Test Automation
 
Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
 
Design for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and TestersDesign for Testability: A Tutorial for Devs and Testers
Design for Testability: A Tutorial for Devs and Testers
 
Rapidly deploying software
Rapidly deploying softwareRapidly deploying software
Rapidly deploying software
 
.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers.NET Fest 2019. Arnon Axelrod. Test automation for developers
.NET Fest 2019. Arnon Axelrod. Test automation for developers
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
 
Free tools for rapidly deploying software
Free tools for rapidly deploying softwareFree tools for rapidly deploying software
Free tools for rapidly deploying software
 
What Have You Learnt About Technologies From The Process Of Constructing This...
What Have You Learnt About Technologies From The Process Of Constructing This...What Have You Learnt About Technologies From The Process Of Constructing This...
What Have You Learnt About Technologies From The Process Of Constructing This...
 
Prepping software for w7 deployment
Prepping software for w7 deploymentPrepping software for w7 deployment
Prepping software for w7 deployment
 
Cursus phpunit
Cursus phpunitCursus phpunit
Cursus phpunit
 
UNTI 2 P7
UNTI 2 P7UNTI 2 P7
UNTI 2 P7
 
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
 

More from Ilja Preuß

Entscheidungen Treffen in Agilen Organisationen
Entscheidungen Treffen in Agilen OrganisationenEntscheidungen Treffen in Agilen Organisationen
Entscheidungen Treffen in Agilen Organisationen
Ilja Preuß
 
Giving up control doesn't work, either!
Giving up control doesn't work, either!Giving up control doesn't work, either!
Giving up control doesn't work, either!
Ilja Preuß
 
Entscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen OrganisationEntscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen Organisation
Ilja Preuß
 
Entscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen OrganisationEntscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen Organisation
Ilja Preuß
 
Hosen runter! - mit Social Media zum vernetzten Unternehmen
Hosen runter! - mit Social Media zum vernetzten UnternehmenHosen runter! - mit Social Media zum vernetzten Unternehmen
Hosen runter! - mit Social Media zum vernetzten Unternehmen
Ilja Preuß
 
New work tut (auch) weh...
New work tut (auch) weh...New work tut (auch) weh...
New work tut (auch) weh...
Ilja Preuß
 
Innovationskultur tut (auch) weh...
Innovationskultur tut (auch) weh...Innovationskultur tut (auch) weh...
Innovationskultur tut (auch) weh...
Ilja Preuß
 
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
Ilja Preuß
 
Agiles Management - Die Zeit ist reif!
Agiles Management - Die Zeit ist reif!Agiles Management - Die Zeit ist reif!
Agiles Management - Die Zeit ist reif!
Ilja Preuß
 
Von der Diktatur zum Crowdsourcing
Von der Diktatur zum CrowdsourcingVon der Diktatur zum Crowdsourcing
Von der Diktatur zum Crowdsourcing
Ilja Preuß
 
Entwickler vs. Manager - ein Friedensplan
Entwickler vs. Manager - ein FriedensplanEntwickler vs. Manager - ein Friedensplan
Entwickler vs. Manager - ein Friedensplan
Ilja Preuß
 
Continuous Open Space
Continuous Open SpaceContinuous Open Space
Continuous Open Space
Ilja Preuß
 
kontinuierlicher Openspace
kontinuierlicher Openspacekontinuierlicher Openspace
kontinuierlicher Openspace
Ilja Preuß
 

More from Ilja Preuß (13)

Entscheidungen Treffen in Agilen Organisationen
Entscheidungen Treffen in Agilen OrganisationenEntscheidungen Treffen in Agilen Organisationen
Entscheidungen Treffen in Agilen Organisationen
 
Giving up control doesn't work, either!
Giving up control doesn't work, either!Giving up control doesn't work, either!
Giving up control doesn't work, either!
 
Entscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen OrganisationEntscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen Organisation
 
Entscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen OrganisationEntscheidungen treffen in der agilen Organisation
Entscheidungen treffen in der agilen Organisation
 
Hosen runter! - mit Social Media zum vernetzten Unternehmen
Hosen runter! - mit Social Media zum vernetzten UnternehmenHosen runter! - mit Social Media zum vernetzten Unternehmen
Hosen runter! - mit Social Media zum vernetzten Unternehmen
 
New work tut (auch) weh...
New work tut (auch) weh...New work tut (auch) weh...
New work tut (auch) weh...
 
Innovationskultur tut (auch) weh...
Innovationskultur tut (auch) weh...Innovationskultur tut (auch) weh...
Innovationskultur tut (auch) weh...
 
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
Agile Management Innovationen - in einfachen Schritten die Unternehmenskultur...
 
Agiles Management - Die Zeit ist reif!
Agiles Management - Die Zeit ist reif!Agiles Management - Die Zeit ist reif!
Agiles Management - Die Zeit ist reif!
 
Von der Diktatur zum Crowdsourcing
Von der Diktatur zum CrowdsourcingVon der Diktatur zum Crowdsourcing
Von der Diktatur zum Crowdsourcing
 
Entwickler vs. Manager - ein Friedensplan
Entwickler vs. Manager - ein FriedensplanEntwickler vs. Manager - ein Friedensplan
Entwickler vs. Manager - ein Friedensplan
 
Continuous Open Space
Continuous Open SpaceContinuous Open Space
Continuous Open Space
 
kontinuierlicher Openspace
kontinuierlicher Openspacekontinuierlicher Openspace
kontinuierlicher Openspace
 

Recently uploaded

Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
paysquare consultancy
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
chetankumar9855
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 

Recently uploaded (20)

Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
The Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdfThe Role of Technology in Payroll Statutory Compliance (1).pdf
The Role of Technology in Payroll Statutory Compliance (1).pdf
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...Amul milk launches in US: Key details of its new products ...
Amul milk launches in US: Key details of its new products ...
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 

Agile2008 Jdemo Slides

  • 1. JDemo Lightweight Exploratory Developer Testing Ilja Preuß preuss@disy.net disy Informationssysteme GmbH, Karlsruhe, Germany Agile 2008 Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 2. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 3. Motivation Introduction to JDemo Demonstration Experiences Demos as Tests More Features Summary and Advice Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 4. Motivation Rich client application with “complex” user interface. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 5. Motivation hard to test (automatically): aesthetics usability Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 6. Motivation ⇒ manual (exploratory) testing Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 7. Motivation seeing your creation in action motivator Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 8. Motivation problem: to see a specific component in action start application prepare needed scenario Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 9. Motivation known solutions: “interactive” unit tests → hack, not permanent, brittle write main methods → lots of boiler plate code, unorganized Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 10. Questions: What would a JUnit-like framework for exploratory testing look like? What would using such a framework be like? Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 11. JUnit vs. JDemo JUnit JDemo TestCase . . . DemoCase test . . . demo . . . Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 12. JUnit vs. JDemo JUnit JDemo arrange arrange show act explore assert Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 13. Let’s try it! The Test/Code Cycle in XP William C. Wake http://www.xp123.com/xplor/xp0001/index.shtml Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 14. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 15. Experience writing demos increases flow fosters decoupling and reusability creates executable documentation gives feedback on usability Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 16. Case Study 27 demos Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 17. Case Study startup/arrangement times: application: 45s demo: 4s Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 18. Case Study 61 demo-starts, 62 application starts 1 application start (hypothetical) Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 19. Demos as Smoketests problem: demos are executed in “chunks” unused code breaks → demos break over time Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 20. Demos as Smoketests idea: tests are executed regularly, as part of continuous integration → automatically convert demos to smoke tests and execute them as part of the projects test suite Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 21. More Features setup / teardown suites of demos @Demo annotation specification of timeout show source code run with different look and feels Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 22. Even More Features demos for AWT, SWT, files, sound . . . automated creation of screen shots via Ant task Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 23. Open Questions collaboration with QA/technical writers demos for web applications web demo runner (applet?) Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 24. Summary exploratory testing is a valuable part of the development cycle tool support can help integrate exploratory testing more tightly into the development work JDemo is a lightweight open source framework for Java that is aimed at providing that support Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 25. Some Small Advice first learn Test Driven Development then learn to test-drive user interfaces only then take a look at JDemo Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  • 26. Thanks! preuss@disy.net www.jdemo.de Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing