Free or low cost cross browser testing resources?
Below is the list of some Cross Browser Testing resources that may like to check.
(1) CrossBrowserTesting.com
(2) LambdaTest
(3) Browsershots
(4) Turbo Browser Sandbox
Below are some site lists which shows the information about Cross Browser Testing resources:
Top 10 Cross Browser Testing Tools in 2019 (Latest Ranking)
10 Best Cross Browser Compatibility Testing Tools in 2019
5 cross-browser testing tools to try today
You can try to check and compare them and try to find the best suitable tool for your requirement.
How to do cross browser & version testing?
You can have multiple VMs running in a single physical hardware, if that is your concern. Each VM can have a combination of OS/browser that you are interested in testing.
I believe you can use SeleniumGrid to run tests in parallel in all these machines.
Which is the most comprehensive browser compatibility testing tool?
The two that spring immediately to mind are:
- http://browsershots.org/
- http://deviceanywhere.com/
Browser Overflow ... How to ensure Cross Browser, Cross Platform Testing and Compatability
NOTE: I've altered the order of your questions to leave the longer answer at the end.
Your questions
What suggestions do you or your team have for testing new browsers as they come out?
Actually, as you said, Chrome and Firefox are continuosly delivering so it eases the process. The last version you have is mostly always the version the user has.
For any other browser (and Chrome and Firefox old versions) just select a version of each and act as a "high pass filter", testing any version up from the one you selected.
How do you decide when you will or will drop support for a browser version?
Take a look at the statistics of browser use. There are many resources such as statcounter, w3counter, w3cschools, or wikimedia. If possible, add an analytics tracker to your page and you will have data about what devices, platforms, browsers, and versions of them the visitors use to access the site.
What things do you do during development to decrease possibility of having code break when a browser update comes out?
The key is to use a well defined methodology, based on the existing standards. Continue reading for a personal recommendation.
Workflow to ease cross-browsing
Step 1: Bootstrapping
At first decide: Graceful degredation versus progressive enhancement. Both are valid techniques, but makes sense using the first to fix existing projects and the second for newly created projects.
Then select libraries to avoid typing existing code, focusing on the 3 languages: JavaScript, CSS, and HTML. HTML5 (+CSS3) is the better choice today but support for older browsers must be provided. The following libraries ease supporting them:
- modernizr for feature detection and conditional loading of js or css.
- jQuery for ajax and dom related tasks.
- normalize.css for normalize default browser styles, rather than just "resetting" them.
Notice that all of the js libraries listed above allow custom builds, an important thing when performance matters.
Html5 Boilerplate provides a strong template from which start the layout. It includes modernizr, jQuery, and normalize.css. Its github repository is a good resource to learn a lot about cross-browsing techniques. This article on its wiki has a nice set of links to start learning.
Step 2: Do the work
Designs should be mobile-first and responsive. This article on html5rocks introduces well why and how.
While "doing the work":
Follow the w3c standards. Avoids using hacks, specially CSS hacks, when possible. Review often the HTML5 specification as it is pretty unstable.
Take care of ECMAScript 5 features when writing javascript. Rely on libraries to avoid code breaks caused by deficient browser implementations. Do not extend the DOM.
Automate tests when possible. Layout and specially layout polishing, including animations, are manually tested cause it's quicker but UI functionalities like form submision can be perfectly tested with automated tests.
Use tools to ease tasks. Chrome + devtools or Firefox + firebug are the very basic must-use, but there are a bunch of tools to ease cross-browsing tests, even automating those tests.
Annex: Tools and resources
Cross-browser testing
Browserstack is just awesome. Allows testing on all devices, platforms, browsers, and versions.
Browserling is an alternative to browserstack. It is developed and maintained by Peteris Krumins and James Halliday, both recognized members of the node.js community and well-known developers. They also published a tool to automate the process called testling-ci, but this is only relevant if using node.js on the back-end.
modern.ie provides tools to ease testing on internet explorer. Developed by Microsoft, the site provides live testing through browserstack and downloadable virtual machine images with pre installed software.
adaptability testing for "responsive design"
- respon.si is an online tool meant to test the visually appearance of layouts. It allows selecting a resolution so it's useful for responsive layouts testing. Notice that any other tool to select a resolution can easily do the same.
Automated cross browser compatibility testing using image difference
Ok, after a whole bunch of looking for visual differences, I came to a conclusion. Even if this could be achieved with a good level of accuracy, it would still give rise to a lot of false positives as far as web site testing is concerned.
I would suggest that you use a programmatic approach to check web page once it has loaded.
Thank you so much for the help Brian.
Related Topics
How to Change the Font Size of the List (Not the Initial View)
How to Set Animation on First Element on Loading
Transform-Origin Not Working in Firefox Even Properties in Percentage Value
How to Change the Bootstrap 4 Range Slider Colors
Bootstrap 4 Right Column on Top on Mobile View
How Does Internet Explorer 8 Support the CSS Outline Attribute
How to Remove Bullets from Numbered Toctree in Restructured Text
Css3 Transform Difference in Firefox and Chrome and Ie
How to Make Bevel and Embosed Effect to Button in CSS 3 for Web-Kit Based Browsers
Center Div Inside Another (100% Width) Div
Apply Ellipsis When Label Text Is Overflow
How to Make Chosen Select Go Over Parent Div
Why Is a Div with "Position: Absolute" Not by Default Relative to the Document
::Before with Input in Firefox
Webkit-Transform Alternative for Firefox
How to Code an Arrow Using CSS