Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 15 (more)

Testing In Java

From dnoble, 1 year ago

Overview of testing concepts, practices, and tools in Java.

12670 views  |  2 comments  |  15 favorites  |  1204 downloads  |  17 embeds (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 12670
on Slideshare: 12527
from embeds: 143* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: David Noble dnoble@exist.com Sr. Solutions Architect, Exist Global Testing in Java San Gabriel Valley Java Users Group http://www.sgvjug.org/ June 25, 2007

Slide 2: Goal Motivate excellence in testing with concepts, practices, and tools 2

Slide 3: Scope requirements quality assurance Testing continuous concepts, integration practices, tools static code analysis debugging profiling 3

Slide 4: Agenda Test-Driven Development Terminology Tools Application Discussion 4

Slide 5: System Concept System Requirements System Design Detailed Design Implementation g n ti es T http://www.flickr.com/photos/h2oalchemist/342496829/ 5

Slide 6: Demo A Taste of TDD

Slide 7: Test-Driven Development Add test Fail Make small change Pass Pass Commit changes 7 See also: http://www.agiledata.org/essays/tdd.html

Slide 8: Test-Driven Development Add test Fail Fix bug Pass Commit changes 8

Slide 9: Test-Driven Development Commit changes Refactor Pass Code Add test Fail Make small change Pass Pass Commit changes 9

Slide 10: Test-Driven Development Small steps Frequent check-ins 10

Slide 11: Test-Driven Development Deeper than “test first” Design for testability 11

Slide 12: Test-Driven Development Unit tests as example code Interface before implementation Function drives form 12

Slide 13: Test-Driven Development Loose coupling Services with clear responsibilities Mock objects 13

Slide 14: Taste the so up! 14 http://flickr.com/photos/basak/227480302/

Slide 15: Intent Reality Requirements, Implementation, Architecture, Deployment Design 15

Slide 16: Intent Reality Requirements, Implementation, ! ap Architecture, Deployment G Design 16

Slide 17: Intent Accountability Reality Requirements, Testing, QA Implementation, Architecture, Deployment Design 17

Slide 18: Intent Accountability Reality Requirements, Testing, QA Implementation, Architecture, Deployment ck ty Design he li ! C ea R 18

Slide 19: Terminology QA – quality assurance Do the right things Do things right Ensure quality standards 19

Slide 20: Terminology Test – success criteria Is it right? Is it done? 20

Slide 21: Terminology Test plan Test case Test suite Test report Test coverage 21

Slide 22: Terminology Unit test Functional test Integration test System test Acceptance test Regression test 22

Slide 23: Terminology Non-functional testing Performance test Load test Soak test 23

Slide 24: Terminology Continuous integration 24

Slide 25: Tools Mock Objects jMock, EasyMock JUnit, TestNG Unit Tests Ant, Maven Build Eclipse, NetBeans IDE 25

Slide 26: Tools Selenium, HttpUnit Web Apps Cactus JEE Servers DBUnit Databases 26

Slide 27: Tools Selenium, FitNesse, Stiq Acceptance JMeter, Eclipse TPTP Performance Cobertura, Emma Coverage 27

Slide 28: Tools Continuous Cruise Control, Integration Continuum, Hudson 28

Slide 29: Tools Continuous Integration Cruise Control, Continuum, Hudson Acceptance Selenium, FitNesse, Stiq Performance JMeter, Eclipse TPTP Coverage Cobertura, Emma Web Apps Selenium, HttpUnit Unit testing JEE Servers Cactus Databases DBUnit Mock Objects jMock, EasyMock JUnit, TestNG Unit Tests Ant, Maven Build Eclipse, NetBeans IDE 29

Slide 30: Demo Tools

Slide 31: Resources: SGV JUG Web Site http://sgvlug.net/mailman/listinfo/java-sig Mailing List (Hosted by SGV Linux Users Group) http://sgvlug.net/mailman/listinfo/java-sig java-sig@sgvlug.net 31

Slide 32: Resources: TDD Articles http://www.agiledata.org/essays/tdd.html http://en.wikipedia.org/wiki/Test_driven_development http://www.testdriven.com/modules/xoopsfaq/ http://www.artima.com/intv/testdriven.html http://www.google.com/search?hl=en&q=test+driven+development (really!) 32

Slide 33: Resources: IDE & Build Tools Eclipse IDE http://www.eclipse.org/ NetBeans IDE http://www.netbeans.org/ Ant http://ant.apache.org/ Maven 2 http://maven.apache.org/ http://www.devzuz.com/web/guest/products/resources#BBWM Maven & Eclipse http://m2eclipse.codehaus.org/ Maven & Netbean http://maven.apache.org/guides/mini/guide-ide-netbeans/guide-ide-netbeans.html 33

Slide 34: Resources: Unit Testing JUnit Framework http://junit.org/ JUnit FAQ http://junit.sourceforge.net/doc/faq/faq.htm JUnit with Ant http://ant.apache.org/manual/OptionalTasks/junit.html http://ant.apache.org/manual/OptionalTasks/junitreport.html JUnit with Maven http://maven.apache.org/plugins/maven-surefire-plugin/ TestNG Framework http://testng.org/doc/ Jester – Mutation Testing http://jester.sourceforge.net/ http://www.ibm.com/developerworks/java/library/j-jester/ 34

Slide 35: Resources: Mock Objects Mock Objects Blog http://mockobjects.com/ EasyMock Library http://easymock.org/ jMock Library http://jmock.org/ 35

Slide 36: Resources: Unit & Functional XmlUnit Library http://xmlunit.sourceforge.net/ DBUnit Library http://dbunit.sourceforge.net/ HttpUnit Library http://httpunit.sourceforge.net/ Cactus for JEE Server Code http://jakarta.apache.org/cactus/ Cargo for JEE Server Code http://cargo.codehaus.org/ 36

Slide 37: Resources: Test Coverage Cobertura http://cobertura.sourceforge.net/ http://www.ibm.com/developerworks/java/library/j-cobertura/ Cobertura with Ant http://cobertura.sourceforge.net/anttaskreference.html Cobertura with Maven http://mojo.codehaus.org/cobertura-maven-plugin/usage.html Emma http://emma.sourceforge.net/ 37

Slide 38: Resources: Perf. & Load JUnitPerf http://clarkware.com/software/JUnitPerf.html JMeter http://jakarta.apache.org/jmeter/ Eclipse TPTP (Test & Performance Tools Platform) http://www.eclipse.org/tptp/ Netbeans Profiler http://profiler.netbeans.org/ 38

Slide 39: Resources: Acceptance Tests Selenium for Web Apps http://www.openqa.org/selenium/ http://www.openqa.org/selenium-ide/download.action Automating Selenium (“Remote Control”) http://www.openqa.org/selenium-rc/ http://wiki.openqa.org/display/SRC/Selenium-RC+and+Continuous+Integration Selenium & Maven http://raibledesigns.com/rd/entry/selenium_plugin_for_maven FitNesse http://fitnesse.org/ Stiq http://storytestiq.sourceforge.net/ 39

Slide 40: Resources: Cont. Integration Cruise Control http://cruisecontrol.sourceforge.net/ Continuum http://maven.apache.org/continuum/ Hudson https://hudson.dev.java.net/ 40

Slide 41: Resources: App used in Demo Open Source Medical Record System http://www.openmrs.org/ Prerequisites: SVN, MySQL 5, Tomcat 5 http://subclipse.tigris.org/update_1.2.x http://mysql.org/ http://tomcat.apache.org/ SVN Repository http://svn.openmrs.org/openmrs/branches/alpha Installation Edit build.properties and properties.xml to set tomcat.user/password, or add test/test to $CATALINA_HOME/conf/tomcat-users.xml file. Edit build.properties and/or properties.xml to set tomcat.home file. Comment out creation of \"test\" MySQL user in schema if it already exists. Default username/password is admin/test. 41

Slide 42: Thank you To all who participated!