0
What’s the most
exciting part of your
       project?
What’s the most
      exciting part of your
             project?
The beginning when you come up with the idea?
What’s the most
      exciting part of your
             project?
The beginning when you come up with the idea?

Setting u...
What’s the most
       exciting part of your
              project?
The beginning when you come up with the idea?

Setting...
What’s the most
       exciting part of your
              project?
The beginning when you come up with the idea?

Setting...
Send Email to Confluence
Send Email to Confluence
           Confluence
Send Email to Confluence
           Confluence
             Content
Send Email to Confluence
           Confluence
             Content




             Browser
Send Email to Confluence
           Confluence
             Content




             Browser
Send Email to Confluence
           Confluence
             Content



           Plugin




              Browser
Send Email to Confluence
           Confluence
             Content



           Plugin




              Browser
Send Email to Confluence
            Confluence
              Content



            Plugin


Email
Client         Browser
Send Email to Confluence
             Confluence
 Email         Content
Server


             Plugin


Email
Client         ...
Send Email to Confluence
             Confluence
 Email         Content
Server


             Plugin


Email
Client         ...
Send Email to Confluence
             Confluence
 Email         Content
Server


             Plugin


Email
Client         ...
Send Email to Confluence
             Confluence
 Email         Content
Server


             Plugin
   1

Email
Client     ...
Send Email to Confluence
                    Confluence
 Email                Content
Server

         2 (cron)
            ...
Send Email to Confluence
                    Confluence
 Email                Content
Server

         2 (cron)      3
     ...
Send Email to Confluence
                    Confluence
 Email                Content
Server

         2 (cron)      3
     ...
What if you don’t automate testing?
What if you don’t automate testing?
           You will fear.
What if you don’t automate testing?
           You will fear.
             “Fear is the path to the dark
             side...
How to efficiently test this?
How to efficiently test this?
Lots of great tools:
* Selenium
* Atlassian-Selenium
* Functional Test Plugin
* jWebUnit (use...
How to efficiently test this?
Lots of great tools:
* Selenium                GINT
* Atlassian-Selenium      Groovy Integrat...
Confluence has lots of
hooks. Take advantage
       of them
Confluence
 Email
Server                Content
         2 (cron)
                          3
                       Plugin...
Confluence
 Email
Server                     Content
              2 (cron)
                               3
              ...
Confluence
    Email
   Server                           Content
                       2 (cron)
                          ...
Confluence
    Email
   Server                           Content
                       2 (cron)
                          ...
Confluence
    Email
   Server                           Content
                       2 (cron)
                          ...
Confluence
    Email
   Server                                    Content
                       2 (cron)
                 ...
Confluence
    Email
   Server                                       Content
                        2 (cron)
             ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
Confluence
    Email
   Server                                      Content
                       2 (cron)
               ...
How Easy?
How Easy?
Entire servlet plugin
How Easy?
Entire servlet plugin




Check page exists, creator and content is right
What will happen?
What will happen?
   4x productivity
the jump to Lightspeed
What will happen?
   4x productivity
the jump to Lightspeed




   10x the fun!
Conclusion:

Keep your dev cycle fast,
  tight and fun with
  automated testing.
Upcoming SlideShare
Loading in...5
×

Integration Testing the Confluence Send Mail To Page plugin

2,956

Published on

the notes from my lightning talk on integration testing my "Send Email To Page" plugin for AtlasCamp 2010

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,956
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide











































  • Transcript of "Integration Testing the Confluence Send Mail To Page plugin"

    1. 1. What’s the most exciting part of your project?
    2. 2. What’s the most exciting part of your project? The beginning when you come up with the idea?
    3. 3. What’s the most exciting part of your project? The beginning when you come up with the idea? Setting up the project / prototype / impl?
    4. 4. What’s the most exciting part of your project? The beginning when you come up with the idea? Setting up the project / prototype / impl? First people start to use it, maybe buy it, give you feedback?
    5. 5. What’s the most exciting part of your project? The beginning when you come up with the idea? Setting up the project / prototype / impl? First people start to use it, maybe buy it, give you feedback? Integration Testing? Yes!
    6. 6. Send Email to Confluence
    7. 7. Send Email to Confluence Confluence
    8. 8. Send Email to Confluence Confluence Content
    9. 9. Send Email to Confluence Confluence Content Browser
    10. 10. Send Email to Confluence Confluence Content Browser
    11. 11. Send Email to Confluence Confluence Content Plugin Browser
    12. 12. Send Email to Confluence Confluence Content Plugin Browser
    13. 13. Send Email to Confluence Confluence Content Plugin Email Client Browser
    14. 14. Send Email to Confluence Confluence Email Content Server Plugin Email Client Browser
    15. 15. Send Email to Confluence Confluence Email Content Server Plugin Email Client Browser
    16. 16. Send Email to Confluence Confluence Email Content Server Plugin Email Client Browser
    17. 17. Send Email to Confluence Confluence Email Content Server Plugin 1 Email Client Browser
    18. 18. Send Email to Confluence Confluence Email Content Server 2 (cron) Plugin 1 Email Client Browser
    19. 19. Send Email to Confluence Confluence Email Content Server 2 (cron) 3 Plugin 1 Email Client Browser
    20. 20. Send Email to Confluence Confluence Email Content Server 2 (cron) 3 Plugin 1 4 Email Client Browser
    21. 21. What if you don’t automate testing?
    22. 22. What if you don’t automate testing? You will fear.
    23. 23. What if you don’t automate testing? You will fear. “Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering - in plugin development.”
    24. 24. How to efficiently test this?
    25. 25. How to efficiently test this? Lots of great tools: * Selenium * Atlassian-Selenium * Functional Test Plugin * jWebUnit (used by JIRA) * HttpClient * Mockito * TestNG Framework
    26. 26. How to efficiently test this? Lots of great tools: * Selenium GINT * Atlassian-Selenium Groovy Integration Test Framework * Functional Test Plugin * jWebUnit (used by JIRA) * HttpClient * Mockito * TestNG Framework
    27. 27. Confluence has lots of hooks. Take advantage of them
    28. 28. Confluence Email Server Content 2 (cron) 3 Plugin 1 Email 4 Client Browser
    29. 29. Confluence Email Server Content 2 (cron) 3 Plugin 1 Email Test Suite 4 Client Browser
    30. 30. Confluence Email Server Content 2 (cron) 3 Plugin 1 Email Test Suite 4 Client Browser 1 - SendEmail Util Class
    31. 31. Confluence Email Server Content 2 (cron) 3 Plugin 1 Email Test Suite 4 Client Browser 1 - SendEmail Util Class
    32. 32. Confluence Email Server Content 2 (cron) 3 1 Plugin 1 Email Test Suite 4 Client Browser 1 - SendEmail Util Class
    33. 33. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 4 Client Browser 1 - SendEmail Util Class
    34. 34. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check
    35. 35. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin
    36. 36. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin
    37. 37. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin
    38. 38. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin
    39. 39. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin 4 - Confluence Remote API - to check page creation, loc, content, labels, etc.
    40. 40. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin 4 - Confluence Remote API - to check page creation, loc, Remote Java Wrapper content, labels, etc. insulates from UI changes
    41. 41. Confluence Email Server Content 2 (cron) 3 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin 4 - Confluence Remote API - to check page creation, loc, Remote Java Wrapper content, labels, etc. insulates from UI changes
    42. 42. Confluence Email Server Content 2 (cron) 3 4 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin 4 - Confluence Remote API - to check page creation, loc, Remote Java Wrapper content, labels, etc. insulates from UI changes
    43. 43. Confluence Email Server Content 2 (cron) 3 4 1 Ser vlet Plugin 1 Trigger Email Test Suite 2/3 4 Client Browser 1 - SendEmail Util Class 2/3 - simple servlet plugin to trigger check Servlet Plugin 4 - Confluence Remote API - to check page creation, loc, Remote Java Wrapper content, labels, etc. insulates from UI changes
    44. 44. How Easy?
    45. 45. How Easy? Entire servlet plugin
    46. 46. How Easy? Entire servlet plugin Check page exists, creator and content is right
    47. 47. What will happen?
    48. 48. What will happen? 4x productivity the jump to Lightspeed
    49. 49. What will happen? 4x productivity the jump to Lightspeed 10x the fun!
    50. 50. Conclusion: Keep your dev cycle fast, tight and fun with automated testing.
    1. A particular slide catching your eye?

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

    ×