Tools for Java test automation

Daniel Wildt
Software Developer
dwildt@gmail.com
http://danielwildt.blogspot.com
Agenda

•   Test is a form of art
•   Agile Methodologies and testing
•   White box testing techniques (Unit Testing)
•   ...
Test is a form of art
• You need to verify development code without
  seeing it (some times)
• You need to ensure that req...
Agile Methodologies and Testing

• Agile Methodologies are based on disciplines
  and practices that focus on principles l...
Agile Methodologies and Testing




                                  5
                !
Agile Methodologies and Testing




                                  6
                !
White box testing techniques
       (Unit Testing)
• Source grow together with source
  • TDD




                        ...
White box testing techniques
       (Unit Testing)
• Easy integration for
  Business - FIT




                           ...
White box testing techniques
            (Unit Testing)
•   You don’t have it?
    Mock!

    public class ExampleTest {
 ...
Black box testing techniques
       (Functional)
• Functional Test
  Selenium IDE




                                    ...
Black box testing techniques
       (Functional)
• Stress Testing
• JMeter




                                      11
  ...
Ensuring Quality in the test process
with Test Coverage




                                       12
                 !
Applying Test Driven Development
and Continuous Integration




                                   13
               !
Applying Test Driven Development
and Continuous Integration




                                   14
               !
Final words

• Always think about this:


                  Verification
                       X
                  Valida...
Final words




http://www.ambysoft.com/essays/floot.html
                                                16
             ...
References

• Beck, Kent; Andres, Cynthia. Extreme
  Programming explained: embrace change. 2ª
  edition.
• Pressman, Roge...
References

• Tinkha, Andy; Kaner, Cem. Exploring
  Exploratory Testing.
  http://www.testingeducation.org/a/explore.pdf
•...
Links

• JUnit – Unit Testing
   • http://www.junit.org
• JMeter – Stress Testing
   • http://jakarta.apache.org/jmeter/
•...
Links

• CheckStyle –Code Audit
   • http://checkstyle.sf.net
• Easy Mock
   • http://www.easymock.org/
• FIT
   • http://...
Questions?




             21
      !
Thanks!




          22
    !
Upcoming SlideShare
Loading in …5
×

Just Java2007 - Daniel Wildt - Tools For Java Test Automation

3,391 views

Published on

Presentation from Just Java 2007, related to Tools For Java Test Automation

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
3,391
On SlideShare
0
From Embeds
0
Number of Embeds
617
Actions
Shares
0
Downloads
152
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Just Java2007 - Daniel Wildt - Tools For Java Test Automation

  1. 1. Tools for Java test automation Daniel Wildt Software Developer dwildt@gmail.com http://danielwildt.blogspot.com
  2. 2. Agenda • Test is a form of art • Agile Methodologies and testing • White box testing techniques (Unit Testing) • Black box testing techniques (Functional) • Ensuring Quality in the test process with Test Coverage • Applying Test Driven Development and Continuous Integration • Final words • References • Links 2 !
  3. 3. Test is a form of art • You need to verify development code without seeing it (some times) • You need to ensure that requirements are implemented in the same way they were defined • You need to embrace change (focus on customer) • You need to test faster to deliver faster (short cycles) • You need to apply quality while testing • You need to have a good coverage of source/requirements while testing • You need to be creative while finding spots to test 3 !
  4. 4. Agile Methodologies and Testing • Agile Methodologies are based on disciplines and practices that focus on principles like these (from Agile Manifesto principles): • Satisfy the customer as highest priority, through early and continuous delivery of valuable software. • Business people and developers working together daily throughout the project • Measure the progress of a project based on working software, its primary measure • Self organizing teams, motivated individuals, communication and simplicity as strong values • Technical excellence is wanted to enhance agility. • Continuous improvement, to tune and adjust teams to become more effective. 4 !
  5. 5. Agile Methodologies and Testing 5 !
  6. 6. Agile Methodologies and Testing 6 !
  7. 7. White box testing techniques (Unit Testing) • Source grow together with source • TDD 7 !
  8. 8. White box testing techniques (Unit Testing) • Easy integration for Business - FIT 8 !
  9. 9. White box testing techniques (Unit Testing) • You don’t have it? Mock! public class ExampleTest { @Before public void setup() { mock = createMock(Collaborator.class); classUnderTest = new ClassUnderTest(); classUnderTest.addListener(mock); } @Test public void addDocument() { mock.documentAdded(quot;New Documentquot;); replay(mock); classUnderTest.addDocument(quot;New Documentquot;, new byte[0]); verify(mock); } } 9 !
  10. 10. Black box testing techniques (Functional) • Functional Test Selenium IDE 10 !
  11. 11. Black box testing techniques (Functional) • Stress Testing • JMeter 11 !
  12. 12. Ensuring Quality in the test process with Test Coverage 12 !
  13. 13. Applying Test Driven Development and Continuous Integration 13 !
  14. 14. Applying Test Driven Development and Continuous Integration 14 !
  15. 15. Final words • Always think about this: Verification X Validation ? • More: check CMMI – Level 3 15 !
  16. 16. Final words http://www.ambysoft.com/essays/floot.html 16 !
  17. 17. References • Beck, Kent; Andres, Cynthia. Extreme Programming explained: embrace change. 2ª edition. • Pressman, Roger S. Software Engineering. • Agile Manifesto http://www.agilemanifesto.org 17 !
  18. 18. References • Tinkha, Andy; Kaner, Cem. Exploring Exploratory Testing. http://www.testingeducation.org/a/explore.pdf • Scott Ambler essay about FLOOT. http://www.ambysoft.com/essays/floot.html • Ciclomatic Complexity. http://www.sei.cmu.edu/str/descriptions/cyclomat ic_body.html 18 !
  19. 19. Links • JUnit – Unit Testing • http://www.junit.org • JMeter – Stress Testing • http://jakarta.apache.org/jmeter/ • Emma – Code Coverage • http://emma.sf.net • Selenium –Functional testing • http://www.openqa.org/selenium/ • PMD – Code Audit • http://pmd.sf.net 19 !
  20. 20. Links • CheckStyle –Code Audit • http://checkstyle.sf.net • Easy Mock • http://www.easymock.org/ • FIT • http://fit.c2.com/ • Lunt Build • http://luntbuild.javaforge.com/ • Cruise Control • http://confluence.public.thoughtworks.org/disp lay/CC 20 !
  21. 21. Questions? 21 !
  22. 22. Thanks! 22 !

×