Skip to main content

John Ferguson Smart

John is a freelance consultant 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, John helps organisations to optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes. John is principal consultant at Wakaleo Consulting, a company that provides consulting, training and mentoring services in Enterprise Java and Agile Development.

 

Articles

If you use Maven, or even if you just use Maven repositories for your dependency management, you should be using a Maven Repository Manager.
If you are a NetBeans user working with Maven, you're in luck with NetBeans 6.7.1! This latest release comes with a swathe of cool features to help you work with your Maven projects pretty much out-of-the-box.
Grails is an excellent, highly productive development framework that positively encourages good development and testing practices. This article shows how to set up a Continuous Integration build job to compile and test your Grails application in Hudson, for automated continuous integration.
Want to provide maps in your web application? The Google Maps API is straightforward to call from Java, and with an Ajax-ian approach, you can make it extra user-friendly. John Ferguson Smart shows you how to combine these approaches.
Jabber is a popular and widely supported XML-based API for exchanging instant messages. You could compose the messages by hand, but there's an alternative. John Ferguson Smart introduces the Smack API, which makes it easy to use Jabber services from Java.
Standards are so much easier to adhere to when your tools do it for you. Thanks to JAX-WS and its implementation in application servers like GlassFish, you can write web services as plain ol' Java objects, just by adding a few annotations. John Ferguson Smart shows how it's done.
The best way to integrate in a hurry is to have been doing it all along. This practice of continuous integration is greatly helped by automated tools to check out and build your team's code on a more or less constant basis. Apache Continuum offers a free and open source tool to do continuous...
Oftentimes, your new code replaces an older system whose data must be migrated to the new system. This isn't a process that gets a lot of thought, but John Ferguson Smart says it probably should. In this article, he shows how an iterative, test-driven approach can save you a lot of headaches...

Weblogs

Thucydides version 0.9.268 has just been released, with a few very interesting new features. Thucydides is an open source reporting library that helps you...

One of the principle rules of Continuous Integration (and Continuous Delivery) is that you should never knowingly commit code that will break the build. When you practice test-driven development...

Data-driven testing is a powerful way of testing a given scenario with different combinations of values. In this article, we look at several ways to do data-driven unit testing in JUnit.

Behaviour Driven Development is an increasingly popular Agile development practice that turns testing on its head. It turns automated acceptance testing from a verification activity, done once the...

Behaviour-driven development (BDD) started as an improved variation on test-driven development, but has evolved to become a formidable tool that helps teams communicate more effectively about...

Behavior Driven Development (BDD) is an approach that uses conversions around concrete examples to discover, describe and formalize the behavior of a system. BDD tools such as JBehave and Cucumber...

  • Deliver valuable features, faster!
  • Reduce wasted efforts due to...

We have an exciting training schedule lined up for 2014, with the introduction of a new workshop on ...

An essential part of a well-written unit test is a well-written assertion. The assertion states the behavior you expect out of the system. It should tell you at a glance what a test is trying to...

Next week I will be giving a talk at the Sydney Agile Meetup entitled "Automated Functional Testing - The good, the bad and the ugly". Here is the summary:

In the pursuit of...

This article was writen by Simeon Ross, who works in a large government organization. In it, he describes how he sets up parallel testing in JBehave and Thucydides using Bamboo....

Over the next few months, I will be running a new advanced TDD/BDD workshop in cities around Australia, including...

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,...

BDD reporting: from test results to status reports

Conventional test reports, generated by tools such as JUnit or TestNG, naturally focus on what tests have been executed, and whether...

Bugs are inevitable. Even after you thought you have finished coding your work, another bug creeps in, making you want to wish the bugs were real tangible objects that you could squish with your...

Acceptance Test Driven Development (ATDD) is a method wherein business stakeholders, analysts, testers and developers collectively specify and agree on what needs to be completed in the project....

During the recent JavaOne conference, I was able to share how developers can put their Java codes up a notch by using functional programming...

Earlier this October, I was given the privilege of speaking at JavaOne regarding the fusion of contemporary Continuous Delivery processes and...

Behavior-Driven Development (BDD) is all the buzz now. To contribute to the increasing buzz BDD has been creating, I'm heading off to the Canberra JUG...

Next week holds a lot of exciting events for me at Canberra. Aside from delivering a talk on Behavior-Driven Development for the Canberra Java Users...

Acceptance Test Driven Development (ATDD) is a very effective development practice that essentially involves writing specifications in the form of documented and automated...

A recent study found that projects applying techniques such as Acceptance Test Driven Development and Test Driven Development deliverd 31% faster with ...

Wakaleo Consulting are pleased to announce we will be running a new series of our popular course 'TDD, BDD and Testing Best Practice for JAVA Developers', in the upcoming months. The three-...

I’ve just returned from Ireland, where I was presenting a seminar on Clean Code Practices for Java Developers at the Paddy Power Technology Series. You can...

The latest version of Thucydides (0.7.10) to be released has some great new features! Find out more below: