Conference Presentations

Model-based Testing: The Key to Testing Industrialization

Customers who want “more, faster, cheaper” put pressure on the development schedule, usually leaving less time for testing. The solution is to parallelize testing and development so that they proceed together. But how, especially when the requirements and software are constantly changing? Model-based testing (MBT) distills the testing effort down to the essential business processes and requirements, capitalizing on abstractions to reduce the costs of change and improve test data management. MBT facilitates a continuous and systematic transformation from business requirements to an automated or manual test repository. MBT permits re-use of the same test design for both integration testing-end-to-end and system-to-system-and functional testing-system, acceptance, and regression.

Bruno Legeard, Smartesting
STARWEST 2010: Automating Embedded System Testing

Many testers believe the challenges of automating embedded and mobile phone-based systems testing are prohibitively difficult. By approaching the problem from a test design perspective and using that design to drive the automation initiative, William Coleman demystifies automated testing of embedded systems. He draws on experiences gained on a large-scale testing project for a leading smart-phone platform and a Window CE embedded automotive testing platform. William describes the technical side of the solution-how to setup a tethered automation agent to expose the GUI and drive tests at the device layer. Learn how to couple this technology solution with a test design methodology that helps even non-technical testers participate in the automation development and execution. Take back a new approach to achieve large-scale automation coverage that is easily maintainable over the long term.

William Coleman, LogiGear Corporation
Using the Amazon Cloud to Accelerate Testing

Virtualization technologies have been a great boon to test labs everywhere. With the Amazon Elastic Compute Cloud (EC2), these same benefits are available to everyone-without the need to purchase and maintain your own hardware. Once you master the tricks and tools of this new technology, you too can instantly have limitless capacity at your disposal. Randy Hayes demonstrates how to use the AWS Management Console to create virtual test machines (AMIs), use S3 storage services, handle elastic IP Addresses, and leverage these services for functional testing, load testing, defect tracking, and other common testing functions. Randy explains the Amazon Virtual Private Cloud, which allows EC2 cloud instances to be configured to run inside your firewall to test inward-facing applications. Gain access to a pre-configured AMI with open source testing tools and other utilities for quickly migrating your test lab to EC2.

Randy Hayes, Capacity Calibration, Inc.
Automating Test Design in Agile Development Environments

How does model-based automated test design (ATD) fit with agile methods and developer test-driven development (TDD)? The answer is “Superbly!”, and Antti Huima explains why and how. Because ATD and TDD both focus on responsive processes, handling evolving requirements, emergent designs, and higher product quality, their goals are strongly aligned. Whereas TDD tests focus on the unit level, ATD works at higher test levels, supporting and enhancing product quality and speeding up development. ATD dramatically reduces the time it takes to design tests within an iterative agile process and makes tests available faster, especially as development proceeds through multiple iterations. Antti shatters the common misconception that model-based methods are rigid and formal and cannot be employed in the rapid, fluid setting of agile environments.

Antti Huima, Conformiq, Inc.
Reducing the Testing Cycle Time through Process Analysis

Because system testing is usually what lies between development and release to the customer-and hopefully more business value or profit-every test team is asked to test faster and finish sooner. Reducing test duration can be especially difficult because many of the factors that drive the test schedule are beyond our control. John Ruberto tells the story of his team’s cutting the system test cycle time from twelve weeks down to four. John shares how they first analyzed the overall test process to create a model of the test duration. This model decomposed the test schedule into six factors: test cycles, number of tests, defects, the rates at which tests were executed and defects handled, tester skills, and the number of testers. By decomposing the test cycle into these variables, their team identified six smaller-and thus easier-problems to solve.

John Ruberto, Intuit Inc
Focusing with Clear Test Objectives

Frustrated with your team’s testing results-sometimes great, sometimes lacking? Do you consistently over promise and under deliver? If these situations sound familiar, you may be suffering from the ills of UCT (Unclear Test Objectives). Clearly defining test objectives is vital to your project’s success; it’s also seriously hard to get right. Test objectives are often driven by habit-“Let’s copy and paste the last set of objectives”; by lack of understanding-“Let’s use whatever the requirements say”; or by outside forces-“Let’s just do what the user wants.” Sharon Robson shares the structured approach she uses to define test objectives, including key test drivers, approaches, processes, test levels, test types, focus, techniques, teams, environments, and tools. Sharon illustrates how to measure, evaluate, compare, and balance these often conflicting factors to ensure that you have the right objectives for your test project.

Sharon Robson, Software Education
STARWEST 2010: Tour-based Testing: The Hacker's Landmark Tour

When visiting a new city, people often take an organized tour, going from landmark to landmark to get an overview of the town. Taking a “tour” of an application, going from function to function, is a good way to break down the testing effort into manageable chunks. Not only is this approach useful in functional testing, it’s also effective for security testing. Rafal Los takes you inside the hacker’s world, identifying the landmarks hackers target within applications and showing you how to identify the defects they seek out. Learn what “landmarks” are, how to identify them from functional specifications, and how to tailor negative testing strategies to different landmark categories. Test teams, already choked for time and resources and now saddled with security testing, will learn how to pinpoint the defect-from the mountains of vulnerabilities often uncovered in security testing-that could compromise the entire application.

Rafal Los, Hewlett-Packard
Exploratory Testing of Mobile Applications

Exploratory testing-the process of simultaneous test design, execution, and learning-is a popular approach to testing traditional application software. Can you apply this approach to testing mobile applications? At first, it is tempting to merely employ the same methods and techniques that you would use with other software applications. Although some concepts transfer directly, testing mobile applications presents special challenges you must consider and address. Jonathan Kohl shares his experiences with testing mobile apps, including the smaller screens and unique input methods that can cause physical strain on testers and slow down the testing effort. Smaller memory and less processing power in the device mean tests often interfere with the application’s normal operation. Network and connectivity issues can cause unexpected errors that crash mobile apps and leave testers scratching their heads.

Jonathan Kohl, Kohl Concepts, Inc.
Transform Your Lifecycle-Virtualize the Test Lab

Every tester has heard "it works on my machine" from a developer, referring to a defect deemed to be non-reproducible. We all know the back-and-forth conversations and have yearned for ways to easily replicate test environment failures in the development environment. Test organizations often struggle with access to test environments that closely match production while the operations department struggles to keep up with the demand for provisioned environments. Virtual lab technology can solve these frequent, tedious, and expensive problems, delivering immediate productivity and return-on-investment. By shattering barriers between development, testing, and operations, virtual lab technology is transformational and promises to be the hub of the modern application lifecycle. Theresa Lanowitz shares the results of the "voke Market Snapshot" report on virtual lab management.

Theresa Lanowitz, voke, Inc.
Alternative Testing: Do We Have to Test Like We Always Have?

Are the “old ways” always the “best ways” to test? Julian Harty shares his thought-provoking ideas on when traditional testing is-and is not-appropriate and poses alternatives for us to consider. For example, what might happen if we choose not to test a product at all? Perhaps the benefits of earlier delivery would outweigh the cost and delay that testing imposes. If a key goal of testing is to provide answers to quality-related questions about a product, are there alternative information sources for answers-say, from live experiments in production? How do you know whether your testing approach is really efficient and effective, especially if you already consider yourself a testing expert? Can your testing knowledge and experience blind you to alternative strategies? One option is to put yourself to the test. For instance, you could more objectively evaluate your skills by working on a crowd-sourced test project.

Julian Harty, Consultant

Pages

CMCrossroads is a TechWell community.

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