Your current filters are…
Are you tired of TDD workshops that make you do boring things like calculate bowling scores and prime factors or demonstrate how to win at the game of life? If so, this is the session for you! In this TDD workshop we will be building the domain model for EverCraft -- a new MMORPG from Blizzards of the Coast. We have lots of story cards prepared covering features from combat to magic, classes to spells, and races to items. Plus, we'll be defining some of these cards during the session in case you want that +9 knife of ogre slaying or enjoy casting magic missile at the darkness. This workshop is language agnotisic and for all levels of developers. The focus is on TDD and emergent design but pair programming will be covered as well. The only requirement is that you bring a laptop and that you be able to test-drive you code with your language of choice. When you are done you will emerge a better programmer for the experience but there is small chance you will have a craving for Cheetos and Mountain Dew.
Test Driven Development is more than just writing tests first. It requires a different thought process. I will show you that thought process, and how to become a more effective developer, write less code, reduce zero defects, deliver your code faster, and make it to happy hour!
I think it's safe to say that at this point, having SOME sort of automated testing for your application is considered a best practice. Unfortunately, creating a testable application is like having 6-pack abdominal muscles: everyone wants them but few are willing to put in the hard work to make it happen. This talk will approach the idea of Test-Driven Development / Behaviour-Driven Development from a different angle, instead taking a look at strategies for structuring your application is such a way that continuous integration and delivery of your application is not only possible but easily achievable. We will start by looking at anti-features of an application: ways of building things that make them very difficult to test. From there we will progress onto things like Demeter's Law, dependency injection and how to create the complementary infrastructure to test your application. Finally we will focus on building your confidence level with respect to flawless deploys from "all hands on deck, we're deploying" to "that's the 12th change we pushed into production today".
by Leonard Fingerman
There are many ways to consider on how to design and execute effective automated tests and continuously keep the pulse on quality of product delivery. However when it comes to leveraging existing CI pipeline for functional and performance testing many may not realize that main ingredients are already built-in. This presentation will share the recipes on how to propel automated testing with immediate feedback to the entire team.
This presentation is based on:
• Hudson/Jenkins CI engine
• Ruby and Rake to setup, execute and tear-down test environments
• Hpricot (Ruby gem) and Hudson plug-ins to report and trend graphical results dynamically
• .NET test tools (Visual Studio MS Team System and Telerik WebAii)
Test Driven Development can be hard. Oh, sure, it's easy to write the standard bank account tests that you see in all of the demos. But what about real life? What about that service that hasn't been developed yet? What if the code you are trying to test doesn't follow Uncle Bob's SOLID principles? I will show you how free mocking tools will brighten your day!
by Dawn Code
Automated tests are a foundation of agile software development. Many experts teach that developers should write unit tests and testers should write higher-level tests. However, many of the practices, such as test-driven development and pair programming, say little about how these practices fit into the development process. Shannon Code (a developer) and Dawn Code (a tester) describe and demonstrate ATDD (acceptance test driven development), from discussing the story to considering it done done. Early in the process they agree on story scope and develop a shared vocabulary. The tester and developer discuss the approach to solving the problem and begin to work out a test approach. Together, they write a series of acceptance tests to pin down the details of how the story will work. These team members agree up front on what will be tested, resulting in more solid production code from the beginning. Come and watch how this process unfolds when supported by an environment that is set up to execute tests and provide feedback and quickly as possible.
When validating a piece of hardware instead of a piece of software, mocking and unit tests don’t help. Instead, a test framework needs to be primarily geared toward external instrument control, automated data collection, and mathematical analysis. Using Python, we’ll demonstrate an easy to use framework containing tests that configure DMMs and function generators, gather data from devices under test, then perform FFTs, phase analysis, and other data processing. We’ll also talk about a few issues that become much more significant in hardware analysis, such as adding randomness to tests while preserving repeatability, and generating highly combinatorial, device-specific tests on the fly. Finally, we’ll show the framework in action with a live test of a switch/measure system. Ben Fitzpatrick will be acting as demo minion and hardware wrangler.
11th–13th January 2012