Conference Presentations

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.
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
Smaller-Scale Web Sites Need Performance Testing Too!

Even a smaller-scale Web site requires careful planning and execution of performance tests. Making the critical decisions in a timely manner and identifying the performance goals are still prerequisites to a successful test. However, smaller sites don't necessarily have the resources required to do large-scale testing, so compromises have to be made. This requires good test planning. The instructor explains the testing of a small site looking to grow, as well as the successes and pitfalls of achieving reasonable goals.

  • Define the test objectives; what's reasonable?
  • Plan the test then utilize tools, choices, and tradeoffs effectively
  • Apply and understand the results
Dale Perry, Software Quality Engineering
Fault Injection to Stress Test Windows Applications

Testing an application's robustness and tolerance for failures in its natural environment can be difficult or impossible. Developers and testers buy tool suites to simulate load, write programs that fill memory, and create large files on disk, all to determine the behavior of their application under test in a hostile and unpredictable environment. Herbert Thompson describes and demonstrates new, cutting edge methods for simulating stress that are more efficient and reliable than current industry practices. Using Windows Media Player and Winamp as examples, he demonstrates how new methods of fault injection can be used to simulate stress on Windows applications.

  • Runtime fault injection as a testing and assessment tool
  • Cutting edge stress-testing techniques
  • An in-depth case study on runtime fault injection
Herbert Thompson, Security Innovation
Automated API Testing: A Model-Based Approach

API testing is difficult, even with automated support. However, with traditional automated testing solutions, the cost to create and maintain a test suite can be more than the savings realized from automated test execution. By creating a model of the API to test and generating the test scripts automatically from the model, test automation becomes more cost-effective. Kirk Sayre describes how to create models of APIs; how to take the expected use of the API under test into account with Markov chains; how to augment the models with the information needed to generate automated test scripts; and how to use and interpret test results. You'll see concrete examples of automated model-based testing of APIs written in Java, PHP, and C.

  • Create a model of an API for use in model-based testing
  • The basics of testing using Markov chain usage models
Kirk Sayre, The University of Tennessee
Getting a Grip on Exploratory Testing

Many testers have heard about exploratory testing, and everyone does some testing without a script or a detailed plan. But how is exploratory testing different from ad-hoc testing? In this interactive session, James Lyndsay demonstrates the approaches to exploratory testing he often uses at work. With specially built exercises, he explains his thought process as he explores the application. He analyzes applications by looking at their inputs and outputs and by observing their behaviors and states. He employs both cultural and empirical models to establish a basis for observing whether a test succeeds or fails. Through this process, you will gain insights about how to improve your own exploratory style.

  • Using active play to parse and understand a sample application
  • Analysis of inputs, outputs, and their linkage to enhance explorations
James Lyndsay, Workroom Productions
Beyond GUI: What You Need to Know about Database Testing

Today's complex software systems access heterogeneous data from a variety of back-end databases. The intricate mix of client-server and Web-enabled database applications are extremely difficult to test productively. Testing at the data access layer is the point at which your application
communicates with the database. Tests at this level are vital to improve not only your overall test strategy, but also your product's quality. Mary Sweeney explains what you need to know to test the SQL database engine, stored procedures, and data views. Find out how to design effective automated tests that exercise the complete database layer of your applications. You'll learn about the most common and vexing defects related to SQL databases and the best tools available to support your testing efforts.

Mary Sweeney, Exceed Training
Test Automation with Open Source Tools using An Agile Development Process

Test automation, open source tools, and agile methods are three important trends in software development. By employing and integrating all three, a project team at Comcast was able to quickly build and deliver a critical application to its customers. Pete Dignan and Dan Lavender discuss the rationale behind the decision to follow an XP-like process in this case study. They explain how the

Peter Dignan, ProtoTest LLC
Testing "Best Practices": From Microsoft's Context to Yours

Testing is a never-ending series of trade-off decisions, what to test and what not to test; when to stop testing and release the product; how to budget your testing resources for automated vs. manual testing; how much code coverage is good enough; and much more. To make these difficult judgement calls, we often turn to the "best practices" recommended by testing experts and others who have encountered similar problems. The key to successful implementation is matching their "best practices" to your own context (team make-up, company culture, market
environment, etc.). Barry Preppernau shares his insights gathered from over 20 years of testing experience at Microsoft. You'll learn about the tools and processes that have been successful within Microsoft and ways for you to identify, adapt, and implement successful test improvement
initiatives within your organization.

Barry Preppernau, Microsoft Corporation
Inside the Mind of an Exploratory Tester

Among the hardest things to explain is something that everyone already knows. We all know how to listen, how to read, how to think, and how to tell anecdotes about the events in our lives. As adults, we do these things every day. Yet the level possessed by the average person of any of these skills may not be adequate for certain special situations.Exploratory tester James Bach describes eight key skills that expert explorers possess, and how you can develop them too.

James Bach's picture James Bach

Pages

CMCrossroads is a TechWell community.

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