Skip to content

 
  • Test-Driven Development Training and Coaching
  • Expertise in Automated Acceptance Tests and ATDD
  • Continuous Integration and Continuous Delivery with Jenkins
  • Automated Acceptance and Web Testing
  • Automated Acceptance and Web Testing
  • Test-Driven Development Training and Coaching
  • Test-Driven Development Training and Coaching
  • Test-Driven Development Training and Coaching

Running parallel acceptance tests using JBehave, Thucydides and Bamboo

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. Simeon has also put a sample project illustrating the approach on Github

The place that I work for has a data mart project pulling from many sources and it must be accurate. To that end we decided to write a number of JBehave style, data driven JBehave tests utilising Thucydides to ensure its integrity. This was a success until the data grew and the tests were taking too long to complete - some of our stories had massive example tables! While we could speed up the process by tuning the database with indexes we decided that it since it was still in development it could be time wasted if the data/approach was wrong and that wasn't getting away from the issue of the sheer number of tests so we came to the conclusion that the first attack would be running the tests in parallel.

Add a comment

It ain't just reds and greens: Automated Acceptance Testing and quaternary test outcomes

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" dicton. In Behaviour Driven Development (BDD), on the other hand, we have the additional concept of 'pending' tests: tests that have been specified (for example, in a Cucumber or JBehave story) but not yet implemented. When we report on test results, we need to be able to distinguish these three states, as a pending test has very different semantics to a failing test. Pending means it's not yet done yet, but this may well be as expected, especially towards the start of a sprint. A failing test, on the other hand, needs fixing. Now.

Add a comment

Selenium 2/WebDriver Quick Tips: Page Object Navigation Strategies

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 two main advantages:

  • The tests are much more readable
  • Page access logic is centralised in on place, making maintenance much easier

Add a comment

Functional Test Coverage - taking BDD reporting to the next level

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 the whole picture.

Add a comment

Does ATDD really save you time?

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 from, which in turn helps developers aim for the most appropriate solutions in business terms.

When I help folks out with ATDD and TDD practices, one common question people ask me is this: Does using ATDD cost more in development time?

Add a comment

Learning Corner


Upcoming courses


Upcoming Events