Web developers: How do you test multiple browser engines?

I’ve been doing more and more web-related programming at work and I’ve been running into the issues of testing javascript code on multiple browsers AND multiple versions of browsers.

I can run chrome, safari and firefox on one machine, but not different version. Same goes for IE.

Is there some solution out there for testing out code on various rendering engines?

Virtual machines are your friends. As are multiple machines. You now have a use for those old computers stashed in your closet.

Yeah we just have everyone keep un-updated copies of IE on their machines, and if you need a test you have someone else test for you on their machine.

We’ve also got a Mac Mini for the express purpose of testing Mac browsers.

Google “cross browser testing” to find software and sites that offer cross-browser testing. Some free some for a fee. Here’s an article that reviews a bunch of them.

Windows 7 Pro has a lovely Windows XP mode built in - it’s basically the easier version of a virtual machine. Also, IE7 compatibility mode is almost identical to IE7’s rendering, so just having a copy of IE8 works for both. I’m a bad person and haven’t delved into IE9 too much, for the most part, it holds its own.

For now, Adobe Browser Labs is free, which is what I use to see the Mac browsers. If there’s something I need dev tools to figure out, then I hijack a coworker’s Mac.

Firefox’s rendering engine hasn’t really changed since FF3, so I don’t worry about it. And I tend to just test whatever Safari my coworkers have installed, most Mac people keep updated. And Chrome is just Chrome and shit just works.

RE: Mac browsers. The Mac expert at my biggest client says that Safari for Windows renders identically to Safari for Mac, so you oughta be able to use that. I don’t know if it’s true or not, as the Mac expert is the guy who actually does the testing, but that’s what he says.

I test websites for a living and I have a Macbook Pro with VMWare VMs of a couple flavors of Windows. That allows me to have multiple versions of the various browsers handy, for both the major OSes. (I have a Linux VM too, but rarely get any requests to test on that.)

I’d also suggest you not neglect mobile browsers – the Android browser and Safari for iOS at least. The Android SDK comes with an emulator that will run on Windows but for iOS you’ll either need a Mac to run the emulator or an iPhone/iPod.

I got a bug report once regarding how the website failed to render on the PS3 browser. Sadly, my boss didn’t think it was a good idea to put in an official request for a PS3 for the department …

There’s no magic formula. You have test on every browser you want to support. VMs help a lot. Rendering is usually consistent across versions, but Javascript processing may not be. There are changes version by version, and you may have to require some level of updates to support a particular browser version. I’ve personally experienced more issues regarding navigation, security, and interactions between windows than rendering problems (but maybe that’s what you’re asking about).

I haven’t tried this out yet, but it looks really promising:

http://spoon.net/browsers

From the about: