How to approach regression testing, selection of tools and frameworks

How to approach regression testing, selection of tools and frameworks

For functional/regression testing, I have been learning/using Selenium IDE and RC to test an off-the-shelf Web application. I'm just a beginner, what tools/frameworks should I be looking at? And how does Java compare to an alternative programming language?

    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.

First of all, let me say how impressed I am at your self-starting attitude. More people should take charge of their career like you do! I would concur with your research that Selenium, TestNG, and Eclipse/Java are a fantastic test framework. Very robust, and the skills are portable pretty much everywhere. This is a solid background which will serve you well over the next few years.

To address your question regarding Java vs. another language for your PHP-heavy environment requires me to ask you a question: which works best for you? There are definite advantages to testing this environment in PHP—you'd be testing in (and therefore familiar with) the language the site is coded in, for starters. Secondly, the automation you write would be in a language your web developers are familiar with, which means in a pinch they could help you build automation, if needed. Other than that, however, I'm not sure what other advantages you'd find. Basically, regardless of the code behind the site, your web application is served up over HTTP with (probably) some on-page javascript. Whether that's build in PHP, ASPX, or Java is irrelevant from a testing perspective, as long as your tools and tests speak HTTP. And frankly, from a personal and career side, I'd have to say the Java experience would be more portable than if you abandoned your current approach and moved to PHP.

The last bit of feedback I'd offer is that, in the Agile way, you need to do what works. It needs to work for you, and it needs to work for your employer. If your test code, written in Java, is unmaintainable by anyone other than yourself, that might be a disservice to your employer. If your company is never going to move to or require Java, you're not going to help yourself (short-term) or the company by learning it. Now there may be a tolerance for this at the company, and it's up to you and your manager to really figure that out. In the end, all other things kept equal, I'd stick with the Selenium/Eclipse/TestNG/Java approach.

This was first published in August 2009