Conference Presentations

Testers and Testing in the Agile Development

You have heard about agile software development techniques such as eXtreme Programming (XP), Scrum, and Agile Modeling (AM). The industry is buzzing with everything from "this is the greatest thing ever" to "it's just hacking with a fancy new name." Comments like "there is no place for testers because developers and users do the testing now" and "testers play an important role in the agile methods" are both common. Scott Ambler, an early proponent of the agile movement, explains the fundamentals, values, and principles of agile development. He describes a range of agile techniques and explores many myths and misconceptions surrounding agility. Agile software development is real, it works, and it may be an important part of your future in testing. Better testing and improved quality are critical aspects of agile software development, but the roles of traditional testers and QA professionals on agile projects remain unclear.

Scott Ambler, Ronin International, Inc.
Gotcha!...Security Testing for Mission Critical Applications

A local television station provides a Web service that allows schools and businesses in the area to easily enter information on closures due to bad weather. The information then is displayed as a crawl along the bottom of the television screen. Some kids hack into the site and declare their school closed for the day, and it's immediately shown on everyone's television! It's a cute story. Now let's imagine that these same kids hack the prices on your eCommerce site or obtain access to sensitive customer records on your company Web site. This time the story is not so laughable. Mike Andrews shares his favorite top ten holes in Web site security including "SQL injection" and "cross-site scripting," shows examples of each, and discusses the effects these security breaches can have on your site. Fortunately, the number of attacks is rather small and easy to repair-if you know where to look.

Michael Andrews, Florida Institute of Technology
Automation Architectures -- Best Practices in Your Context

How are you going to develop 1,000 or more automated test cases and run them automatically and unattended night after night? Commercial test automation tools get a bad rap because many organizations never get past the record / playback / fail cycle of frustration. These tools can contribute to your testing needs, but first you must understand what has to be done to make them work for you. Jamie Mitchell outlines different test automation architectures successfully in use today and discusses the pros and cons of each. He provides an up-to-date review of test automation tool categories for functional testing and discusses what it takes to implement them robustly. To meet your unique testing needs, find out which framework or combination of practices from different frameworks will work best in your environment and for your applications.

Jamie Mitchell, Test & Automation Consulting LLC
Get Your Testing Message Across

We all know how important test progress (or lack of) is to the success of the project. But why is it that sometimes no one takes notice? Valuable test reports provide information that is needed, not just easy to gather. Test progress reports aid management in decision-making and risk assessment and help testing teams set priorities. In this presentation, Isabel Evans asks, "Do our reports add value for their audience or are we just supplying 'chart junk' that will not be read? Are we providing teams and managers with information they need or giving them what we have? Do our reports and charts emphasize or hide our message? Are our reports clear and to the point?" She discusses what types of information different audiences need and when; how to display information using charts, diagrams, and text to be effective; and how to predict future progress from past reports.

Isabel Evans, Testing Solutions Group Ltd.
Detecting Great Testers before the In-Person Interview

Resumes only tell a portion of a candidate's story just like caller ID doesn't always reveal the caller's complete identity. Screening candidates over the phone can help extract more of the person's story if you ask the right questions. In this column, Johanna Rothman shares phone-screening techniques she uses to detect great potential testers. This process of elimination saves her valuable time and ensures only qualified candidates make it to the in-person interview.

Johanna Rothman's picture Johanna Rothman
A Strategic Approach - "Beta the Business"

Beta testing is an industry standard practice to obtain user feedback prior to general availability of software. Have you ever considered that the Beta release can be used to validate the software's value to customers and application users? Extending the Beta concept will result in higher customer satisfaction (and higher revenue for commercial products). Also, you can employ Beta testing to evaluate not only the software product, but the distribution (and sales) process, training, customer support, and usage within your customers' environments. Far beyond just finding defects in the product, you can focus Beta testing on how well the software is meeting your customers' needs. What does that mean to the Development team and the organization as a whole? What are the risks and challenges that we face? What are the rewards?

Pete Conway, EMC Corporation
Breakthroughs in Measurement and Benchmarking

The "business of IT" is in the limelight more than ever. The economic, regulatory, and geopolitical changes of the past three years have made companies rethink everything from their IT cost structure to their service delivery models and the value of software to their enterprise. CIO's have asked for innovations to make software development more agile and adaptive and ways to more effectively communicate with their business units. These pressures have driven leaders to implement breakthrough ideas resulting in a focus on new (and more important) measures of performance. Quantitative techniques are now available to better align business and IT through the implementation of powerful and expressive product/service catalog structures. If your organization embraces these new methods and techniques, it will benefit from full transparency and an enterprise view of its software portfolio as a critical business asset.

Howard Rubin, META Group Inc
Software is Entering a New Dimension - Are You Ready?

A revolution in the business of software is coming . . . The boundaries between the business and IT from one enterprise to another will disappear. The space around functional system silos will dissolve. How we develop and deploy software will have to undergo radical change, challenging our entire thought process about how, why, and for whom we build it. Already today, delivery cycle times are down to days and business processes embedded in software represent invaluable corporate intellectual property. Soon, service-oriented architectures will enable ad hoc application integration and sophisticated, dynamic user-driven software configurations. Web services, already deployed on many corporate Intranets, will be exposed to customers (and competitors as well as malicious hackers). These forces represent profound changes in how software is developed and deployed.

Linda Hayes, WorkSoft
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.
Preventing Security Breaches at the Source

Security is a complex and often overwhelming issue. You cannot rely solely on trying to prevent hackers from entering your systems. Instead, you must ensure that the system safeguards itself if a hacker does break in. Three of the most common internal software weaknesses hackers exploit are dangerously constructed SQL, buffer overflows, and runtime exceptions that are not properly handled. Although testing existing code for these defects can help, it is not fool proof. You also need to make a concerted effort to prevent security vulnerabilities from being introduced as the team is writing code. Through the application of practices, such as static analysis, dynamic analysis, unit testing, and runtime error detection, you can jumpstart your security efforts and keep the hackers at bay.

  • The most common internal software weaknesses that hackers exploit
Sergei Sokolov, ParaSoft Corporation

Pages

AgileConnection is a TechWell community.

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