Conference Presentations

Applying Use Case-Driven Testing in Agile Development

Use Cases provide a user-focused sequence of events that also can serve as a template for functional testing activity. In an agile environment, use case-based testing brings testing earlier into the process and helps teams more quickly deliver higher levels of functionality to their customers. Testing with use cases also provides early peer review for the logic of intended functions. Involving testers in use case development and harvesting use case scenarios for test case development has shown great practical benefit in numerous application development projects. Dean Leffingwell describes the use case-based testing method and highlights practical tips for applying the technique. Learn to employ use cases to express functional requirements and how use case scenarios can serve as templates for testing activities.

  • An overview of use case development practices
  • Accelerating test development with use cases
Dean Leffingwell, Consultant
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
Quality Interactions: Bulding Effective Working Relationships

As software professionals, we all care about quality. We focus our efforts on building quality into the code and testing to assess quality and find errors before our customers do. However, there is an important element of quality that comes before all that and is critical to delivering reliable software: quality working relationships and quality interactions. Esther Derby covers pragmatic strategies for building, strengthening, and maintaining working relationships with all stakeholders-managers, customers, team members, and peers. The first step is to build a foundation of trust and respect. Then, we must focus on interests rather than positions and seek joint solutions to problems. We should use the richest communication channel available for our interactions and make a generous interpretation of others’ actions.

Esther Derby, Esther Derby Associates Inc
Get a New Agile Attitude - Quality First

For decades quality assurance (QA) has been a back-end loaded process. Developers put the bugs in, and QA tests the bugs out. For nearly as long, testers have bemoaned the fact that quality can't be put in at the end, that quality must be built in from the beginning. Support for this view has grown from the grassroots within the development community and is now spreading like wildfire in the software industry. The practice of building (and testing) quality in throughout the development process has come from an unexpected source: Agile methods. Agile methods demand a strong reliance on both automated component testing and acceptance testing. Agile practices recommend that those tests be developed before the code is written and that the tests act as the true requirements for the software.

Robert Martin, Object Mentor
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
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
Improving Testing with Process Assessments

Fast development cycles, distributed architectures, code reuse, and developer productivity suites make it imperative that we improve our software test efficiency. A process assessment is one approach to begin an improvement program.

  • What process assessments are available?
  • How do you conduct an assessment?
  • How do you guard against incorrect information?
  • How do you know what to improve first?
  • How can you make successful improvements without negatively impacting your current work?

Learn the answers to these questions and more from Intel's experiences using the Test Process Improvement (TPI?) model as a basis for assessments. See example scores, improvement suggestions, and adopted actions. Hear about the high points and low points of using this process, and take away a comparison of the TPI? model with the CMMI Level 3 key process area.

Robert Topolski, Intel Corporation
Free Test Tools are Like a Box of Chocolates

You never know what you are going to get! Until you explore, it can be hard to tell whether a free, shareware, or open source tool is an abandoned and poorly documented research project or a robust powerhouse of a tool. In this information-filled presentation, Danny Faught shows you where open source and freeware tools fit within the overall test tool landscape. During this double session, Danny installs and tries out several tools right on the spot and shares tips on how to evaluate tools you find on the Web. Find out about licensing, maintenance, documentation, Web forums, bugs, and more. Discover the many different types of testing tools that are available for free and where to find them. Danny demonstrates examples of tools that you can put to use as soon as you get back to the office.

Danny Faught, Tejas Software Consulting

Pages

AgileConnection is a TechWell community.

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