Release Management

Conference Presentations

TPI Test Process Improvement Model Facts and Figures

Since the publication of the test process improvement (TPI®) model in the 1990s, many organizations have used it to help establish and improve their test processes. By doing so, they have tested the hypothesis that improving test processes results in better insight into system
quality and a more repeatable and efficient test process. Over the past five years, Ruud Teunissen and his consultant colleagues have gathered many facts and figures about the results of test process improvement initiatives. Learn the details of what other companies have achieved from test process improvement using the model, including examples of a 50 percent reduction of live incidents caused by inaccurate testing and a 40 percent reduction of long-term testing costs. Build a case for process improvement, discover what the TPI® model can do for you, and find out how to manage expectations should you embrace the model.

Ruud Teunissen, POLTEQ IT Services BV
Making Test Data More Agile

Flexible, reusable, and restorable test data for both the unit and system level is an absolute necessity for testers working on Agile development projects. For teams following a more traditional development process, Agile approaches for handling test data can enhance testing efforts as well. Discussing Agile testing approaches, such the ObjectMother pattern, Peter Schuh explains how testers design tests and test frameworks to survive the ever-changing data structures found in Agile projects. Learn how an Agile process allows testers to get much more mileage out of test data sets during and after the initial development project. Leave with a set of practices and techniques to apply directly to Agile development projects or modify for their current development environment.

  • The many dimensions of application test data
  • Produce and maintain better tests and test data with Agile approaches
Peter Schuh, Peter Schuh
It's Too Darn Big: Test Techniques for Gigantic Systems

Structuring test designs and prioritizing your test effort for large and complex software systems are daunting tasks, ones that have beaten many, very good test engineers. If you add concurrency issues and a distributed system architecture to the mix, some would simply throw up their hands. At Microsoft, where Keith Stobie plies his trade, that is not an option. Keith and others have reengineered their testing, employing dependency analysis for test design, model property static checking, "all pairs" configuration testing, robust unit testing, and more. They employ coverage to successfully help select and prioritize tests and make effective use of random testing including fuzz testing security. Finally, models of their systems help them generate good stochastic tests and act as test oracles for automation.

  • Test checklists for large, complex, distributed systems
Keith Stobie, Microsoft Corporation
Evaluating Requirements for Testability

For a test engineer, perhaps the most important measure of requirements quality is testability. By improving testability during requirements development, you not only will make test design easier, but you also will have gone a long way toward building better software for less cost. Learn methods to identify the requirements problems that reduce or improve testability: ambiguity, incompleteness, inconsistency, incorrectness, and "compoundness." This method first was used successfully in a very large payroll system development project and has since been practiced in both large and small development projects. From this session take away a spreadsheet-based method for tracking requirements testability throughout the project, and see examples from an Access database that can be used for further requirements analysis.

  • How to analyze requirements for attributes that increase testability
Rodger Drabick, Lockheed Martin Transportation & Security Solutions
Automate Acceptance Testing using Open Source FitNesse

FitNesse is an open source testing tool based on the Wiki Wiki Web and FIT (Framework for Integrated Tests). The Wiki Wiki Web is a collaboration tool in which anyone can create or change new pages to document or share any information. FIT is a framework and tool for creating automated acceptance tests. Joined together, FitNesse is a Web server-based tool for teams to easily and collaboratively create documents, specify tests, and run them. Micah Martin, co-creator of FitNesse, demonstrates how FitNesse can be used to create high-level feature tests that will drive development. Walk away with an understanding of how to automate acceptance testing in agile development and how it fits in with test-driven development.

  • What a Wiki is and how to use it
  • An introduction to the free FIT acceptance testing tool
  • Acceptance testing as part of the test-driven development practice
Micah Martin, Object Mentor, Inc.
Free Test Tools are Like a Box of Chocolates

You never know what you are going to get! Until you explore, it can be hard to tell whether a free, shareware, or open source tool is an abandoned and poorly documented research project or a robust powerhouse of a tool. In this information-filled presentation, Danny Faught shows you where open source and freeware tools fit within the overall test tool landscape. During this double session, Danny installs and tries out several tools right on the spot and shares tips on how to evaluate tools you find on the Web. Find out about licensing, maintenance, documentation, Web forums, bugs, and more. Discover the many different types of testing tools that are available for free and where to find them. Danny demonstrates examples of tools that you can put to use as soon as you get back to the office.

Danny Faught, Tejas Software Consulting
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
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
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

Pages

CMCrossroads is a TechWell community.

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