Conference Presentations

Getting Started with Test Driven Development

Test-driven (or test first) development (TDD) is an excellent method for improving the quality of software applications. It forces the programmer to focus on ensuring that the behavior of the objects at the lowest level of the system is appropriate. It also provides a mechanism to ensure that future source code changes do not break existing behaviors. Using C++ as the example language, Robert Walsh presents an overview of test-driven development, available TDD testing frameworks, and a demonstration of a project started from scratch using TDD. You can apply these concepts to other languages, including Java and Visual Basic. Learn how to overcome the initial hurdles many developers experience when starting out with TDD.

  • An introduction to test-driven development using C++ as the example language
  • The testing frameworks available for TDD
  • Programming tasks that are difficult to implement using TDD
Robert Walsh, EnvisionWare, Inc.
Design Testability and Service Level Measurements into Software

Design and architecture decisions made early in the project have a profound influence on the testability of an application. Although testing is a necessary and integral part of application development, architecture and design considerations rarely include the impacts of development design decisions on testability. In addition, build vs. buy, third party controls, open source vs. proprietary, and other similar questions can affect greatly the ability of an organization to carry out automated functional and performance testing-both positively and negatively. If the software or service is delivered to a separate set of end-users who then need to perform testing activities, the problems compound. Join Jay Weiser to find out about the important design and architecture decisions that will ensure more efficient and effective testability of your applications.

Jay Weiser, WorkSoft
Customer Focused Business Metrics throughout the SDLC

Focusing on the customer throughout the software development lifecycle (SDLC) is difficult to do. Teams often can become mired in technical problems, internal resource limitations, or other issues. Following the customer mantra of "Faster! Better! Cheaper!" Steve Wrenn offers measurement and process techniques that he has used to deliver projects on time, on budget, and, most importantly, meeting customers needs. By focusing on the development cycle from the outside in, his organization provides business-based metrics dashboards to monitor and adjust the project plan throughout the development project. Find out how their performance dashboard helps the team and the customer stay on course and drive directly to the targeted results. Discover an approach to determine what customers really want and match product development to customer expectations.

Steve Wrenn, Liberty Mutual Insurance Information Systems
Software Test Automation Spring 2003: Mission Made Possible: A Lightweight Test Automation Experience

Using a challenging client engagement as a case study, Rex Black shows you how he and a team of test engineers created an integrated, automated unit, component, and integration testing harness, and a lightweight process for using it. The test harness supported both static and dynamic testing of a product that ran on multiple platforms. The test process allowed system development teams spread across three continents to test their own units before checking them into the code repository, while the capture of the tests provided automated integration testing and component regression going forward. He'll also explain the tools available to build such a testing harness and why his team chose the ones they did.

  • Examine the benefits-and challenges-of implementing an integrated, automated component and integration testing process in a Java/EJB development environment
Rex Black, Rex Black Consulting Services, Inc.
Optimize Application Infrastructure Performance Before Going Live

Our surveys have shown that over 75 percent of applications fail to meet their performance goals. With today's complex multi-tier systems and integration projects, finding these performance bottlenecks can be like finding a needle in a haystack. Customers need a systematic approach to identifying, isolating and resolving performance bottlenecks prior to going live. Mr. Radhakrishnan will address methodology and technology available today to solve performance problems for multi-tier systems in a deployment or production setting. the presentation will cover:

  • Practices for dealing with performance optimization in the lab and in deployment
  • Solo tools for databases, J2EE apps, ERP/CRM solutions, as well as holistic system wide tools
  • A complete methodology for tuning and optimization practices
  • Expanding performance assessment and optimization to capacity planning
Rajesh Radhakrishnan, Mercury Interactive
Application Performance and Reliability Management - 24x7

Managing system performance and reliability has never been as significantx0151or as challengingx0151as it is now. These days, most organizations have multi-technology, multi-vendor, multi-tier environments. In other words, it’s a world rife with 24-hour, alwaysx0151on complexity. Add to this the need for continual changes to react to shifts in business conditions, technology advances, and mixes of demands and you have a recipe that calls for the highest level of performance and reliability possible. But getting there is next to impossible. However, new concepts emerging from research labs are delivering usable products such as flexible computing, autonomous computing, and self-tuning systems. These possibilities have revolutionary potential for performance management.

  • Examine recommended suites of tools and their limitations
  • Look at the major innovations and trends, such as self-tuning systems
Ross Collard, Collard and Company
Testing Toolkit for J2EE Systems: A Case Study

Taking a test team from a client/server environment to J2EE-based Web technologies and implementing test automation at the same time is a challenge. Introducing an agile test methodology into a traditionally waterfall-oriented organization at the same time is even bigger. In this case study, share Clay Coleman's successes and challenges as he mentored and supported a test group throughout this project. Walk with Clay from the days of early analysis and design; through test strategy development and planning; on to test case design and automation efforts; during all stages of test execution; past system rollout; and, finally, completion of an initial regression test suite. If you think you may go through such an experience, you'll learn some lessons Clay will never forget.

  • Integrate test automation into the construction phase of a development project
Clay Coleman, CapTech Ventures
Beyond GUI: What You Need to Know about Database Testing

Today's complex software systems access heterogeneous data from a variety of back-end databases. The intricate mix of client-server and Web-enabled database applications are extremely difficult to test productively. Testing at the data access layer is the point at which your application
communicates with the database. Tests at this level are vital to improve not only your overall test strategy, but also your product's quality. Mary Sweeney explains what you need to know to test the SQL database engine, stored procedures, and data views. Find out how to design effective automated tests that exercise the complete database layer of your applications. You'll learn about the most common and vexing defects related to SQL databases and the best tools available to support your testing efforts.

Mary Sweeney, Exceed Training
Testing "Best Practices": From Microsoft's Context to Yours

Testing is a never-ending series of trade-off decisions, what to test and what not to test; when to stop testing and release the product; how to budget your testing resources for automated vs. manual testing; how much code coverage is good enough; and much more. To make these difficult judgement calls, we often turn to the "best practices" recommended by testing experts and others who have encountered similar problems. The key to successful implementation is matching their "best practices" to your own context (team make-up, company culture, market
environment, etc.). Barry Preppernau shares his insights gathered from over 20 years of testing experience at Microsoft. You'll learn about the tools and processes that have been successful within Microsoft and ways for you to identify, adapt, and implement successful test improvement
initiatives within your organization.

Barry Preppernau, Microsoft Corporation
The Best Testers are Free

Beta programs and early release programs are commonly used in software release cycles. The next level of partnership is bringing actual customers into the test lab. When customers test, even for short periods of time, their contribution can change your test practices and test environments forever. The best part is, they’ll do it for free! Learn how to recruit customers for testing and then use them to improve test practices within your test team.

Adam Tate, IBM Corporation

Pages

AgileConnection is a TechWell community.

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