Monday, July 2, 2012

Multi-Browser Web App Testing

One question that came up a lot at Real World this year was "How many browsers should I test my web apps on?" The answer is "All of them!" You should test your applications in as many browsers as you can get your hands on.

Which Browsers


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:


Tools of the Trade - Browsers


Safari & Chrome


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


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.


Internet Explorer


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.


iOS

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.


Android


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.

3 comments:

quimeraec said...

Please add Opera browser. This small and very fast browser is also compatible with WE apps.

Thom McGrath said...

We can do some testing with Opera again, but last time we did, we found it has some terrible bugs that make IE6 look good. That's why it is not on our supported browser list.

quimeraec said...

Thank you Thom.

Opera 11 and 12 works fine for my web apps. I'm testing with windows 2008 server hosting a couple of RSWEB Edition apps. Five clients (two of them are Acer Iconias) running Ubuntu and Opera 11.xx, four PCs with Windows 7 and 8 runnnig Opera 12.xx.

Anyway, I wonder what -essential things- should be tested to determine that a browser is compatible or not with RS Web Edition.

My current project is a medical record system (includes appointment).