Legacy web apps - Determining forward compatibility with modern browsers? - asp.net

We have over 200 web applications. They are used both internally and by our external employees. Our company's standard has been IE8. We are planning on changing that and adopting IE 10 or 11.
Also, our external employees may use the application in their preferred browser (FF, Opera, Safari, diff. versions, etc.).
I know of services such as browershots, but these are mostly to check if layout is consistent across browsers and tell you nothing if the functionality is still working or not. Is there any other way to do an efficient preliminary check for compatibility with newer browsers instead of having to do a full out regression test? If checks fail, the regression tests can follow and then refactoring what is necessary.

We can use tools like Citrix AppDNA or modern.ie and IECT tool as a combination to explore the strategy and update the applications

Related

WCAG Compliance and IE11

If I have website functionality that works in Chrome and Firefox but not in IE11, (basically a keyboard trap in a form). Does that still fail compliance? Or is the end user responsible for choosing browsers that work better?
Yes it would fail compliance. WCAG is browser agnostic and the guidelines are to be followed for all browsers. A significant number of people use JAWS as a screenreader, which is most widely used by Internet Explorer. This would be rendering the page useless for a significant number of users and would be a violation of
Guideline 2.1.
If I have website functionality that works in Chrome and Firefox but not in IE11, (basically a keyboard trap in a form). Does that still fail compliance?
You have to read Understanding Conformance to understand that this is a very complex questions
You can perfectly claim conformance based on tests done on some selected browsers, for instance those used by a company when talking about an intranet application ("Web technologies may only need to be supported by those specific user agents and assistive technologies deployed at a company."). But this will give you a conformance for those browsers, and not for the other one.
So yes, this will be conform using Chrome, and not using IE11. This does not help.
Or is the end user responsible for chosing browsers that work better?
You define your end user. If you can choose the browser used by your visitors (company intranet, touch screen kiosk, ...), then you are responsible for chosing and can set the required environment.
In any other case, if you can't choose the browser used by your visitors you have to give them a conforming version or an alternate conforming version.
You can claim conformance for a set of browsers, but as long as your website is not compatible with IE11, it will not be accessible for those users, and you can't ask them to use another browser (as they sometimes have no choice to)

How important is trying to keep IE8 compatibility in 2012?

So recently Microsoft threw the joke that was IE6 into the recycling bin, and said that users should automatically be upgraded to the latest version of IE, if they hadn't already. Unfortunately for web designers, this means that some people (running XP) will be stuck with IE8.
I recently started redesigning a clients website to bring it up to date, and in order to make loading times quicker, save on disk usage, and on bandwidth, I have implemented the use of CSS3 code and then a big but... IE8 Doesn't support CSS3... :(
Is there a significant amount of users on XP / Vista / 7 who still use IE8, or have they moved to alternative, more up to date browsers such as Chrome, Firefox, Safari etc?
Should I worry about trying to find a way to keep the website looking correct in all browsers? or is there a way for me to encourage visitors using IE8, to swap it for another browser?
I imagine this depends on how the website is used. Is it an intranet website, a public website, or an web application that the owner dictates the version. IMO the best way to figure this out is to have Google Analytics plugged into the web app.
I can tell you that the project I am currently on doesnt have the luxuary to rule out IE8. 70% of our users that use the web app I work on use IE8. It seems to still be the most used browser in the business world. (at least from my experience) Heck we still need to support IE7.
However if you can guarantee the web users are using an up to date browser, then thats a different story. Or of course you can say, this app doesnt support IE 8 or lower.
Thats my 2 cents.
IE8 is the default browser in Windows 7, so expect it to hang around forever, just as IE6 has because it was the default in Windows XP.
Use http://code.google.com/p/html5shiv/ or http://code.google.com/p/ie7-js/ to ease the pain.
Yes, but according to WC3 the percentage of usage is now only ~8% for IE8.
Thats still a pretty big number to turn your back on however.

can enterprise apps requiring HTML5's new feature(s) support non-HTML5 browsers?

My question is for programmers planning to develop future enterprise web apps in HTML5 that today can only be implemented in Flex/AS3: are you intending these apps to only run on HTML5 browsers?
I'm just trying to understand how once HTML5 enters the picture, the current concerns about browser incompatibility and other issues go away? Wouldn't HTML5 simply add another set of browsers to the large list of current browsers that the application must target?
That is, assuming the enterprise web app requires one of these new HTML5 features (e.g. playing audio and/or video, integrating SVG or vector graphics, etc.). If such a feature isn't critical then graceful degradation may be acceptable and then my question is moot.
But for those apps that require one of these new HTML5 features, are you planning to support older browsers, or expecting it's acceptable to restrict to HTML5 browsers because the enterprise in question has made one of them their new corporate standard (or other scenario, etc.)?
Enterprise apps are no different then anything else.
You use the standard polyfilling technique and crash and burn on legacy platforms.
Generally modern browser support the sensible subset of HTML5 and any bugs can be polyfilled.

What's the most efficient and reliable method to test CSS design in multiple legacy browsers?

I'd be very interested to hear what professional developers think about this, particularly frontend developers.
How do you go about testing your designs in multiple browsers? Do you use virtual machines, each with a different version of Internet Explorer installed? What is your setup/workflow?
So, what's the most efficient and reliable way to test a design in several legacy web browsers?
Thank you.
I mostly use Spoon virtualization. They removed IE from the service aftyer Microsoft told them to however it's still a good service for testing other browsers/versions.
For IE I tend to use the Microsoft provided IE VMs.
If you need virtualization product then VirtualBox is pretty good and free.
I've also just discovered Browserling which does something similar to Spoon virtualization and has support for multiple IE versions.
Oracle's VirtualBox is free. I have the following VMs set-up:
Windows XP - IE6, Firefox 3
Windows XP - IE7, Firefox 4
Windows Vista - IE8
Really, I don't test older versions of Firefox, Chrome, or Safari. All three of those browsers are on quick update cycles now and the push their updates almost immediately. The chance that users are still using an older version of those is much less than those using Internet Explorer.
Even now, I don't really test in IE6 anymore (thank god), but I know this is different depending on the audience of your website.
Really, if you can get away with it, do your basic testing in IE 7, 8, 9 and the latest versions of Firefox, Chrome, and Safari. Don't go completely out of your way to fix layout issues in older IEs; If you can get the information you want from the site, then the site is functioning. If someone complains about the site not looking exactly right, recommend they upgrade or switch browsers. "I can't upgrade from IE6 because my company uses it" is not really a valid excuse anymore with Chrome and Firefox being as light weight as they are, unless their computer admins have things completely locked down.
IE Tester allows to see web from ie5 till ie9.
http://www.my-debugbar.com/wiki/IETester/HomePage
It depends how legacy you wonna go but there is also Adobe browser lab.

Extensive browser testing tools

I need to setup a testing infrastructure to test combinations of cookies enabled/disabled, Sliverlight and Flash plug-ins enabled/disabled, and javascript enabled/disabled. For starters, I need to test on IE6, IE7, IE8, IE9, Chrome, FF 3.6, FF 4.0, Safari 5 and Opera 10 on their most likely OS.
Longer term, I get as close as possible to testing on every "relevant" browser including mobile devices. I'll also want to include testing IE, for example, on XP, Vista and Win 7.
Even if I pick a single OS per browser, I have more than 100 host setups. What tools or strategies can bring sanity to this process?
(My current thinking suggests that screenshots alone will not be sufficient. It could be that I can develop a basic smoke test which gives me some indication of a problem and is verifiable through screenshot alone.)
Have you looked at Selenium, specifically Selenium Grid? It's not going to cover every single one of your test setups, but it'll get you a lot of the way there.
Selenium Grid transparently distribute [sic] your tests on multiple machines so that you can run your tests in parallel, cutting down the time required for running in-browser test suites. This will dramatically speeds up in-browser web testing, giving you quick and accurate feedback you can rely on to improve your web application.
See also:
Which is the most comprehensive browser compatibility testing tool?
How to automate testing of a browser-based app?
https://stackoverflow.com/questions/2565505/whats-the-best-way-to-do-cross-browser-testing
All that said:
It really might not be worth testing every single browser/version/OS combination. Part of this is because, at least on desktop OSes, most variations will show up across browsers (and to a lesser extent, browser version), and have much less to do with the OS version.
Chances are that the users of your site will not have equally distributed browsers/versions/OSes. It's basically a case of the 80-20 rule: the majority of your users will be using the minority of browser/version/OS combinations. So, at least in the short term, you get much more for your effort if you focus on ensuring that the site works on only the most popular OSes and browsers.
I'd also expect that your site, like many mobile-friendly sites, has a separate mobile view (reduced JavaScript, less content per page, simpler CSS, etc.). In that case, you'd only need to test the mobile version on mobile browsers and OSes, and the full version of the site on desktop browsers/OSes.
Please take a look at the following tools:
Automated Testing Tools – TestComplete
Automated Testing Tools for Web Application Testing | Telerik

Resources