Showing posts with label Browser Compatibility Testing. Show all posts
Showing posts with label Browser Compatibility Testing. Show all posts

Thursday, 21 January 2016

Strategies for better Cross Browser Testing



The complexity of Cross Browser Testing lies in the endless combinations of browsers, versions and different platforms. There are a few rules we can follow that makes this testing process faster and more effective. 




1: Understanding the core concepts:

Before starting with the testing right away, it is recommended to understand the basic concepts of Cross Browser Testing such as –

-          What is cross browser testing?
-          Why is it required and what are its final objectives?
-          Who carries out this process?
-          When it it required to be done?
-          And how it can be done?

Once we have clear answers to the above questions, an organized procedure can be followed to carry out an effective and faster testing process.

 2: Define a checklist

Defining a checklist defines a scope of work for the task. This helps to calculate the time required, points considered and is much better an approach than just executing the application randomly in different browsers. This checklist needs to include the following tabs –

-          Browsers and their versions
-          Operating Systems
-          Devices
-          Combinations of the above three
-          Functional Validations to be checked
-          Design and Animation Validations to be checked
-          Content Validations

3: Getting the correct combination

Cross BrowserTesting is mainly about getting the correct combination of browsers, operating systems and platforms. With new versions released almost every month, the possible combinations keep growing increasing the work. One approach is to consider the most recent versions. This reduces the possible combinations considerably. However, it is recommended to also consider the most used versions as the objective of this testing is not just ensuring its perfection in the latest browser but also confirming uncompromised user experience. For this, it is necessary to consider a wider spectrum of the possible combinations.

4: Mobile

The e-world in now no longer limited to the desktop computers. It has now adapted to mobility and is our constant company. This makes it important to validate the application on the mobile devices. With the wide variety of mobile devices, it is very difficult to keep up with its pace. Hence, the use of various tools to simulate the environment of diverse device will be a better strategy than to get hold of every device and test the application on it manually.

5: Emulators and Virtual Machines

With reference to the point 3, it can be considered that people do not always use the latest version. Either they are not comfortable with the latest version or they are not aware of it. Some do not just care to update it. This extends the combinations of browser combinations. Emulators and Virtual Machines help in this context. Emulators replicate the look and feel of the different browsers. Virtual machines can be configured  to use a particular browser version.

6: Automated Testing:

Automated Testing is a very good strategy for efficient and fast testing. It is developed to support multiple browsers, multiple versions and operating systems. However, the selection of an automated tool must be done with respect to the test requirement. It must also be kept in mind that automated testing is not a one stop solution. It only helps to automate complex test activities. Testing should be performed with a strategic combination of automated and manual process.

Conclusion:

Usually the developer uses a preferred browser while the development of the application.Cross browser testing can be initiated earlier into the process by the developer by using different browsers while development. Thus, most of the inconsistencies an be fixed at the initial time finally saving the cost, time and effort for later rectification.

Tuesday, 1 December 2015

How to optimize Cross browser Compatibility Testing.



A web application that works through all the browsers is said to be cross browser compatible. The basic approach to test this is to install all major browsers on the system and test the application on each. But this will be a very tedious and time taking approach considering the several automated testing tools available to help this out. Additionally, there are a few tips and tricks that can help to get past the common hurdles to achieving cross browser compatibility.




-      Browser Combination

In addition to each browser, there are several versions of it that are currently in use and are released very frequently. This increases a lot of browser combinations on which the application needs to be tested not only to ensure its consistent performance, but also to discover new problems that may have cropped up due to changes in supported rendering engines.
One casual approach is to consider only the popular browsers and a few of their recent versions. The other way is to sample the combination of browsers and their versions. Tools like Google Analytics and Splunk can be used to monitor which browser is mostly used to access the web application. This helps to create a well informed strategy on the combination of browsers to consider for testing the application.

-      Virtual Environments and Emulators

Considering the rate of release of new browser versions, there is a high probability of running into an overwhelming browser combinations and finally resulting in a cross platform problem. A high configuration Mac system, with a good amount of hard disk space and RAM combined with Virtual Machines can solve this problem to a greater extent. These pre configured VMs can also be downloaded and configured on a personal computer. Thus, emulators and virtual environments provide a solution to have all the browser and system combinations in a single machine.

-      Mobile

Mobile-first is the current trend now with responsive design and a cross platform consistency as its associated issues. One way to approach this problem is to invest in a sample of test devices for testing purposes. But this approach does not work with Andriod. With hundreds of device options to consider, the best way is to stretch the selection at the extreme ends. Consider the newest and oldest device, the biggest and the smallest screen sizes. Then select the most probable ones that are currently in use. The responsiveness of a design can be tested with a set of tools. Alternatively, it can also be tested by re-sizing the browser screen by dragging its corner.

-      Automate when required

Prepare a checklist of the most important functionalities that need to be tested. Automating each and every test is a naive approach. Often the traditional approach of testing each running script and noting down the issues is a result oriented approach. Some features are easy to check while some will need extensive cross browser checking.  Such critical tests can be automated. Test automation does not nullify manual testing. Rather, its smart combination with manual testing, is a time saving approach to carry out extensive testing of the most critical features. Hence, execute the test process in a balanced combination of manual and automated processes.

-         Additionally
-      Define Doc Types: This tells the browser the rules of your code. If left unspecified, each browser takes its own guess and will render the page in its default settings.
-      Using Javascript Library: Using library files abstract away the cross browser animation differences.
-      Resetting CSS: Each browser has its own CSS rules. Hence, CSS needs to be explicitly defined to achieve the same rendering in different browsers.
-      Using conditional statements: Conditional statements can be used to specify different CSS for different browsers.
-      W3C Validation: This validation service generates many HTML and XHTML errors and thus helps to create a technically correct website.


Conclusion

Adhering to basic rules eases the process of ensuring cross browser compatibility testing later on. One good strategy is to start performing the test as early as possible. It is the most cost effective and time saving approach. With the constant evolution of browsers and devices, Cross Browser testing should be considered as a continuous process.

Monday, 7 September 2015

Cross Browser Compatibility Testing for Web Applications



Cross Browser Compatibility is one of the most influencing part of a website. A website should be compatible with the different configurations and settings of different browsers. It may not be feasible to test the website dimensions manually throughout all the different browsers. Therefore, we rely on automated testing tools which are extremely helpful in testing websites will all dimensions.  


Compatibility Issues:

The compatibility issues are as old as the browsers themselves are. The major issues can be listed as follows:

-          Multiple Browsers – Internet Explorer, Mozilla Firefox, Google Chrome, Safari

-          Multiple Versions of Browsers – IE (Version 7,8,9,10), Firefox(7.0, 8.0) etc.

-          Multiple Computer Platforms- Windows, Mac, Linux etc.

-          Multiple Screen Sizes – From PC, IPAD, to Smart Phones

-          Font Sizes

-          HTML Errors

Goals:

As per the above issues, Compatibility testing  should be performed on the following aspects:

-          Browser Compatibility: Different browsers have different configurations. The website coding and layout should be compatible with as many browser platforms. Stress should be given on the JQuery and AJAX calls and their uniformity should be ensured through multiple browsers and their multiple versions.

-          The different technologies used in developing the different components of the website, such as graphic designs, Animations, API integrations, etc., may not be compatible with the different versions of the Operating Systems.  Hence the Web Application needs to be tested across the different operating systems – Windows, Mac, Linux etc.

-          The use of mobile internet has led to the emergence of version of mobile browsers. Hence the web application needs to be tested for its responsiveness on various devices and the accessibility of the interactive components should be ensured throughout all the mobile versions on different mobile platforms

Checklist for ensuring Cross Browser Compatibility of Websites or Web Applications:

-          HTML,  HTML5, CSS Validation.

-          Font Size Validation, Special Characters Support, Character Encoding

-          Page Layout in different resolution

-          Image, Text Display and Alignment

-          Page Styles

-          Date Format

-          Page Zoom in and Zoom out functionality.

-          Video Settings and its Screen resolution.

-          Design, layout and color display.

-          Java Script, JQuery, GUI Animations, Ajax validations and their successful functionality.

Manual Cross Browsertesting is a matter of time and money. Paid tools can be used for those browsers which have high browser dependent functionality. However, free tools also verify cross browser compatibility to a sufficient extent. The different tools for compatibility testing are as follows:

-          Spoon Browser SandBox- It allows to use all web browsers without installing them in the machine. 

-          Browser Shots: It can run compatibility testing with greater customization. The steps need to be repeated for every test. When many browsers are selected at a time, this tool takes a lot of time to display the results. 

-          IE NetRenderer:  This tool allows for testing across all versions of Microsoft Internet Explorer.

-          IE Tab: It is a good tool to test on Internet Explorer using Firefox or Chrome.

-          IE Tester: This tool allows testing the website on multiple versions Internet Explorer at the same time using only one application.

-          Microsoft SuperPreview: This tool allows testing and debugging layout issues across different IE browsers.

-          Browsera (Paid Tool): It is an automated testing tool used to test the website and its elements in multiple browsers. It can be used to test for layout and scripting errors.

-          Adobe Browser Lab(Paid Tool):Web Pages can be previewed across multiple versions of multiple web browsers. Full screen shots can be viewed with customizable test settings.

-          BrowserCam(Paid Tool): It allows to view web pages across different platforms and browsers. This can be done either by automatically taking the screen shots or navigating through them automatically. 

-          BrowserSeal(Paid Tool): It captures an image of the website under different browsers . The images can then be navigated through to spot layout and UI issues.

-          CrossBrowser Testing(Paid Tool): This tool requires the tester to log in, then select the browser and the operating system for testing the website. 

-          Cloud Testing(Paid Tool): This tool allows to check the website on real operating systems in the cloud.

-          Selenium: It is testing framework for web applications. It is an open source software where the tests can be written in a number of programming languages.



Conclusion:
With the change in technology, users have different browsers and platforms. Web Applications cannot be developed on only single configuration and expected to be working for all others. Hence, crossbrowser compatibility should be considered an indispensable criteria for Web Applications.