Testing can be a complex and thankless task. The technologies change so fast that your tools don’t work as they should. Your tests become brittle and are hard to relate to customer requirements. This talk looks at the latest techniques and tools for easing some of these burdens.
Topics include behavior driven development (BDD), domain specific testing languages (DSLs), scripting languages (Groovy) and a range of web, SOAP, and database testing libraries (JUnit, EasyB, WebTest, HtmlUnit, Tellurium, Robot Framework, JBehave, Cucumber, DbUnit, SoapUI, JMeter and more) and testing techniques.
Acceptance Tests elaborate a user story & are essentially behaviour specifications, expressing examples of how the application will actually be used. These should represent customer-intent in terms the customer understands.
This session shows developers and testers how to transcribe their understanding of customer intent in a way that makes sense to customers. Using the popular BDD Given/When/Then approach to acceptance tests, participants will learn how to leverage the popular Fit framework to replicate that approach. Alternatives to using Fit, including using code, will also be explored.
It’s easy to speak of test-driven development as if it were a single method, but there are several ways to approach it. In our experience, different approaches lead to quite different solutions.
In this workshop, we’re not trying to decide which approach is best. Rather, we’ll use concrete examples to explore
- What goes into the moment of decision when a test is written?
- How do you think about the problem you’re trying to solve?
- What strategies or techniques help you write the first few tests?
This workshop is targeted at TDD/BDD Practitioners.
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.
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.
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.
Spending more time maintaining your tests than your code? Started to write tests only to be discouraged by the complexity involved? Imagine if you could implement robust automated testing on even your most complex projects by simply writing one extra line of code… Now you can! Regardless of which testing framework you use, Approval Tests allow you to painlessly capture tested output in a visible, verifiable, and automated way. Particularly useful in the context of writing tests for legacy code, GUIs, databases and web pages, this open source solution is as pretty as a picture!
Despite what you may have heard, analysis is still an important aspect of projects done in an agile manner. Teams still need to understand what they are delivering in what order. The trick is to how to utilize traditional analysis techniques without introducing the corresponding waste that can be experienced with those techniques. In this session, we introduce Feature Injection and demonstrate how it combines traditional analysis techniques and the agile technique Behavior Driven Development to identify the business value delivered by a project without introducing analysis paralysis.