Speakers
- Matt Stine
- Brian Sletten
- Ken Sipe
- Nathaniel Schutta
- Mark Richards
- Pratik Patel
- Matthew McCullough
- Neal Ford
- Tim Berglund
- Peter Bell
- Craig Walls
- Venkat Subramaniam
- Jeff Scott Brown
- Hans Dockter
- Oleg Zhurakousky
- Billy Williams
- Johnny Wey
- Chris Wensel
- Jim Webber
- James Ward
- Kai Wähner
- Vaughn Vernon
- John Steven
- Bruce Snyder
- John Smart
- Stuart Sierra
- Alan Shalloway
- Roshan Sequeira
- Brian Sam-Bodden
- Terry Ryan
- Johanna Rothman
- Ian Robinson
- Paul Rayner
- Nilanjan Raychaudhuri
- Matt Raible
- Eric Pugh
- Prasanna Pendse
- Andy Painter
- Peter Niederwieser
- Andrew Lombardi
- Howard Lewis Ship
- Tiffany Lentz
- Scott Leberknight
- Kenneth Kousen
- Kirk Knoernschild
- Paul King
- Frank Kim
- Heath Kesler
- Heinz Kabutz
- Christopher Judd
- Leonid Igolnik
- Jez Humble
- Daniel Hinojosa
- Erik Hatcher
- James Harmon
- Stuart Halloway
- Arun Gupta
- Jerry Gulla
- Jeff Genender
- Raju Gandhi
- Szczepan Faber
- Ben Ellingson
- Todd Ellermann
- Johan Edstrom
- Hamlet D`Arcy
- Esther Derby
- Jeremy Deane
- Luke Daley
- Adrian Cole
- Cliff Click
- Andrey Breslav
- Charles Bradley
- David Bock
- Ola Bini
- Emad Benjamin
- Scott Bain
- Alex Antonov
- Andres Almiray
- Dan Allen
John Smart
Author of Java Power Tools
John is an experienced consultant and trainer specialising in Enterprise Java, Web Development, and Open Source technologies, currently based in Wellington, New Zealand. Well known in the Java community for his many published articles, and as author of Java Power Tools, John helps organisations around the world to optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes.
Blog
It ain't just reds and greens: Automated Acceptance Testing and quaternary test outcomes
Posted Tuesday, March 12, 2013
Although they seem simple enough on the surface, test outcomes are actually quite complicated beasts. Traditional unit tests, and basic TDD tests, have just two states, passing or failing, represented by red and green in the famous "RED-GREEN-REFACTOR" more »Selenium 2/WebDriver Quick Tips: Page Object Navigation Strategies
Posted Monday, February 25, 2013
In automated web testing, a Page Object is a class or object that represents a web page in your application. A Page Object hides the technical details about how you interact with a web page behind a more readable and business-focused facade. This has twmore »Functional Test Coverage - taking BDD reporting to the next level
Posted Monday, January 14, 2013
Conventional test reports, generated by tools such as JUnit or TestNG, naturally focus on what tests have been executed, and whether they passed or failed. While this is certainly useful from a testing perspective, these reports are far from telling themore »Does ATDD really save you time?
Posted Thursday, September 13, 2012
Acceptance Test Driven Development (ATDD) is a very effective development practice that essentially involves writing specifications in the form of documented and automated examples. These automated examples become automated acceptance tests that validatmore »ATDD, TDD and BDD practices for Java Developers
Posted Thursday, September 6, 2012
A recent study found that projects applying techniques such as Acceptance Test Driven Development and Test Driven Development deliverd 31% faster with 4 times less defects. Acceptance Test Driven Development (ATDD) is more than just a way to write autommore »Presentations
Automated deployment with Maven and friends - going the whole nine yards
Automating your build process with Continuous Integration is certainly a great idea, but why stop there? Why not go the whole nine yards and automate the deployment process as well? Staging and production deployments are typically more complicated and mormore »Zen and the Art of Build Script Maintenance
Build scripts are an essential art in any software project. And yet they are so often fragile, brittle and unportable things, hard to understand and harder to maintain. In this talk, we cover what constitutes a good build script, and look at a few of the more »Coding Dojo with John Smart
A Coding Dojo is a place where programmers come to improve their skills, by following a pattern similar to the martial arts dojo. Participants meet for at a pre-arranged time in a room that has one computer attached to a screen. The aim of the exercise wimore »Continuous Integration - Hudson
Continuous Integration is a fundamental best practice of modern software development. In this workshop, you will learn how to set up an effective Continuous Integration environment using Hudson, a popular open source Continuous Integration tool. more »JUnit Kung Fu: Getting More Out of Your Unit Tests
JUnit is the de facto standard in Java testing. Yet many advanced JUnit features are little known and poorly understood. This session reviews some lesser-known features of JUnit, along with a few associated libraries, that can make your unit tests more pomore »Completing the circle - Automated web tests as a team communication tool
Acceptance Test Driven Development, or ATDD, has proven to be a very effective technique, both for driving and guiding development, and for enhancing communication between developers and other project stakeholders. But why stop there? Well designed Acceptmore »Books
by John Ferguson Smart
-
All true craftsmen need the best tools to do their finest work, and programmers are no different. Java Power Tools delivers 30 open source tools designed to improve the development practices of Java developers in any size team or organization. Each chapter includes a series of short articles about one particular tool -- whether it's for build systems, version control, or other aspects of the development process -- giving you the equivalent of 30 short reference books in one package.
No matter which development method your team chooses, whether it's Agile, RUP, XP, SCRUM, or one of many others available, Java Power Tools provides practical techniques and tools to help you optimize the process. The book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase productivity in each area of the development cycle, including:
- Build tools including Ant and Maven 2
- Version control tools such as CVS and Subversion, the two most prominent open source tools
- Quality metrics tools that measure different aspects of code quality, including CheckStyle, PMD, FindBugs and Jupiter
- Technical documentation tools that can help you generate good technical documentation without spending too much effort writing and maintaining it
- Unit Testing tools including JUnit 4, TestNG, and the open source coverage tool Cobertura
- Integration, Load and Performance Testing to integrate performance tests into unit tests, load-test your application, and automatically test web services, Swing interfaces and web interfaces
- Issue management tools including Bugzilla and Trac
- Continuous Integration tools such as Continuum, Cruise Control, LuntBuild and Hudson
If you are a Java developer, these tools can help improve your development practices, and make your life easier in the process. Lead developers, software architects and people interested in the wider picture will be able to gather from these pages some useful ideas about improving your project infrastructure and best practices.
-
All true craftsmen need the best tools to do their finest work, and programmers are no different. Java Power Tools delivers 30 open source tools designed to improve the development practices of Java developers in any size team or organization. Each chapter includes a series of short articles about one particular tool -- whether it's for build systems, version control, or other aspects of the development process -- giving you the equivalent of 30 short reference books in one package.
No matter which development method your team chooses, whether it's Agile, RUP, XP, SCRUM, or one of many others available, Java Power Tools provides practical techniques and tools to help you optimize the process. The book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase productivity in each area of the development cycle, including:- Build tools including Ant and Maven 2
- Version control tools such as CVS and Subversion, the two most prominent open source tools
- Quality metrics tools that measure different aspects of code quality, including CheckStyle, PMD, FindBugs and Jupiter
- Technical documentation tools that can help you generate good technical documentation without spending too much effort writing and maintaining it
- Unit Testing tools including JUnit 4, TestNG, and the open source coverage tool Cobertura
- Integration, Load and Performance Testing to integrate performance tests into unit tests, load-test your application, and automatically test web services, Swing interfaces and web interfaces
- Issue management tools including Bugzilla and Trac
- Continuous Integration tools such as Continuum, Cruise Control, LuntBuild and Hudson