Tuesday, 2 July 2013

Cross Browser Testing - Basics - Learner's Series - 1

Public facing web sites are intended to reach wider audience, who tend to browse the site with their available or preferred OS/Browser/device Combinations

These web applications (hosted in these sites) should get rendered/displayed as uniform as possible across these Browser/OS combinations (as expected by the Customers/users), however the browsers have differences among them with respect to the

  • Layout Engine
  • Shell Features
  •  JavaScript engine

 Below is a sample list of few browsers from different vendors/opensource, their differences.
Browser
JavaScript Eng. -Comp. version
Layout Engine
OS Support
Microsoft IE 6.0
JScript 5.6-
JavaScript 1.5
Trident 6.0.x
Win 98, 98SE, ME, NT4, 2000, XP
IE 7.0
JScript 5.7-
JavaScript 1.5
Trident 7.0.x
XP SP2, Vista
IE 8.0
JScript 5.8-
JavaScript 1.5
Trident 8.0.x
XP, 2003, Vista, 2008, Windows 7
IE 9.0
Jscript 9.0-
JavaScript 1.8.1
Trident 9.0.x
 Windows 7, 2008 R2, Vista SP2
Mozilla Firefox 5.0
SpiderMonkey-JavaScript 1.8.5
Gecko 5.0.x
Windows Vista, 2000, XP, Server 2003, 2008,  Mac OSX, Linux and Unix
Firefox 11.0
SpiderMonkey-JavaScript 1.8.5
Gecko 11.0.x
Windows 7, Vista, 2000, XP, Server 2008, Mac OSX, Linux and Unix
Firefox 12.0
SpiderMonkey-JavaScript 1.8.5
Gecko 12.0.x
Windows 7, Vista, 2000, XP, Server 2008, Mac OSX, Linux and Unix
Apple Safari 3.0b
JavaScriptCore
JavaScript 1.?
WebKit  522
Mac OS 10.4.9 or later
Safari 3.0.4
JavaScriptCore
JavaScript 1.?
WebKit  523
Mac OS 10.5
Safari 4.x
Squirrel Fish JavaScript 1.?
WebKit 530
Mac OS 10.6
Safari 5.x
Squirrel Fish JavaScript 1.?
WebKit 534
Mac OS 10.7

Browser compatibility testing (BCT) is the testing of “implementation of client-side technologies” of browser. BCT tests whether the business critical functionality is delivered in the same manner across multiple browser and OS combinations.

"Cross Browser compatibility issues stems from the differences in rendering of HTML, XHTML, XML, etc by different browsers and OS combinations into a formatted web page"

"Though the Browser Translation Rules/Standards are set by the World Wide Web Consortium (W3C), the standards are interpreted differently by different organizations resulting in varied user experiences"

Scope

BCT test scope will be driven by the need of each individual application requirements based on

·         No. of Users
·         Type of Usage (Internal/External/Both) – Private/Public Facing websites
·         Usage of various browser & OS variants

Also, it may not be feasible to test all the available test cases or functionality on every OS / Browser combination due to constraints imposed by size of test suite, Test Scope, Schedule / Cost constraints, Tester Skill sets, Environment availability, Stakeholder expectations etc.
BCT of the application might not include:
·         Performance Testing of functionality in different OS/Browser Combinations
·         Security and vulnerability testing of the application
·         508 Compliance testing of the apps.

Browser usage Trend Analysis


Browser usage trend analysis for any application can be analysed in different ways.  Please discuss with your web master/administrator (In house or External)

  • Configuring the web server, to log the Browser/OS combinations, which access the web site. Depending on the web server/host, there might be a need to restart the server, which you might not prefer. For best options,
             Example: -
             By changing httpd.conf in Apache web server.  This is a configuration change; however this technique      requires analyzing the logs either manually or by writing a script to filter out the Browser/OS details
  • Design /Code Change to add Servlet filter in the application code and intercepting all requests received by application server.  This technique will intercept all URLs and then in the filter write code to record counts of different browsers. Performance overhead of adding Servlet filters might require discussion with your Design Team.


If you do not wish to change your web server configuration or Application code, then browser usage data (world wide usage) due to various factors can be obtained from (some services might need to be bought)



References
pP.S.  Currently i do not have any data regarding Phone, Tablet or any other hand held device's browser/OS combination details

No comments:

Post a Comment