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 development work is done, to a specification activity, with tester involvement starting from the word go.
In this talk, we will look at how Behaviour Driven Development radically changes the traditional...
on Jun 25, 2014
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 requirements, using conversation and concrete examples to discover what features really matter to the business. BDD helps teams focus not only on building features that work, but on ensuring that the...
on Jun 25, 2014
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 validate the features being delivered. The process of writing these examples encourages teams to focus on where the business value of a feature is coming...
on Sep 12, 2012
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 view my presentation notes.
I also gave a presentation introducing Thucidydes, which included a live coding demonstration. You can find out more about it.
While there I also trained two teams at Paddy Power (an online betting agency,...
on Mar 13, 2012
As the year draws to a close, I wanted to give everyone a heads-up about some of the Wakaleo training sessions already lined up for 2010.
The next big training dates are in Europe - in collaboration with Skills Matter, I will be running the Java Power Tools Bootcamp in London (February 15-19) and Paris (February 22-27), and then in Wellington in March (March 22-26). I'm also lining up sessions...
on Dec 21, 2009
A new Java Power Tools Newsletter is out! In this issue, we study the theory and practice of Mock Objects, including the subtle differences between mocks and stubs, and a simple case study using Mockito, the new kid on the block of Mock Objects frameworks for Java. Check it out!
on Sep 13, 2009
I am absolutely thrilled to anounce that I will be talking at the Canberra JUG meeting next week (on Wednesday, September 9, to be exact), about BDD in general, and Easyb and JDave in particular:
Behaviour-Driven Development, or BDD, is an excellent development strategy that can help bridge the traditional gap between requirements and implementation. This talk will go discuss the basic...
on Sep 2, 2009
Let's not be pedantic. Write unit tests before you code a method, or after it - in my experience, it matters little, as long as you think about and write the tests at roughly the same time as you write the code. It's coming back to do the tests later (or not coming back at all) which causes problems. Personally, I like to write unit tests just before or immediately after writing small chunks...
on Jun 2, 2008
PMD is an excellent static code analysis tool, with a rich set of rules regarding coding best practices and potential errors. The trick is working out which rules apply for your code.
Out of curiosity, I ran some benchmarks on the Optimization PMD rules, to see how they measure up to the latest JDKs. The results were, interesting...
Consider the AvoidEmptyStrings rule.
on Apr 18, 2008
I came across an interesting issue with the Hamcrest asserts today. I have a method that returns a list of domain objects, as shown here:
List<Stakeholder> stakeholders = stakeholderManager.findByName("Telecom");
This is a good example of how Hamcrest can make testing with collections easier. For example, to test the findByName() method, you should be...
on Apr 1, 2008
The ultimate aim of writing software is to produce a product that satisfies the end user and the project sponsor (sometimes they are the same, sometimes they are different). How can we make sure testing helps us obtain these goals in a cost-efficient manner?
To satisfy the end user (the person who ends up relying on your software to make his or her work easier), you need to provide the optimal...
on Feb 19, 2008
Nowadays, Java developers have a choice of several unit testing frameworks used by Java developers these days:
The old, venerable, widely-used JUnit 3.x.
The cutting-edge TestNG, which tries to address issues found in JUnit 3.x, and take unit testing into the world of Java 5, annotations and IOC.
The long overdue JUnit 4, which is basically JUnit's answer to TestNG.
Now I don't think I'm all...
on Nov 12, 2006
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 bare hands. Being a developer, you should be armed with the right weapons to battle bugs for they come almost all the time. In fact, they are building yet another Death Star. If you don't get vigilant,...
on Oct 24, 2012
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. Requirement specifications are set and verified even before actual development starts. This ensures that only those value-adding features are delivered to the business.
Instead of validating after the...
on Oct 21, 2012
Earlier this October, I was given the privilege of speaking at JavaOne regarding the fusion of contemporary Continuous Delivery processes and practices with the established and widely-accepted Maven release process. I spoke in detail about the similarities as well as the main differences, and how these techniques and methodologies can be combined to deliver iterations and releases that highlight...
on Oct 18, 2012
During the recent JavaOne conference, I was able to share how developers can put their Java codes up a notch by using functional programming and clean coding practices. Functional Programming puts the spotlight on what we want to get out of our codes rather than how we are going to execute them. With this in mind, codes are relatively easier to understand and are less error prone, due to the fact...
on Oct 20, 2012
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 meeting next week to give a talk about it.
BDD is a communication and collaboration process that aims to deliver what is only value-adding to the business. It is a process of establishing a common language between the business stakeholders and the...
on Oct 17, 2012
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 Group, I will also be conducting the Agile Java Development Practices workshop.
If you want to learn how to write effective tests and better your code, produce high quality applications, know the latest on agile development tools and practices, and...
on Oct 17, 2012
Wakaleo Consulting is pleased to announce that we are bringing our popular TDD/BDD courses to Europe, in a convenient online format!
Fundamentals of Test-Driven Development in Java: This course covers both fundamental TDD/BDD practices, tips and tricks, and also how to apply them effectively with the latest Java tools, including JUnit 4.8, Hamcrest, Infinitest, Mockito and Spock.
on Apr 20, 2011