Conference Presentations

Database Development: The Object-oriented and Test-driven Way

As developers, we've created heuristics that help us build robust systems and employed test-driven development (TDD) to improve code design and counter instability. Yet object-oriented development principles and TDD have failed to gain traction in the database world. That’s because database development involves an additional driving force-the data. Max Guernsey shows how to treat databases as objects with classes of their own-rather than as containers of objects-and how to drive database designs from tests. He illustrates a way to give these database classes the ability to upgrade old data without introducing undue risk. Max also shares how to apply good object-oriented design principles to database classes and how to enforce semantic connections between databases and clients.

Max Guernsey, Hexagon Software LLC
Creating Great User Experiences: Tips and Techniques

Many software people look at creating great user experiences as a black art, something to guess at and hope for the best. It doesn't have to be that way! Jennifer Fraser explores the key ingredients for great user experience (UX) designs and shares the techniques she employs early-and often-during development. Find out how Jennifer fosters communications with users and devs, and works pro-actively to ensure true collaboration among UX designers and the rest of the team. Whether your team employs a formal agile methodology or not, Jennifer asserts that you need an iterative and incremental approach for creating great UX experiences. She shares her toolkit of communication techniques-blue-sky brainstorming sessions, structured conversation, and more-to use with different personality types and describes which types may approach decisions objectively versus empathetically.

Jennifer Fraser, Macadamian
Acceptance Test-driven Development: Tests with the Future in Mind

Acceptance Test-driven Development (ATDD) is a popular topic these days-everyone’s excited about the idea of writing tests prior to development. Yet many teams run into difficulties as they attempt to implement this practice. It’s all too easy to fall into the trap of writing acceptance tests that mostly specify keystrokes and button clicks. Join "Cheezy" Morgan as he offers an overview of ATDD while sharing his experiences and insights gained working with numerous teams implementing ATDD. "Cheezy" will take you on a journey of discovery, demonstrating practical techniques for writing ATDD tests that describe the essence of what they are specifying while hiding unnecessary details that obfuscate their meaning. Because ease of maintenance is a key to ATDD’s long-term ROI, "Cheezy" shows how to structure and layer test code to reduce brittleness and fragility so your ATDD test suite will retain its usefulness well into the future.

Jeff Morgan, LeanDog
Test-driven Development: An On-stage Demonstration

Test-driven development (TDD) is a skill that takes patience to master-you can’t learn it reading a book. As with learning any new language, to gain fluency you need to practice TDD with competent coaching and lots of hard work. Many well-intentioned programmers try and finally give up on TDD because they never develop the fluency it requires. On stage, Llewellyn Falco leads a live TDD demonstration, talking through the process and microsteps of: (1) studying a feature, (2) creating an initial test, and (3) iteratively developing the related test code and feature code until the feature is completely programmed. Watch how to iteratively write a test, see it fail, and then write the feature code to make it pass. After explaining the theory behind the particular TDD technique used, Llewellyn leads participants in testing progressively more complex objects and scenarios.

Llewellyn Falco, DevelopMentor
Adding Good User Experience Practices into Agile Development

Whose job is it to ensure that the user has a good experience with a new application? As agile processes are taught today, the user experience (UX) design practice is usually left out or at best described as an optional team role. However, the companies that build useful, usable, and desirable software know that UX is baked into the whole development process. Jeff Patton describes what user experience design is and isn’t, and how every person on the team has something to contribute. Hear concrete examples of how companies have adapted their UX practice to work well in an agile context and, along the way, discovered innovative UX practices that work better in agile contexts. Jeff explores pragmatic personas, guerrilla user research, design sketching, lightweight prototyping, and concept testing. Leave with valuable tips for adding UX practices and thinking to your agile process to help you get good user experience.

Jeff Patton, Jeff Patton & Associates
STAREAST 2012 Keynote: Testing Trends: Cloud, Virtualization, and Mobility

Almost daily, we see reports of software failures that harm enterprises and impact the brand, putting testing organizations and their efforts in the spotlight. Fortunately, testers are now in one of the most exciting times in the software industry’s history!

Theresa Lanowitz, voke, inc.
Writing Testable Use Cases

Use cases are hard to test because they do not have a standard format or style, and lack coherent structure. This is due in part to the need for a standard definition in UML, which defines the graphical part but not the textual part. In this session, Jim Heumann pinpoints the issues related to testability of use cases and introduces a testable style for writing use cases, a process used extensively and successfully by IBM Rational Software. Based on the testable use case writing technique, you will learn how to create test cases from these use cases.

  • How to make a use case more understandable and testable
  • Examples of testable use cases
  • How to create test cases from use cases
Jim Heumann, IBM Rational Software
Introducing Test Driven Development

You may ask, why would anyone write an automated unit test for code that has not yet been written? With Test-Driven Development (TDD), that's exactly what you do-write an automated test that fails; then write the code that makes the test pass; then write another automated test that fails; etc., until the system is completed. This provides an automated regression test suite up front, before the tests can be "skipped" because the project is "running late". Matthew Heusser introduces the concepts and benefits of TDD for the user, the developer, and the organization. Learn how TDD can create confidence that code is complete and works, catch integration defects when they are first created, and, most importantly, provide confidence that a maintenance change did not create regression error. Also, learn what TDD means for testers.

Matthew Heusser, Priority-Health
Compressing Test Execution Time to a 24-Hour Cycle

Software development projects face a growing trend of tighter schedules, more complex environments, and increased time-to-market pressures. Thomas Poirier presents a composite case study that explores how frequently encountered situations can severely impact the duration of the Test Execution Cycle (TEC). Learn strategies and tactics to shorten the TEC to within a 24-hour cycle without sacrificing test coverage.

Thomas Poirier, Conduciv inc.
Establishing Best Testing Practices in Your Organization

The path to best testing practices begins with communication. By building relationships with a product's key players-developers, analysts, and end users-your test team can achieve a higher level of both quality and customer satisfaction. Discover the link between effective communication and implementing critical step-by-step test processes such as test conditions, test case design, test data construction, and reporting.

Michelle Lynn Baldwin, Booz, Allen & Hamilton


AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.