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.

Sunday, 15 November 2015

Why is cross browser testing important?



With the increasing number of access devices and an aspiration for achieving a uniform functional support, several functionalities are becoming obsolete while several advanced functionalities are made to be supported by browsers through their multiple version upgrades. This leads to a distorted performance of the same application through different browsers. A customer coming across a distorted view of an application, immediately loses faith in the application and moves on to other application providing similar functionalities. 



As per the Statistics courtesy of W3Schools, the browser usage share can be predicted as follows:

Internet Explorer (6, 7, 8): 30.4%
 
Firefox: 46.4%
 
Chrome: 16.7%

Safari: 3.4%

Opera 2.3%

However, there is no definite way to determine the combination of browsers that may be used to access an application. So, the only way out to ensure a seamless user experience of an application or website is its extensive cross browser and cross platform testing before launch.

Cross browser testing is performed to achieve the following


-      Ensure the uniform display of a page across different browsers

-      Find inconsistencies and fix it.

-      Enhance user experience and efficiency.

-      Be aware of any future failures.

-      Test authenticated access to private pages.

-      Test local, private network and firewall pages.

-      Increase lead conversion

-      Flatter your quality and persistence to your prospects.

Main decision for cross browser testing

-      Site Analytics can help to determine the main browsers to test on.

-      A detailed analysis is required to be done to determine which parts of the system needs to be tested extensively. The best approach is to perform a complete testing on one browser and test the most critical functionalities on the others.

-      Once the above two decisions are made, infrastructure decisions are then required to be made considering costs, risks, security issues, resources required and debugging schedules.

-      Initiate test cycle.

-      Report test results, make changes, if at all required, then retest.

The most common way to start cross browser testing is by listing the functions of the particular website and then methodically open up the site in different browsers to verify and validate the outcomes. The variations in version of the browsers make it important to ensure that all the pages are rendered as designed. 

Cross BrowserTesting can be performed either manually on multiple systems, multiple Operating systems, multiple web browsers, multiple configurations, multiple days, multiple investments and further multiple challenges. Or it can be performed through different testing tools available in the market. Some of the tools can be used free of cost, while some are paid.

Conclusion

As mentioned earlier, browsers are being constantly upgraded and new versions are continuously released. This necessitates keeping track of the upgrades introduced. Many firms neglect this phase because of lack of funds and knowledge. Being persistent and being strategic in this case will save time and money. Cross Browser Testing is now one of the most important aspect of a software development lifecycle which ensures the best experience for the users.

Tuesday, 20 October 2015

Short reviews on some Cross Browser Testing Tools.



With varying web browsers in the current market and the endless combination with the different operating systems, the behavior of web applications presents issues that can prevent the important functions from running uniformly throughout all browsers. Cross Browser testing reviews and compares the functionality and the styles of a website across multiple browsers, operating systems and mobile displays. 



Each of us work in our favorite browser. This makes us forget to test the application in the other browsers. Cross browserTesting checks the compatibility of the web application across the different web browsers and ensures that the web application performs efficiently across all of them. It tests both the client side and the server side of the Web Application.

The classical way of cross browser testing is to run the web application on as many computers and combinations of operating systems and web browsers. But nowadays there are much more efficient ways of testing web applications across different browsers. Here we have reviewed some of the cross browser testing tools. 

ADOBE BROWSERLAB

It is a free cross browser testing tool that gives a number of views, including single browser full page view, as well as a comparative side by side view. It also has the ability to create a pre-defined browser set for testing.

BROWSER SHOTS

It is a free and one of the most comprehensive testing tool which includes Linux and Windows. It also includes additional browsers that are not generally used as of now. It carries out testing on the latest versions of each browser. However, with the added number of browsers the result generation of this tool slows down.

LUNASCAPE6

It is a triple engine browser which runs on Windows. It supports all the three major rendering engines -  Webkit for Safari and Chrome, Gecko for Firefox and Trident for Internet Explorer. Thus the web application under test can be viewed under in all the major web browsers. It also supports the add-on extensions for Firefox plugins which further helps to diagnose compatibility problems.

IE TESTER

It is a free Windows Browser that supports the rendering and the Javascript engine for IE10 to IE5.5 on Windows 7, XP and Vista.
SPOON
It is a service for emulating application. It includes multiple versions of each browser.
SAUCELABS
It provides with a number of browser and OS combinations. It sets up a Virtual Machine Instance, that operates inside the browser. It also helps to build automated tests with the help of Selenium.
CLOUD TESTING:
It helps to perform cross browserfunctional testing. The user interaction is recorded with the browser and Selenium IDE and then uploaded for Cloud Testing which runs the script in multiple operating systems. 

BROW SERCAM

It includes tools for testing for both Mobile and Desktop. It gives remote access for live testing in Windows, OS X and Linux configurations. 

CROSS BROWSER TESTING

This tool provides with interactive testing on browsers with Virtual Network Computing sessions. It can generate screen shots across multiple browsers. 

MULTI BROWSER VIEWER

This covers both mobile and desktop browsers. It supports 26 Web browsers, five mobile browsers and 61 screen shot browsers. It is also available in multiple languages – English, French, German, Spanish and Russian.

CONCLUSION

There exists a great deal of variation between browsers and its different versions. This necessitates cross browser testing to ensure that all the pages are rendered as intended. A web application should be tested in those browsers that hold the most market share. Regardless of the testing tool that is chosen, the Web Application testing process should be preferably be shifted earlier in the development cycle. This can save a lot of time, effort and money later on.