Home > Agile software development tutorial: Agile testing
Tutorial:
EMAIL THIS

Agile software development tutorial: Agile testing

03 Apr 2009 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

TABLE OF CONTENTS
  [IMAGE]Getting started: How to transition to agile
  [IMAGE] Benefits of agile development
  [IMAGE] Problems with agile development
  [IMAGE]Agile project management methodologies
  [IMAGE]Choosing tools for agile development
  [IMAGE] Agile development requirements gathering
  [IMAGE]Testing in an agile environment
  [IMAGE] More agile issues, considerations



Testing in an agile environment

Increasingly people are talking and asking questions about testing on agile projects -- what does it take to be a successful tester in agile? To answer this question, we need to know how agile projects are different from "traditional" software projects. They're faster (short iterations, working software sooner, and a sense of urgency in the entire team from the first day), but they still have many of the same problems as some traditional project lifecycles: bad requirements, communications issues, lack of documentation.

For teste...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Agile software development
How to deal with iteration issues in Agile
Flexibility and teamwork proven traits of Agile team maturity
How to stop developer vs. tester, quality-killing blame game
Using Agile, scaling back helps software projects in recession
How to improve software user acceptance testing practices
How testers can handle switching to Agile's short iterations
Testers debate differences between waterfall, Agile test automation
Tasktop brings task management into the application lifecycle
Test-driven testing face-off: Waterfall vs. Agile
Accelerating Agile testing with computer assistance

Software test design
How to create performance testing workload models
CA's APM solution helps JN Data address performance issues
Parasoft Concerto targets policy-driven development
Why automated software testing fails and pitfalls to avoid
Essentials of static source code analysis for Web applications
Leaner test cases speed test planning, design
Streamlining test planning and design
Conformiq taps multi-core power for automated test case design
How test managers can shine in agile development: Tutorial, part two
Testing mobile Web applications for usability and context

Software testing models and approaches (Context-driven, Factory, Analytic, Quality, IV&V)
Put a stop to software espionage by watermarking source code
Testing databases, how online testing communities can ramp up skill sets
Software Testing: New software testing technologies bring new challenges
Software Testing Ezines
Recognizing appropriate scenarios for context testing
Rich Internet applications security testing checklist
Seven steps for a quality change and configuration management program
How to create performance testing workload models
How to apply modeling techniques to support software testing
Transitioning from AJAX to .NET what changes to expect in RIA's

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
acceptance test  (SearchSoftwareQuality.com)
iteration  (SearchSoftwareQuality.com)
planning board  (SearchSoftwareQuality.com)
planning game  (SearchSoftwareQuality.com)
release  (SearchSoftwareQuality.com)
release plan  (SearchSoftwareQuality.com)
spike  (SearchSoftwareQuality.com)
stand-up  (SearchSoftwareQuality.com)
story  (SearchSoftwareQuality.com)
timebox  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


rs, the biggest challenge of being on an agile project team is that the software is always changing. With new code being pushed into the test environment daily or even hourly, the system you're testing becomes a moving target. Dealing with that kind of change can require different approaches to testing, with different skills, tactics and tools. There are certain aspects of testing software that don't change just because the project team is using an agile approach to implement software, particularly in the mechanics of test execution, but some testers may need to make significant changes to their testing approach if they are going to add value on an agile software project. Agile testers will need to become versed in techniques like chartering (making decisions about what work you will do next, how you will do it, and how you will make it meaningful to your client) and touring (exercising the application in different ways to improve your understanding about how things work and where risk might be).

Your test development can be agile, too. According to Hans Buwalda, CTO at LogiGear Corp., testing in an agile environment is different than agile test development. With agile test development, similar to agile system development, face-to-face communication and frequent communication among team members is important, as is breaking down testing into smaller chunks with more frequent iterations, he said. With agile test development, tests are developed in small units, independent from the system and each other. Test development needs to be sensitive to the overall planning, and it needs to be flexible. In addition, it requires management buy-in to allow testers to be creative. Buwalda claims that tests are a natural means of communication with users and stakeholders to capture agreement and meaning on the specs, as well as the business and functional requirements.

Where does quality assurance fit in agile development and how are QA goals reached? According to David Christiansen, agile software development projects typically don't use a formal "quality assurance" process. That's not to say that agile projects produce inferior products, although QA proponents in your organization will probably use that argument to resist agile project management techniques. Instead, agile methodologies such as Scrum and XP rely on less formal approaches for ensuring that the application does what it is supposed to do and doesn't have bugs. These include letting users see the application as early and often as possible; using automated tests; and employing motivated generalists (i.e., developers who are competent not just at coding, but also at analysis, testing, communication, etc.) rather than specialists to eliminate "hand-offs" in the development process. The net effect of these agile approaches is a high-quality application.

There are also clear benefits to using exploratory testing in agile environments. According to Michael Kelly, testing expert and director of application development for Interactions Inc., the real-time nature of exploratory testing can help software testers deal with the constant changes on an agile project, as well as the time pressures of agile projects. Exploratory testers need to work to make the testing relevant and coherent to their project team. That means they need to understand which risks are important to the team. They need to understand where they should focus test coverage and work with the team to make daily decisions about what they will work on and how they will structure that work.

Exploratory testers are also skilled at controlling how they interact with the world. They know that collaboration can be more productive than working in isolation. They are good at obtaining the tools and information needed to support their testing efforts. Above all, they are continually focused on improving their ability to interact with the software they test: understanding its business purpose, the technology and how it's configured, and establishing procedures for better control of experimental conditions. They collect different kinds of data and look at different aspects of the software than the programming staff might.

More agile development issues and considerations

There are a few more things you'll need to consider when you fully embrace agile software development. For example, what is the role of architecture in agile development? Coming up with an agile architecture is not about making fixed predictions of the future, said independent consultant and trainer Kevlin Henney; a lot of considerations that make working in the here and now easier also have long-term benefits. Much of what makes an architecture agile is the ability to isolate dependencies and change, following the time-honored (but often breached) qualities of low coupling and high cohesion. Code that is sufficient rather than speculative, that communicates clearly, and that has low technical debt contributes to the habitability and ease of working within an architecture. An integral part of what makes an architecture agile is the process surrounding it.

What about cloud computing and agile? For information on how the emerging wave of cloud computing will affect agile development practices and testing, listen to this podcast interview with Craig Balding, a security practitioner at a Fortune 500 company and operator of the Cloud Security blog.

Also check out this book excerpt from The Software Project Manager's Bridge to Agility on the agile approach to scope creep, which is quite different from waterfall scope management.

If you still have questions about agile software development, write to us at editor@searchsoftwarequality.com and we'll do our best to address your concerns.






Software Quality Testing - Research and White Papers
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts