One thing that is evident with developers is their preferences for IDE, Operating System, Browser, etc. If you take the case of web developers, a majority of them have an affinity towards certain types of browsers; due to that preference they prefer cross browser testing their source code only on ‘browsers of their choice’. After testing, the functionalities programmed by the web developer may work fine on specific browsers, but the situation in the real world is completely different. The users of your web-app or website might come from different parts of the world and may have a different preference towards browsers (or browser versions), some customer may even prefer to use completely outdated browsers which are having a minuscule market share in the browser market.
3. It is a known fact that before any developer pushes the code (either to the
development environment or Staging environment before migrating to the
Production environment), he would be performing unit testing on the code
changes that he has made.
Cross-browser Compatibility Testing – No replacement
for manual testing
4. Cross-browser Compatibility Testing – No replacement
for manual testing
Manual cross browser testing cannot cover all the scenarios and even if it does,
you cannot deploy resources for tests that do not require much intelligence since
the tests are mostly repetitive in nature. Many organizations following
continuous integration and continuous delivery are now implementing
automation testing for validating cross browser compatible scenarios that are
mostly linear in approach and test results are then logged in a report.
5. Primary Objectives of Cross Browser Testing
When you think about creating a cross
browser testing matrix, the main intent of
performing different types of tests is to
unearth bugs, get them fixed, and make the
product better across as many different
devices and browsers or browser versions.
Though everyone in your team might vouch
for this intent, as the purpose of cross
browser testing is different when it is
looked from the lens of a developer & a
tester.
6. Primary Objectives of Cross Browser Testing
Based on the target audience of your web-
app/website, you can devise a cross
browser testing strategythat can cover
major scenarios. The important question to
be asked is ‘should your team work on
making the product better by finding bugs
on the bases of test cases performed on
popular/latest browsers?’ You have an
option to ignore the bug/fix the bug &
submit the code changes after re-testing
the changes on the most preferred
browsers/fix the bug or you could submit
the code changes after re-testing the
changes on all the available browsers.
7. Identification of Browser, OS, and Device combinations
The first & foremost step of development is identifying the requirements of the
customer. Along with the requirements, you should also have a deep level of
understanding about the customer and market segmentation. Market
segmentation would include understanding the traits about the consumer,
preferable browsers in that particular market, the category of devices
(phones/tablets) being used by consumers, etc.
8. Identification of Browser, OS, and Device combinations
Once you have identified these requirements, it becomes important that you test
your web-app/website thoroughly against those browsers, devices, and operating
system configurations. Companies that develop browsers (Chrome, Firefox, Opera,
etc.) also push fixes to the browsers, hence your development & test team need to
take a pragmatic approach to test and prioritize the browser versions on which
testing should be performed after major fixes are done by the development team.
9. Preliminary Research
Cross Browser Testing your product on browser & device variations is synonymous to
planning & executing attack on the enemy on a battlefield. Just like a battlefield,
where you have to plan the attack and use your arms/ammunition wisely, it is
imperative to keep in mind your priorities with respect to the resources used for cross
browser compatible web development while testing the product for cross-browser
compatibility
10. Preliminary Research
This grueling cross-browser testing process ensures that the product is relatively free
of bugs and it is more robust in nature. Now that you have tested your product across
the maximum number of browsers, the next & important step is to ‘narrow the
context’ of your test and test the functionalities of your product across browsers that
are preferred more by your target audience/market.
11. Analytics and Insights about the customer’s preferences
In the section titled ‘Identification of Browser, OS, and Device combinations’, we
looked into the importance of understanding customer’s insights, so that the
development & test team can spend effort in solving issues that are faced by your
customers. There is no sense in solving a product issue for a browser that is
‘never/rarely used’ by your target audience.
12. Analytics and Insights about the customer’s preferences
Google Analytics, Kissmetrics, MixPanel, etc. are some of the popular web analytics
tools that can be used to get the nitty-gritty about your customers. Your team can
gather valuable insights about the customers e.g. browser used for visiting your
website, the operating system being used, the location of the customer, etc. Though
you will get a lot of information from the analytics, you should make use of data that
matters the most to your team.
13. Test on Browsers that ‘matter the most’
Though popular browsers (Google Chrome, Mozilla Firefox, Safari, Opera, Yandex,
Edge and IE10+) are available for different operating systems and devices, it is rare
that you come across ‘browser issues’ that are largely dependent on the operating
system. Unless the browser code/design goes through a major overhaul, there is a
minor difference between browser versions e.g. Firefox 45, Firefox 46, etc.
14. Test on Browsers that ‘matter the most’
The argument discussed above also holds good for mobiles & tablets. Handheld
devices have been on the rise and mobiles are one medium that can no longer be
ignored. In fact, many organizations are working on web products with the mobile-
first agenda.
15. Focus on bugs which are ‘not browser dependent’
Before the source code is pushed to the Development environment/QA
environment/Production environment, you should make perform a ‘regression
testing’ on the ‘browser of your choice’ or the browser that you use frequently for
browsing. The primary advantage of following this approach is the testing would be
performed on latest browser and the focus would be to ‘unearth bugs & fix bugs’ that
are browser agnostic.
16. Achieve maximum testing throughput by focusing on the
‘RIGHT Browsers’
The approach mentioned in step (1) would be useful in unearthing bugs that are
browser agnostic, but the cross browser testing would anyways be performed on ‘one
of the popular browsers’ that is installed on the developer’s machine. There is a
possibility of a regression defect i.e. a fix that was made for a particular browser might
result in breakage of functionality on some other browser
17. ‘Last-mile’ testing
By following the steps mentioned in (1) & (2), majority of the bugs would have been
unearthed & fixed as well. It is mandatory that a sanity test is performed on these set
of browsers after each development & test cycle. Many mobile devices have native in-
app browsers, some browsers follow a ‘freemium business model’ (i.e. some browser
features are free, some are premium), whereas some browsers are not updated
regularly.
18. Test before you go live
It is always recommended that extensive cross-browser testing is performed before
making your website/web-app live in the Production environment. With the trend of
“Shift-Left” Testing, it becomes imperative to test early and test often. You can
perform cross browser testing of your locally hosted website or web-pages using an
SSH(Secure Shell) tunnel connection hosted through LambdaTest cloud servers.
19. Take care about Accessibility
In order to take care of the ‘Accessibility Factor’, you should answer the important
question – ‘Can everyone use your website/web-app?’ i.e. Can a person with hearing
impairment/color blindness/motor impairments/some other disability use your
product? It is indispensable to have the product tested for cross browser accessibility
testing.