As I mentioned in my sessions at Real World this year, we support the following desktop browsers:
- Apple Safari 5.x+
- Google Chrome
- Mozilla Firefox 5.x+
- Internet Explorer 6 with Google ChromeFrame plugin
- Internet Explorer 7+
Additionally, we support:
- Mobile Safari (on iOS Devices)
- Android Browser 3.x+
When it comes to the browsers, you should test as many platforms as you can because they will sometimes render slightly differently. For instance, Safari attempts to maintain the platform look and feel, so buttons may render at slightly different sizes!
Tools of the Trade - Equipment
When it comes to testing, there's nothing like having a real machine around for testing. When it comes to testing web sites & apps, that's often not financially feasible because you'd need to have at least 4 or 5 computers on your desk to cover all of the possibilities. The next best thing is to create a virtual machine using one of the virtualization products such as:
When it comes to Safari and Chrome, you can pretty much use the latest versions on OS X and Windows to test. As Apple moves forward with 10.8 and beyond, you may want to keep a virtual machine around that still has 10.7 and an older version of Safari on it for testing. Google Chrome automatically updates to the latest version, so users will most likely have a very recent version.
If you're interested in the bleeding-edge of what's going on with Webkit, check out http://www.webkit.org.
Firefox is a tricky target because it wasn't until recently that they started forcing upgrades on their customers. Sometime this spring, they announced that they would be auto-upgrading anyone using version 4 or earlier to the latest supported version for their machines. This means that there are still people out there that are running versions 5 - 12 (version 13 is current as of today). One way to solve this is to keep several versions on your machine. On OS X, all you need to do is name each of the browsers with the version number. On Windows, you need to be sure to change the installation directory each time you install a different version.
Now lets talk about Internet Explorer. Like most internet geeks, I like to have the latest & greatest version of a browser on my machines because they tend to work the best and are more compatible with the latest sites. Unfortunately the same does not hold true for many customers and businesses that use the Internet on a daily basis. The fact is that you cannot guarantee that any particular user will be using an up to date browser. For instance, Windows XP came with Internet Explorer 6 when it first shipped!If you don't have a computer with IE7 and IE8 on it, you shouldat least be testing with DebugBar's IETester for Windows. It'll give you a very close approximation of how those browsers will behave. I still prefer using a virtualization product for older configurations. If you have Windows 7, VirtualPC/XPMode is a free download.
Testing for Apple's iOS devices requires that you either have a device or a Mac with the iOS Simulator included with the Xcode Developer Tools. Personally I like testing on a real device, but for the most part the version of Safari that is included in the simulator functionally equivalent.
As with the iOS devices you should either use a physical device or the Android SDK. Again, I prefer actual devices, but with the proliferation of different Android devices out there, it's often not an option to have one of each. The Android SDK allows you to create virtual devices that match particular hardware configurations.