Software testing processes and development methodologies

Software testing processes and development methodologies

Can you explain the testing phase in the agile software development methodology? Are there any differences in the testing phases/processes in agile or V- model or waterfall model? In case there are differences, which one is the best methodology?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

There really is no notion of phases in any "agile software development methodology" that I am familiar with. This isn't to say that you may not have run across a development methodology that someone refers to as being agile that uses phases, but generally agile processes are heavy on developer testing, always having a working build of the software, and include very frequent user acceptance testing (UAT), which in an agile environment is more of a feedback loop where end users and stakeholders tell the developers what they would like to see added or changed in subsequent builds.

There are as many differences in testing phases/processes as there are people willing to answer that question times the number of different methodologies they have experience with. The notion of best is almost as vague. The only notion of "best" that I know is the one that happens to work well for your particular team on any given project.

Software testing resources:
How to define a test strategy

Tools, methods, to test software more efficiently

Addressing software quality issues with development models, methodologies

Personally, I tend to prefer projects that are more agile than pre-planned and rigid. I'm sure this is my preference because of the same personality traits that make me grumpy when I'm expected to wake up at a certain time every day, take the same route work every day, or even to make travel arrangements more than a few days in advance. I get bored very quickly when I know what I'm going to be doing too far in advance, and when I'm bored with something, I tend not to do a very good job at it. I do much better work when I am continually reacting to new information. As a tester, I am happiest when my "test plan" involves at the completion of each test asking myself "What test or testing task can I do right now that will add the most value to the project."

I know other extremely talented testers who become very stressed and ineffective in environments where the testing is not pre-planned to a greater or lesser extent. Basically, I don't believe that there is a best. I don't even believe that any one methodology is generally any better than any other methodology. Some methodologies, I do believe, work better for certain teams on certain types of projects, that that is judgment that each team needs to make for itself.

This was first published in November 2007