Conference Presentations

Managing Agile Test Departments

What is the impact of agile methods on test departments and testers? How do you manage testing in an agile test department? Robert Martin, an early adopter and proponent of agile development practices, discusses his experiences and recommendations for how to organize and run an agile test department. He describes the principles, practices, tools, and metrics that are important to successful test management within agile development. Agile methods change the role of test departments from verification to specification. With agile methods, you develop tests before the code, and the tests become the detailed requirements documentation. This paradigm shift has a profound impact on both the test team and the programming team. Learn about the test management problems that often arise in making the transition to agile development and common solutions that address these issues.

Robert Martin, Object Mentor
Applying eXtreme Programming Techniques to Automated Testing

"Automating manual tests was taking too long and we believed that overhead would become too high to maintain the automated tests. As the code base evolved and expanded, the performance and value of older automated tests deteriorated noticeably. What to do? Taking a lesson from developers in an eXtreme programming (XP) framework, we began applying these practices to our test automation project." Join Neill McCarthy as he shares his test team's adventurous journey from a traditional, plan-driven automation project to a set of agile practices including test-driven development. Learn from their failures, triumphs, and measures of success as Neill outlines the new automation framework that he employs today.

  • Why adopt XP for test automation
  • The people challenges of using XP in testing
  • A framework for agile test automation development
Neill McCarthy, BJSS
Asia as a Test Outsource Center

Outsourcing testing software projects to countries in Asia is a trend that is here to stay. You have a growing number of choices for an outsourcing country in Asia-India, China, Taipei, Korea, and others. Although India currently dominates the scene and both Taipei and Korea have historically provided excellent quality, though at a higher cost, China is quickly moving to become the leader with even lower billing rates and a large number of experienced and educated engineers. In this session, Jacob Hsu offers an overview of the Asian outsource scene including the latest trends and data. Take away a checklist of best practices for successfully outsourcing product testing to Asia, including how to manage distributed testing teams, how to overcome language/cultural issues by country, and what types of testing should (and should not) be outsourced offshore.

Jacob Hsu, Symbio Group
The Four Schools of Software Testing

Testing experts often disagree. Why? Different testers have different understandings of the role and mission of software testing. This session presents four schools of software testing, each with a different understanding of the purpose and foundation of testing. One school sees testing based on mathematics. Another sees it as an activity that needs to be planned and managed. A third sees it as a basis for understanding and improving software process. And the fourth sees it as an intelligence service, providing actionable information. These all sound reasonable enough, but each has provided the foundation for a school of testing and different hierarchies of values. Learn more about the four schools of software testing and the effects they have on your life. You may find that you, your colleagues, and management are operating in different schools.

Bret Pettichord, ThoughtWorks
Testers and Testing in the Agile Development

You have heard about agile software development techniques such as eXtreme Programming (XP), Scrum, and Agile Modeling (AM). The industry is buzzing with everything from "this is the greatest thing ever" to "it's just hacking with a fancy new name." Comments like "there is no place for testers because developers and users do the testing now" and "testers play an important role in the agile methods" are both common. Scott Ambler, an early proponent of the agile movement, explains the fundamentals, values, and principles of agile development. He describes a range of agile techniques and explores many myths and misconceptions surrounding agility. Agile software development is real, it works, and it may be an important part of your future in testing. Better testing and improved quality are critical aspects of agile software development, but the roles of traditional testers and QA professionals on agile projects remain unclear.

Scott Ambler, Ronin International, Inc.
A Strategic Approach - "Beta the Business"

Beta testing is an industry standard practice to obtain user feedback prior to general availability of software. Have you ever considered that the Beta release can be used to validate the software's value to customers and application users? Extending the Beta concept will result in higher customer satisfaction (and higher revenue for commercial products). Also, you can employ Beta testing to evaluate not only the software product, but the distribution (and sales) process, training, customer support, and usage within your customers' environments. Far beyond just finding defects in the product, you can focus Beta testing on how well the software is meeting your customers' needs. What does that mean to the Development team and the organization as a whole? What are the risks and challenges that we face? What are the rewards?

Pete Conway, EMC Corporation
Agile Project Management - Reliable Innovation

From software to materials research to drugs to airplanes, companies are relentlessly driving the cost of change out of their new product development processes. Why? In order to increase experimentation, to increase the diversity of paths explored, and to foster more and faster innovation. These "exploration" projects severely challenge traditional "production" oriented project management practices that attempt to optimize, predict paths, and conform to detail plans-we need a different model. This new model for software projects-Agile Project Management (APM)-focuses on quick starts, iterative exploration, delivering customer value, low-cost iterations, frequent feedback, and intense collaboration.

Jim Highsmith, Cutter Consortium
Continuous Integration Using an Open Source Platform Architecture

Continuous integration is the process of performing a fully automated build, run often, usually daily, during software development. How do you develop a robust platform architecture to automatically integrate your software into builds? How can open source tools fill the gaps in your platform architecture? After examining the benefits of continuous integration, Paul Duvall discusses techniques, such as architectural validation, configuration management, automated unit testing, and report generation within the process. From a working reference implementation in Java, learn the attributes of an effective platform architecture for continuous integration. Additionally, Paul will introduce you to open source tools, such as Ant, Maven, CruiseControl, Eclipse, xUnit, and others that can help you implement a continuous integration architecture in your environment.

Paul Duvall, Cigital, Inc.
Service-Oriented Architecture - Exposed

Service-Oriented Architecture (SOA), incorporating methods for Web services to communicate dynamically, promises to significantly improve organizational operating efficiency, change the way companies conduct business, and even alter the competitive landscape. However, Service-Oriented Architecture is a strategy rather than an objective, and, like any strategy, it is of no value unless it is implemented. With illustrations from companies who today are using SOA to transform their organizations, Sharon Fay shares current practices for exposing Web services and XML to internal development teams, outsourced development, external trading partners, and customers. Learn why reuse is a key method for supporting integration of SOA implementations and how it is being accomplished. Take away a set of metrics that you can use to measure the level of SOA adoption, development productivity gains, and organizational agility.

Sharon Fay, Flashline, Inc.
eXtreme Architecture and Design for Test

eXtreme programming emphasizes test-first coding-you write the tests before writing the implementation code. You can apply the same approach in design when developing a complex system, including an architecture to support testing. To be successful, systems developed with agile methods must support a high level of testability and test automation. For large distributed systems, more sophisticated testing is needed to help determine which components may be contributing to failures. For such complex systems, you should architect the system for testing rather than add testing functionality as an afterthought. Ken Pugh presents a framework that employs polymorphic-style internal and external interface patterns to ease the work of testing and debugging. He also covers adding test-only functionality, test-only outputs, and test-only logging to interfaces.

Ken Pugh, Pugh-Killeen Associates

Pages

CMCrossroads is a TechWell community.

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