JDemo
 Lightweight Exploratory Developer Testing

                                 Ilja Preuß
                            ...
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ß,...
Motivation




       Rich client application with “complex” user interface.




      Ilja Preuß, disy Informationssystem...
Motivation




  hard to test (automatically):
      aesthetics
      usability




       Ilja Preuß, disy Informationssy...
Motivation




                         ⇒ manual (exploratory) testing




      Ilja Preuß, disy Informationssysteme GmbH...
Motivation




                          seeing your creation in action

                                 motivator



   ...
Motivation




  problem:


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

...
Motivation




  known solutions:
      “interactive” unit tests → hack, not permanent, brittle
      write main methods →...
Questions:

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

           W...
JUnit vs. JDemo


                                 JUnit            JDemo

                             TestCase          ...
JUnit vs. JDemo




                                      JUnit       JDemo

                                   arrange   ...
Let’s try it!




                The Test/Code Cycle in XP
                     William C. Wake
       http://www.xp123.c...
Ilja Preuß, disy Informationssysteme GmbH   JDemo - Lightweight Exploratory Developer Testing
Experience




  writing demos
      increases flow
      fosters decoupling and reusability
      creates executable docum...
Case Study




                                          27 demos
      Ilja Preuß, disy Informationssysteme GmbH   JDemo ...
Case Study




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




       Ilja Preuß, disy Informations...
Case Study




         61 demo-starts,                                 62 application starts
        1 application start ...
Demos as Smoketests




  problem:


      demos are executed in “chunks”
      unused code breaks

   → demos break over ...
Demos as Smoketests




  idea:


  tests are executed regularly, as part of continuous integration

  → automatically con...
More Features




     setup / teardown
     suites of demos
     @Demo annotation
     specification of timeout
     show ...
Even More Features




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



...
Open Questions




     collaboration with QA/technical writers
     demos for web applications
     web demo runner (appl...
Summary




    exploratory testing is a valuable part of the development cycle
    tool support can help integrate explor...
Some Small Advice


     first learn Test Driven Development
     then learn to test-drive user interfaces
     only then t...
Thanks!




                                     preuss@disy.net


                                      www.jdemo.de




...
Upcoming SlideShare
Loading in...5
×

Agile2008 Jdemo Slides

368

Published on

My JDemo presentation at Agile 2008, Toronto

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
368
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile2008 Jdemo Slides

  1. 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. 2. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  3. 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. 4. Motivation Rich client application with “complex” user interface. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  5. 5. Motivation hard to test (automatically): aesthetics usability Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  6. 6. Motivation ⇒ manual (exploratory) testing Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  7. 7. Motivation seeing your creation in action motivator Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  8. 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. 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. 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. 11. JUnit vs. JDemo JUnit JDemo TestCase . . . DemoCase test . . . demo . . . Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  12. 12. JUnit vs. JDemo JUnit JDemo arrange arrange show act explore assert Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  13. 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. 14. Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  15. 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. 16. Case Study 27 demos Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  17. 17. Case Study startup/arrangement times: application: 45s demo: 4s Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  18. 18. Case Study 61 demo-starts, 62 application starts 1 application start (hypothetical) Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  19. 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. 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. 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. 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. 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. 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. 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. 26. Thanks! preuss@disy.net www.jdemo.de Ilja Preuß, disy Informationssysteme GmbH JDemo - Lightweight Exploratory Developer Testing
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×