Conference Presentations

Software Inspections for the Common Folk

Many have tried to implement software inspections in commercial development shops ... and failed. Common reasons include “not enough resources," "takes too long," and "makes people uncomfortable." Ron Yun demonstrates how ADP has implemented both "full” and "lite" inspection practices that reduce resources, automate many aspects of the process, and help take the personality issues out of the process. With their practices, ADP completes inspection meetings quickly and has eliminated all manual forms. They have merged key inspection information with data from their defect tracking system to determine progress toward the goal of finding defects as early as possible in development. Their automation tools track the identified issues, provide a permanent audit trail of the inspection, and automatically generate metrics to report status and gauge effectiveness.

Ronald Yun, ADP
Congratulations! You're the New Test Manager

When creating an entirely new QA organization, where do you start? Although establishing QA processes and standard practices is important, you must communicate with and obtain buy-in from QA staff, developers, customers, and business analysts. Walk in Karl Shearer’s footsteps as he describes the initial stages of QA's formation at Erie Insurance, the challenges and roadblocks he faced, and, ultimately, the successes he has enjoyed. From organizational issues, the mission statement, and job descriptions to selecting and hiring QA staff, you’ll take away a checklist for starting up a test group or improving your test organization. Employing a risk-based approach to define the levels of testing and a multi-pass system test strategy, Karl established basic test processes. Then, he added defect tracking, automation, and requirements management to the mix and designed templates for all QA deliverables.

Karl Shearer, Erie Insurance Group
The QA/Testing Perspective on Software Security

Most everyone now realizes that we cannot solve security vulnerabilities with firewalls, virus scanners, and other tactics that build an electronic “moat” around systems. According to Julian Harty, security is not an operational issue, not a developer issue, and not a testing issue. It is a systems issue that you must focus on throughout the software’s life. From a QA/testing perspective, we need to look early in the development process for adequate security requirements. Then, we should assess the designs for vulnerabilities and participate in security code reviews. When specialized, security tests find bugs that get past our early prevention efforts, causal analysis helps prevent the recurring security defects. Dig into system security issues with Julian and learn about manual techniques, commercial software, and home-brew automation tools to help you find security vulnerabilities-before the bad guys do.

Julian Harty, Commercetest Limited
Moving from Test-Last to Test-Driven Development

Has it ever happened to you? Due to an immovable delivery schedule, time for testing is squeezed and long hours are the norm at the end of a project. Well, let’s move the testing forward in the development process. In fact, teams are learning that, rather than relegating tests to near the end of a project, there are huge benefits to adopting a test-driven process-a more maintainable and robust design, testable code, fewer defects, and a cross-functional highperformance team. By combining unit test-driven and acceptance test-driven processes in a more agile setting, you can deliver on shorter schedules without sacrificing quality. Mike Cohn shares his experiences with test-driven development, including the flexibility it offers for dealing with schedule pressure, the role of documentation, and the steps for getting started. He also describes a test “pyramid” and how to separate test specifications from test writing.

Mike Cohn, Mountain Goat Software
A Simple (and Revolutionary) Test Automation Dashboard

Even though most everyone recognizes that automation is a key element in improving test efficiency, many automation efforts unfortunately fall far short of achieving the desired results. One tool for keeping progress visible is an Automation Dashboard-a one-page report that tells the automation story clearly and simply with charts and gauges. This report becomes a tool to improve your organization’s understanding, communication, and use of good automation practices. At the same time it helps keep the focus on costs, benefits, purposes, and related automation issues that are often overlooked. Kelly Whitmill explains how the dashboard provides a quick measurement of the automation and allows results to be compared to expectations and other test efforts. Measurement and visibility alone promote improvement by increasing awareness of your automation goals.

Kelly Whitmill, IBM Corporation
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
Blind Men Meet the Quality Elephant

For many organizations, software quality is an elephant found by blind men who think they can see. People hold different opinions about quality based on their work roles and interests. If we testers focus on one definition (our own), we will not communicate well with others in the organization, and our work ultimately will not meet their expectations. However, if we examine our customers' definition of excellence, we will find better ways to measure quality and set priorities. Read this discussion about differing viewpoints of quality and how to work with your customers and users to clearly see their quality elephant as well as your own and integrate their vision into your testing activities.

Isabel Evans, Testing Solutions Group Ltd
Plans, Processes, and Practices for Successful Test Outsourcing

There are many reasons why outsourcing IT activities requires extra attention, especially when it concerns software testing. Examples of complete failures are common, and "backsourcing" is not uncommon today. Outsourcing test activities requires a comprehensive planning roadmap from the initial idea to implementation steps and ongoing processes. Martin Pol discusses creating a service level agreement for test outsourcing, managing the transition, approaches for cultural adjustments, and ways to monitor the outsourced work. An outsourcing relationship can be compared to a marriage, from the initial flirting through matrimonial happiness. Faith, flexibility, and openness based on trust are required for both a happy marriage and a successful outsourcing relationship. The difference is that outsourcing requires arrangements for ending the relationship before the wedding.

Martin Pol, POLTEQ IT Services BV
Testing of Web-Based and Java Applications with Models

With most GUI test tools that exist today, model-based testing for Java applications is extremely difficult to implement. According to Jeff Feldstein, you need a scripting language that allows for creating and manipulating complex data structures and driving your tests with models of the application. Learn about Jeff's success and the obstacles he faced implementing model-based testing for Java and HTML applications. During the presentation, Jeff demonstrates the use of IBM Rational Functional Tester and Java to create a model of HTML application and shows examples of the programming required for model-based testing. Learn ways to implement the data structures required for modeling in Java, what to avoid in creating the models, and how to automatically adapt test cases to changes in the application's GUI.

Jeff Feldstein, Cisco Systems Inc
How GM Tests Web Services

General Motors is on the road to a Service Oriented Architecture (SOA) as its computing standard. To proceed they need to understand the scalability and throughput limits of the message-centric Web services approach that is the essence of SOA. General Motors chose SOA to build its next generation information systems, using Web services and ebXML technology. Service consumers and service providers will exchange Unified Business Language (UBL) Business Object Documents (BODs) to do things like get a purchase order and acknowledge an order. Frank Cohen presents the test methodology and findings from the GM Web Service Performance Benchmark project for its SOA applications and highlights a huge, impending industry-wide problem with Web services. Take home a test methodology to check SOA and Web Services for scalability in your environment.

Frank Cohen, PushToTest

Pages

AgileConnection is a TechWell community.

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