Conference Presentations

Testing Software Builds Automatically Using Virtual PC Software

When they receive a new software build, testers usually start their automated testing runs. Instead, what if they could execute tests automatically at the end of the build process? Using Microsoft Virtual PC 2004 as the example tool, Geoff Stewart shares his experiences using virtual PC software to configure, baseline, and isolate a test environment and automatically execute tests as part of the build process. By using virtual machine software via a command line interface, anyone can run tests without knowledge of the testing tool. Geoff demonstrates the technique and explains how he saves test results in XML for easier post-processing and historical reference. Get a head start on test execution, eliminate version conflicts, and save time installing test tools on host machines.

  • An overview of virtual machine technology
  • Integrating test execution with an automated build process
Geoff Stewart, Itron Inc
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
Lightweight .NET User Interface Testing

The .NET environment provides a surprising but little known way to create user interface (UI) test automation scripts. By employing objects in the System.Threading and System.Reflection namespaces, test engineers can write ad hoc automated UI test scenarios in minutes. James McCaffrey presents an example of a Windows-based application and creates a test program written in C# that verifies UI functionality by simulating user typing and clicking. James explains the code in detail so you can modify and extend the program to meet your own needs. Learn how to write ad hoc UI test automation for .NET-based Windows applications.

  • How to use System.Threading for test harness communications in .NET
  • Simulate .NET user interactions with System.Reflection
  • A look ahead to Avalon and its effect on user interface test automation
James McCaffrey, Volt Information Sciences, Inc.
A Systematic View of User Acceptance Testing

Acceptance testing is a vital and specific form of testing whether you are tasked with rolling out an enterprise application package, releasing a major system enhancement, or developing acceptance tests in an agile development project. In addition, acceptance tests can give some teeth to service level agreements and software acquisition contracts. However, most treat acceptance testing as the same activity as system testing-but done by different staff. That is wrong! Because acceptance testing is not about bug hunting and breaking the software, you need a different strategy. With over 25 years of experience covering acceptance testing for all types of systems from safety critical control systems to standard financial applications, Geoff Quentin shares his views on how to do acceptance testing correctly.

Geoff Quentin, QBIT Ltd
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.
Quality Assurance as a Service Organization

"QA is the bottleneck” ... "Why does QA take so long?" ... "You need to test faster." Often, key project stakeholders either do not understand QA or have difficulty quantifying the effects that increasing or decreasing test time will have on the project. First American CREDCO found the solution was to turn QA into a full service organization, complete with a "Quality Rainbow" menu of options to be purchased. Want it quicker and willing to accept a higher risk? Then select from Column 1. Want low risk and willing to take the time to ensure the product is pristine? Then select from Column 5. Whether your test team is small or large, you can learn to "in-source" QA services, set time and efforts expectations up front, and measure the value of QA activities so that QA does not become a roadblock to project success.

  • A method to specify and quantify the services provided by a QA group
Sandi Oswalt, First American Credco
Introduction to Test-Driven Development

Write the test. Make it green. Make it clean. This is the mantra of test-driven development (TDD). Though viewed as a developer-only practice, software project managers, test managers, and testers need to understand TDD if they are going to operate successfully in a TDD environment. Because developers maintain a continuously updated automated test suite with TDD, testers are liberated to focus on higher level testing activities. In addition, TDD offers an opportunity for testers to give early feedback and insight regarding the tests that developers write. Overall, a complementary feedback cycle can ensue to enhance the work of developers and testers alike. With several case studies as examples, Chris Sepulveda, a veteran developer and proponent, introduces test-driven development, demonstrates TDD in action, and discusses the relationship between testers and developers in a TDD world.

Christian Sepulveda, Covexus, Inc.
Avoiding Test Metric Pitfalls

Most software and test managers keep some metrics to help them, but are yours really doing the job for you? Good test metrics can serve as an early warning mechanism about a project in trouble, help justify much needed assistance for a testing team, or demonstrate the value testers provide. Poor metrics can mislead management or drive a wedge between development and test teams. Steve Walters explains the basic enablers for metrics reporting and discusses three categories of metrics, providing tips for choosing metrics that matter. Find out which metrics your team should publish and which metrics provide limited or negative value. Discover how metrics can change behavior while learning ways to improve metrics over time.

  • The necessary foundation for effective metrics reporting
  • Metrics that matter in your organization
  • Metrics that drive the wrong behavior and those that drive the right behavior
Steve Walters, Dell Computer Corporation
Better Testing with a Hacker's Mentality

Security issues are becoming more and more relevant as testers are called on to find security problems before others exploit them. So, where do you start, and how do you bridge the gap between honest tester and bad-guy hacker? Julian Harty suggests we do so by adopting the mindset and practices of a hacker. In this presentation, gain a unique insight into the ways of hackers and specific technical techniques and tips on how to find security flaws before the hackers do. Progress from a novice to a journeyman security tester as you learn how to use “anti-goals” and your internal knowledge of the software to find and fix security vulnerabilities before the hackers find them and hurt your organization.

  • How a tester can adopt the mindset of a hacker
  • Proven techniques for finding security flaws
  • A safe environment to get started in security testing
Julian Harty, Commercetest Limited
Test Harnesses for API Testing

Automated testing in most QA organizations involves capture-playback tools in combination with manual testing. But these types of tests often suffer from well-known implementation and execution problems. One way to enrich the set of automated tests is through the use of API-level testing. Because APIs tend to be more stable than GUIs, many of the GUI-related test problems disappear, and API tests can be constructed earlier in the process. Generalizing the testing approach for API testing means running them in a common framework, a “Test Harness.” Michael Sonshine provides an overview of how to add API testing to your current testing mix and implement a minimum useful set of functionality. Find out ways to standardize input and outputs and novel strategies for minimizing the impact of release changes. Learn what inputs should be used, and what outputs should be produced.

Michael Sonshine, Intuit Inc

Pages

AgileConnection is a TechWell community.

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