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
This presentation covers conditions and expressions; truth tables; normal form patterns; modified condition/decision coverage; constructing an MC/DC test set; tools for checking MC/DC coverage; unique cause coverage; basic unique cause design; and logic coverage references.
To get value from test execution, the results must be determined and evaluated. This presentation describes the dimensions and alternative approaches to results. It identifies three types of oracles and more than ten different reference functions. Listen as David Gelperin discusses design for testability issues relating to lower-cost oracles and the elements of an oracle strategy.
According to popular testing folklore, long tests are more likely to find bugs than short ones. Based on a series of experiments using formal traversal tools, Shmuel Ur demonstrates that long tests do indeed achieve better coverage and are lower in costs than test suites built of short tests. Explore the trade-offs between short and long tests while learning the effective strategies of converting test requirements to test plans.
We are all familiar with optical illusions: we see something that turns out to be not as it first appeared. We are subject to self-deception in technical areas as well, which is referred to as cognitive illusions. Drawing upon real-life examples, Dorothy Graham explores some of the ways in which we deceive ourselves and the reasons why we do it. Learn how "turning a blind eye" to issues which are vitally important-such as quality and planning-can often result in failed measurement programs; seldom done post-project reviews; heightened anxiety for developers, managers, and testers; and a "blame" culture mentality.
The battle lines are drawn, it seems, between programmers and testers. Do you wonder what makes some programmers so opposed to process control? Why do programmers seem to resent testers? And, more importantly, what can we do to bridge the gap? Learn how to identify different types of developer personalities and development styles and deal with them to your advantage. Susan Joslyn explores ways to inspire quality (recovery) in coding cowboys while minimizing clashes. Discover your own twelve step program to recovery in your relationships with your developers!
Everyone agrees on the value of testing software components early and often to find defects before they become costly and to ensure that changes do not have unexpected side effects. Unfortunately, many developers still do not follow this practice because of the perception that creating tests is too burdensome. In this presentation, learn a practical guide to streamlining component test creation by employing intelligent test artifacts. Discover how this technique will enable you to extract the most value from testing with the least amount of effort.
Increasing complexity and functionality of digital systems--coupled with time-to-market constraints--pose quality challenges. Strategies often include a mix of new development with the integration of pre-existing components from multiple sources. Ann Miller presents some of the software engineering and software management lessons learned from eight years on a large commercial satellite program, as well as several years on military satellite programs. This presentation focuses on the planned evolution of large-scale systems from the design and build of smaller components based on an end-to-end system backbone.
Based on an operations perspective, Richard Martin shares his experiences with an e-commerce company in the areas of project planning, quality assurance, release management, and project delivery. Learn how the e-commerce market differs from other enterprise applications and which "best practices" make the most sense. Explore the most effective ways to manage change at Web speed.
Today's large-scale enterprise applications are all Web-enabled and complex in nature. Many users experience performance problems from day one. Performance evaluation and measurement via extensive testing is the only practical way to raise and address all issues prior to a successful deployment. Learn how to tackle performance and capacity issues with the appropriate testing strategy and scalable infrastructure/architecture.