The Selenium IDE is a very nice product for recording and replaying a user's interaction with a web browser. The IDE only works with Firefox, but there are additional Selenium products you can use to run the scripts on other browsers such as Safari or Internet Explorer.
The Selenium IDE is very easy to install and learn - all you have to do is push the record button and start clicking on the web site you are testing in Firefox. As you record your script, you can also add "asserts", script execution steps that validate that a certain condition exists, such as that a link exists on a page, or that a value equals a specific number. When you're done, replaying the script is just one click away, and the Selenium IDE will execute each steps and let you know if any of your asserts failed.
There are lots of different ways you can use the Selenium IDE to improve your testing, but here are my two favorites:
- To attach to a bug report. Some bugs can be hard to isolate and reproduce. When I encounter a bug like this, I will often record the steps to reproduce it in the simplest way possible, then attach it to my bug report. Then a developer can re-play the script and see exactly how to make the bug happen. For complicated scenarios, this is a lot easier than trying to write down each step exactly.
- To set up a long manual test that has multiple permutations at the end. Let's say I need to get to step 4 of a 5 step test and steps 1-3 are the same each time, but I have ten different directions I need to go once I get to step 4. This is a perfect place to use the Selenium IDE - I simply record steps 1-3, then kick it off in ten different browser windows (or tabs), and start testing all the different permutations. This is a great way to save time in manual testing.
It's not enough to test your application just in Firefox or on Windows XP. There are lots of other browsers and operating systems that the product you're testing probably needs to run on. Sun VirtualBox is a great cross-platform virtualization tool that makes it easy to set up multiple OS's for testing. You can create virtual machines on Linux, OS X, or Windows for nearly any OS under the sun except for OS X.
When you create a virtual machine, make sure you take a "snapshot" of it before you start testing. That way, you can revert your virtual machine back to the starting point if you accidentally mess up the OS or perform some installation task that you can't reverse with confidence. Also, I like to save local copies of the OS .iso image so that I don't have to install from media each time I create a virtual machine. It's much faster to install from your local hard drive than from a CD or DVD.
Finally, you don't have to buy a copy of Windows to do Internet Explorer testing - Microsoft offers free image downloads for browser testing that will work with VirtualBox. Just google "VirtualBox Internet Explorer" and you'll find several sites explaining how to download and install various versions of Windows for free.
Are you looking for an agile project management tool that is light-weight, web-based, and inexpensive to use? You can't get any cheaper than PivotalTracker- it's free! PivotalTracker lets you create stories, bugs, and chores and march them through an iterative development process. You can tag stories, estimate them, assign them, and prioritize them all using a simple one-page user interface. PivotalTracker will calculate your velocity, notify you of changes to stories you care about, track comments, and even schedule iterations for you.
I especially like using the "accept" and "reject" feature on stories. PivotalTracker automatically draws attention to stories that are ready for testing with these red and green buttons, notifying me that it is time to get cracking. When I'm through testing a story, I can accept it if I didn't find any critical bugs, or reject it when I do. It's an easy way to make sure that I am keeping pace with all the testing that is going on in an iteration.
Here are a few more tools that you should have in your toolbox as an agile tester:
- Xmarks- Xmarks lets you synchronize your bookmarks across multiple computers. I have found this product particularly helpful when I am testing on different browsers or with different OS's. It's a lot easier to install Xmarks than to export my bookmarks to a file and then import them every time I add a new link that I need on all my computers.