Application Lifecycle Management

Conference Presentations

Mainframe-Class Recoverability Testing

The corollary to the axiom "all software has bugs" is "you will never find them all." Even if you could, hardware and environmental failures always are lurking about, waiting to crash the software. If you accept the premise that failures are inevitable, then part of your testing should confirm that the software gracefully recovers from failures, protecting customer data and minimizing downtime. In this presentation Scott Loveland helps you face the issue head-on by explaining novel ways to force failures and then test the software's ability to recover. Having spent his career with IBM in test for z/OS and its predecessors, MVS and OS/390, and most recently Linux, Scott reveals the tools and techniques proven for testing recoverability of industrial-strength software in the trenches of the IBM mainframe development lab.

  • Methods for injecting errors and monitoring recovery of large, complex systems
Scott Loveland, IBM Corporation
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
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
Build the "Right Software" to Delight Your Customer

Many companies have implemented quality programs such as CMM®, TQM, Six Sigma, etc., to improve requirements and software development. However, these initiatives often focus on building the software right-meeting quality expectations and specifications-but do not necessarily focus on building the right software-the right functionality at the right time and at the right cost from the customer's perspective. Unmesh Gundewar explains how EMC employed the Goal, Question, Metric (GQM) methodology to identify key measurements that ensure the "right software" is being developed. Learn how EMC applies the Six Sigma approach to drive these measurements into the organization and the resulting software. Move beyond the processes designed to get functional requirements and specifications right as Unmesh shares experiences, the challenges faced, and lessons learned from building the right software.

Unmesh Gundewar, EMC Corporation
Scrum - The Art of the Possible

Scrum is an agile, lightweight and team-based process to manage software and product development within iterative software development lifecycles. By wrapping around existing engineering practices such as XP or RUP, Scrum generates many benefits of agile development with the advantages of simple implementation. Properly understood and implemented, Scrum significantly increases productivity and facilitates adaptive, pragmatic systems development. Scrum is a proven way to improve communications, increase cooperation, and remove things that get in the way of delivering products. Brad Grant, a Certified ScrumMaster, shares his knowledge and experiences facilitating stakeholder involvement with Scrum and improving the engineering practices of development teams. Join Brad to discover the roles, practices, team dynamics, and metrics that make up Scrum projects, and find out if Scrum is right for your team.

Brad Grant, Charwick
Software Test Automation Spring 2003: Mission Made Possible: A Lightweight Test Automation Experience

Using a challenging client engagement as a case study, Rex Black shows you how he and a team of test engineers created an integrated, automated unit, component, and integration testing harness, and a lightweight process for using it. The test harness supported both static and dynamic testing of a product that ran on multiple platforms. The test process allowed system development teams spread across three continents to test their own units before checking them into the code repository, while the capture of the tests provided automated integration testing and component regression going forward. He'll also explain the tools available to build such a testing harness and why his team chose the ones they did.

  • Examine the benefits-and challenges-of implementing an integrated, automated component and integration testing process in a Java/EJB development environment
Rex Black, Rex Black Consulting Services, Inc.
Implementing an Enterprise Monitoring Solution: Testing and Operations Deliver Together

Achieving high levels of availability and scalability for large server environments is a challenge that impacts all aspects of application design, development, testing, deployment, and operations. In this presentation, Nancy Landau provides a real-world case study of a successful implementation of a multi-layered enterprise system that supports 600-plus servers in multiple sites. You'll see how a wide assortment of monitoring tools were integrated together to assess the health of server farms, the individual components within the environments, and the applications themselves. Learn how test engineers and operations staff work together to improve performance and reliability.

  • Discover how the team overcame process and tool challenges
  • Dissect the case study to determine what led to the project's success
Nancy Landau, Fidelity Information Services
Home-Brewed Test Automatioin: Approaches from Extreme Programming Projects

Projects that use eXtreme programming (XP) often do not use commercial GUI test tools, finding it more useful to build their own support for test automation. This session explains the strategies they've used, which can actually cross over to any project where developers take responsibility for building support for automated testing. The XP community has already made an impact on the tools and practices for unit testing in the wider development community. The instructor reviews the potential impact on customer-perspective testing.

  • Share experiences in building in-house GUI test tools
  • How and when to build and use test APIs
  • Open-source tools to support these approaches
Bret Pettichord, Pettichord Consulting

Pages

CMCrossroads is a TechWell community.

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