How’s your Behaviour Driven Development? Healthy, sick or new-born? Drop in to the clinic at any point during the session and find out. Bring your code, tests, examples and scenarios in to the experts for a thorough check-up, diagnosis and prescription. We can give your code base a full going-over, from business value through unit tests, mocking, and code. Got problems? Not sure who to talk to? Just making sure everything’s all right? Let us help!
We are able to work with Java, C# and Ruby, and will consider other species if you can describe them to us.
Many Java teams want a more modern language that preserves their investment in Java technology. This talk looks at Scala, a new JVM language that fixes many of the limitations of Java. I’ll show why Scala is an ideal “upgrade” language for most Java teams.
Using examples, we’ll see that Scala is statically-typed, yet it has a succinct and flexible syntax. Scala traits add mixin composition to Java’s object model. Scala fully supports functional programming, which is the best approach for robust concurrent applications. All these qualities improve our agility.
Cucumber is a new acceptance testing (AT) tool that works with RSpec. Already popular in the Ruby community, this tutorial shows you how to use Cucumber to test drive Java applications, when you combine Cucumber and RSpec with JRuby.
We’ll also discuss Cucumber vs. FitNesse and using RSpec vs. JUnit. You’ll learn tips for writing good acceptance tests. Half of the time will be devoted to a hands-on exercises, where you will test drive a simple Java application using Cucumber.
Bring your laptop (or a pair partner with one), with the latest Cucumber, RSpec, and JRuby installed.
Continuous Testing (CT) is a developer practice that shortens the feedback loop established by Test Driven Development. It gives you near instant feedback about the correctness of your code, and helps you find bugs as quickly as syntax errors. This session will cover how CT has evolved in the last year, it’s current capabilities, and limitations. The presenters will also show several demos of the practice using freely available continuous testing tools, and examine how these tools can be integrated with existing infrastructure to bring the benefits of CT to a wider audience.
There are quite a few good tools available for developers who are interested in writing more expressive tests. These cover a broad spectrum from unit testing and mocking frameworks to executable requirements platforms. But sometimes in our excitement for learning new tools we overlook the most useful tool of all…the language features of our chosen programming language. In this session we will get back to basics by exploring how you can write more expressive tests using the language features of Java, the framework features of JUnit, and the practice of Behavior Driven Development.
All projects beneﬁt from high quality code but achieving the full beneﬁts of agile approaches demands higher-than-usual software quality. A Continuous Integration build provides an ideal platform for applying automated tools to issues of code quality.
This tutorial looks at automated code quality tools that can be used to enforce or monitor code quality in Java and Ruby, and how they can be used to check quality manifested by:
- style enforcement
- lines per method
- methods per class
- code duplication
- npath and cyclomatic complexity
- test coverage