QAInsight.net, QABlog.com, QABlog.net
Brent Strange's thoughts on Software Quality Assurance and technology

 
Tuesday, September 08, 2009
 
 

User Agent Switcher XML file update

 
 

With help from Gerhard, a QAInsight reader, the User Agent Switcher MONTSTER XML file has been updated to use the new, folder feature. Also, another IPhone user agent has been added as well as one for Chrome. As always, the permalink is here, and can be found in the right navigation under the "My Testing Tools" header, link: "User-Agent Info and Tools".

 
   
   
   

 
Tuesday, May 26, 2009
 
 

Determining browsers’ rendering and JavaScript engine versions

 
 

Now that I've updated and found a permanent home for the Browser Compatibility Cheat-Sheet, I thought I'd take the time to share the method to my madness for excavating the rendering engine and JavaScript data from browsers (these are the details in the cheat-sheet). If you're asking yourself "Why do I care Brent?" then I urge you to watch my screencast on Browser Compatibility Testing Risk Analysis. My answer to your question in a nutshell is that you need to care as a developer or tester because fully understanding how browsers work, knowing how similar and different they are, and being able to quickly assess how a feature or change to a Web application will impact your development, testing or regression. I'll leave it at that for now.

It's never really been quick or easy when I mine the data (which seems to be about once a year), but when I reassess the cheat-sheet I typically spend most of the time re-reminding myself of how to gather the info for the various browsers, all the while discovering new sources. Here is my high-level browser info excavating process:

  1. Get the info from the browser itself:
    1. Install it
    2. Look at the browser download site, FAQ, & Release Notes
    3. Look at the user-agent string at browserhawk.com
    4. Look at the installed assembly version numbers and text files
    5. Look at the Help/About section
    6. Look at comments in source control and source code (if available)
  2. Search the web
    1. Look at keywords on wikipedia (Netscape, V8, WebKit, etc) . Wikipedia has gained a lot of browser data in the last couple years, some of my favorite and most useful links are comparison of layout engines & Browser Timeline
    2. Search by keywords, and look at articles and comments on the Web

And on to a few lower-level details for a few of the most popular browsers:

Internet Explorer

  1. Rendering Engine: Trident being the name of the IE rendering engine, it was once believed that the version of Trident matched the the version of the MSHTML.dll found at C:\windows\System32\. But with IE 8.0, the IE team has a reference on their blog that rendering engine in 8.0 is Trident 4.0 which can now be found in the user-agent string. This version conflicts with prior data I had gathered but we'll run with it.  Hopefully, from here on out you can just gather the version from the user-agent string, only time will tell. Here is an example user-agent string for IE8: "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0;)
  2. JavaScript Engine: JScript is the JavaScript engine in IE, the file version of JScript.dll found in C:\windows\System32\ will give you version number.

Chrome

  1. Rendering Engine: Webkit is the rendering engine for Chrome. To get the rendering engine version, in the browser URL bar just type "About:". The version will follow the "Webkit:" key. Notice that the User Agent contains the same Webkit number, hence the rendering engine version can be gathered from the User Agent string also.
  2. JavaScript Engine: V8 is the JavaScript engine for Chrome. The version is listed in the same place as the rendering engine and is the number following the "V8:" key.


FireFox
 

  1. Rendering Engine: Firefox uses the Gecko rendering engine and the version number can be found in the user-agent string (can be seen by typing "about:" in the URL bar or going to Help->About in the menu). For example in the following string: "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10", the "rv:1.9.0.10" is the version and the "2009042316" build number. 
  2. JavaScript Engine: Firefox's JavaScript engine is SpiderMonkey and I've never found references to version numbers. From what I understand the JavaScript engine is compiled to JS3250.dll in \program files\mozilla firefox (js3250.lib on Linux), but the version number never changes on it even though the date and size do, which makes tracking here fairly useless. I've always gathered ECMA compatibility data from official release notes as well as using the value for "JavaScriptVer " key found when visiting browserhawk.com (click the 'more' link in top-right corner to get this detail).

Safari

  1. Rendering Engine: Webkit is the rendering engine in Safari and the version can be found in the user-agent string. For example in the string: "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Safari/528.17" the version number is 528.18. This can also be seen on the webkit.dll file property "Product Version" in Windows (\program files\safari\).
  2. JavaScript Engine: With Safari 4.0 and up the JavaScript engine is new and named Nitro. At this time of writing 4.0 is still in beta and I see no official version for Nitro, but hopefully we'll find a reference once it comes out of beta. Regarding past versions for their old engine JavaScriptCore, I've never found version numbers so I only documented the JavaScript ECMA compatibility found at various places on the web as well as the value for "JavaScriptVer " key found when visiting browserhawk.com (click the 'more' link in top-right corner to get this detail).

 

And there you have it, the method to my madness. If you have differing or better data please feel free to add it in a comment.

 
   
   
   

 
Sunday, May 24, 2009
 
 

Browser Compatibility Cheat-Sheet

 
 

Browser Compatibility Cheat Sheet This link/post will serve as the official place for the Browser Compatibility Cheat-Sheet and the post can be permanently accessed from the side navigation. Any new updates/links to the cheat-sheet will be put in this post.

What is the Browser Compatibility Cheat-Sheet?

The cheat-sheet is a list of browsers' rendering engine and JavaScript engine versions. This reference provides testers a quick and easy way to view groupings of browsers and their versions to help determine testing redundancy and trim the "browsers to test" list. For further explanation and details watch the screencast: Browser Compatibility Testing Risk Analysis.

Download the latest Browser Compatibility Cheat-Sheet here (zipped Excel file):

BrowserCompatCheatSheet-052509.zip (8.74 KB)

 
   
   
   

 
Friday, April 03, 2009
 
 

iPhone Browser Simulator on Windows

 
 

Written over a weekend, Sean Sullivan the CTO of Black Baud lab's created an iPhone browser simulator, and it's FREE!

Basically, what he did was take the Webkit rendering engine from Safari and embed it into a Windows application. Browser requests are being made through Safari Webkit using an iPhone mobile user-agent string. Here is an example of the user-agent string that came into my website while capturing the screenshot at the bottom of this post:

Mozilla/5.0+(iPhone;+U;+CPU+iPhone+OS+2_1+like+Mac+OS+X;+en-us)+AppleWebKit/525.18.1+(KHTML,+like+Gecko)+Version/3.1.1+Mobile/5F136

Setup is as simple as installing Safari, and then running the .exe from Black Baud lab.

Check out the details and a screencast on Black Baud lab's site.

BUT.as always, when it comes to browser compatibility testing there is nothing like testing the real browser on the real platform. Keep these things in mind my dear browser compatibility testing friend:

  1. The rendering results will be based on the version of Safari for Windows you have installed and its Webkit version. This will likely not match the version you intend to test on the iPhone. For example, I've installed Safari version 3.2.2 which uses Webkit 525.28.1, the page I'm testing will utilize that version. Make sure you are aware of the iPhone browser version you need to be testing and the Webkit version that comes along with that iPhone browser version. You'll need to install that version of Windows Safari to be in sync with the iPhone.  How do you know which version of Safari/Webkit is running in an iPhone app install? I don't know! I can find no reference or history of versions on the Web. I suppose it could be gathered easy enough by installing each iPhone app version and then either doing a Help->About in Safari? Or gathering the data from the user agent string by going to browserhawk.com. Post a link in the comments if you've seen this data somewhere. 
  2. Apparently iPhone Safari 3 is not the same code base as Safari 3! The code base was branched. Changes made in that branch could cause your results to vary between the real iPhone browser and the iPhone browser simulator. From the threads I've read it seems to be more "shell" type features, which lowers your risk if you're just looking for rendering issues.

IPhoneEmulator

 
   
   
   

 
Thursday, February 26, 2009
 
 

7 Ways to Test Browser Compatibility

 
 

Seven ways to test browser compatibility, without having to manage your own testing lab:

http://freelancefolder.com/7-fresh-and-simple-ways-to-test-cross-browser-compatibility/

Browser compatibility testing solutions have made some progress in the last year but it's still far from ideal. A while back, I had a dream...

  • I want to screen-shot any page in my website (requires a decent, free, scripting engine that will allow me to get to the various pages in my site that can't be accessed via a specific URL (Watir?) ).
  • I want to screen-shot my site that is not yet published for the world (requires the service to exist within my internal network).
  • Once I've approved an ideal layout screen-shot I want the software to determine and tell me if the other screen-shots are worth looking at (by doing a statistical image comparison with a predefined pass/fail threshold).  Maybe MeerMeer is on the right road to doing this?
  • I want to provide basic wire-frame definitions and have software determine if my screen-shots are within reason (by analyzing elements in the DOM and browser dimensions)
  • Get rid of screen-shots and do DOM to DOM element width and height comparisons between browsers (Come on, it's a dream, standards compliance for all browsers (another dream) might make it possible?)
 
   
   
   

 
Thursday, September 04, 2008
 
 

How to View JavaScript Errors in Google Chrome

 
 

In the slim and clean Google Chrome (beta) interface JavaScript issues are not easily detectable unless your page or site is visually broken. Much like FireFox and Safari, a tester must open the "JavaScript console" and keep it in visible view while they test in order to catch JavaScript errors. Chrome's Javascript console is a lot like Safari's, but is a tad worse (see the gotchas at the bottom of this post).

My fellow testers, here is how to get to that JavaScript console and monitor for JavaScript errors while you test:
 

Click the page icon to the right of the URL bar. Select "Developer" and then "JavaScript console" from the menu:

image

In the top of the JavaScript console window click the "Resources" button:

image

Start testing. When an error occurs you'll see a red icon with a number in it next to the page that the error occurs:

image

You'll also see a log of the error in the bottom of the JavaScript console window, if you click the provided link it will take you to the line of code where the error occurs:

image

Also, if you click the page in the "Resources" section the offending line of JavaScript and the error will be displayed:

image

As of now, I see two gotchas in Google Chrome Beta when attempting to detect/find JavaScript errors:

  1. The "JavaScript Console" reports more than JavaScript issues which makes sorting/distinguishing JavaScript errors from other reported HTML style of formatting errors tough. A cheesy visual helper is to also open up the "Debug JavaScript" window (found in the same Page > Developer menu to the right of the URL bar) and watch for new line items to show up in the log. Those line entries are associated with JavaScript errors, unless..
  2. You changes sites/domain, in this case the previously opened JavaScript windows won't display data for the new site. You have to close those instances and re-open them to monitor the new site.  You know that the monitoring has stopped when you see in the "Debug JavaScript" window the following log entry: "lost connection to tab"
 
   
   
   

 
Tuesday, September 02, 2008
 
 

Google Gives Us Another Browser to Test: Chrome

 
 

image Just when you thought you had a handle on your browser compatibility testing, Google gives us Chrome.  What does that mean for you, the infamous browser compatibility tester? Just another browser to test? Yes and no...

Have you seen my previous screencast on Browser Compatibility Testing Risk Analysis? If not, its a worthy watch if you want to get a feel for how the browser generally works and how to trim that browser test list based on a little bit of data and risk analysis. Once that's under your belt, continue on my friend...

Let's dive into the details of Chrome to get a quick grasp on where some new browser compatibility defects for your site may be lurking:

The Layout Engine
What does Google Chrome use for a layout engine? WebKit. The same layout engine that Safari uses. Will it render exactly like Safari? Well, it depends on which version of WebKit that  your installations of Chrome and Safari use. You can determine this quickly by looking at the user-agent string. A quick way to do this is to go to BrowserHawk.com, click "more" in the top right menu, scroll to the bottom of the new page and look for the text "User agent". Here is the Google Chrome user-agent:

Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US)+AppleWebKit/525.13+(KHTML,+like+Gecko)+Chrome/0.2.149.27+Safari/525.13

As you can see we have a WebKit version of 525.13. Chances are that the latest version of Safari runs WebKit 525 also (again do this by looking at the user-agent of the latest version of Safari). Ignoring the minor version number and focusing on the major version number, if they are the same we can feel comfortable that Chrome and Safari will display layout the same...Meaning they will align objects on the page the same. If you've already tested Safari, chances are you aren't going to find any unique layout defects in Chrome.

The JavaScript Engine
This is where things start to get different. In Google Chrome we have a brand new engine and way of doing JavaScript. Google calls their new engine V8. Safari's engine is JavaScriptCore. Night and day...expect to see differences and potential issues here. When testing make sure to look for JavaScript errors and possible issues with sites that us AJAX (in my next post I'll talk about how to view JavaScript errors in Chrome) .

The Shell
What stands out the most to me in Chrome's "shell" is the fact that tabs, plug-ins, and JavaScript run under there own process. On the surface this looks like an ideal way to manage security and to keep memory in-check, but I would keep an eye on functionality of pop-ups and session management between windows (as in, losing reference where there needs to be reference). Also, notice the clean-cut/different "shell" that Chrome has... This "shell" could also yield potential defects related to printing, or any other page related features that you may find in the various menu bars/icons or "Options" menu.


In summary, if you are asked to test both Safari and Chrome the layout is going to be the same (if the WebKit versions are the same). However JavaScript and the Shell could yield some unique defects.

 
   
   
   

 
Saturday, February 23, 2008
 
 

I added IE 8 to the user agent switcher import file

 
  image_thumb[1]

The IE team announced what the user agent string for IE 8 will be:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

This particular one is for Vista. They've decided not to use the 'b' in 'MSIE 8.0b' for the beta version this time due to issues they've encountered in the past with that approach. I've updated my User Agent Switcher import file to contain the string for Internet Explorer 8 on Vista and XP. As always you can get to that file from the right menu under the "My Testing Tools" section: User-Agent Information and Tools. Load up the new file and go see if your browser detection script will work with IE's new string.

I also updated it with FireFox 2.0.12 for Vista.

 
   
   
   

 
Friday, February 22, 2008
 
 

Browser Compatibility Testing Risk Analysis

 
 

I did my first presentation for the Phoenix Software Quality Association (PSQA) yesterday evening on "Browser Compatibility Testing Risk Analysis". Those who attended learned:

"The art of trimming browsers from a browser compatibility test list by knowing your users, understanding how the browser works, OS & browser facts versus misconceptions, and grouping browsers by common component versions to remove redundancy."

For those that attended I promised to post my presentation and handouts here on my blog. So here they are:

Packaged Download
Browser Compat Presentation.zip (1.62 MB)

Individual Downloads
Browser Compatibility Testing.pptx (1.65 MB)
Browser Facts Misconceptions and Experience.docx (29.24 KB)
BrowserCompatCheatSheet.xlsx (14.89 KB)

Setting Browser Compatibility Testing Expectations.docx (13.87 KB)

If you don't have Office 2007 you can get the Office 2007 viewers here for free.

I'm thinking about screencasting this while it's fresh in my mind. If I do, it will be posted here within the next few weeks.

PSQA is always looking for presenters or a place to meet. If you can offer up either, the organization would greatly appreciate it (contact info@psqa.org). If you're in the valley, have anything to do with QA, and are not already a PSQA member, go sign up. It's free!

 
   
   
   

 
Sunday, January 27, 2008
 
 

More on Standards Compliance in Internet Explorer 8

 
  image_thumb[1]

After the IE Team posted their intent and work on compliance to standards the debates have begun. Revelations have shown that the standards compliance is really an an option that would be invoked by a developer with a META tag or header using the value of  'X-UA-Compatible'. Now, IE 8 will have 3 modes:

  1. “Quirks mode” remains the same, and compatible with current content.
  2. “Standards mode” remains the same as IE7, and compatible with current content.
  3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.

There is much debate on how this will impact the Web, user experience, as well as how developers will program. There are interesting thoughts around all of them. What is most intriguing to me is that IE 8 is going to be standards compatible. With news like this, I can now test that a Web application conforms to a standard. The standard is now my guideline for my set of test cases. But really will it be a "set of test cases"? Quite possibly it could be only one: Load the page and validate that the page is rendered using "Best standards mode". But hopefully the test wouldn't even be of my concern, with the right Content Management System, the code will be compiled by a developer and the check will be done by the CMS before release to QA. Either way, conforming to standard lowers the risk of a browser compatibility dramatically.

Another interesting feature in IE 8 is the idea of "Version Targeting". In other words

"The idea is that when IE10 loads up my IE7 page, it rewinds itself to act like IE7 did, all those years ago—no matter what changed in the meantime."

What will "Version Targeting", do to my browser compatibility testing list when IE 8 is released? My first impression is that it won't slim my test list at all. For example, if you have a page that is coded for IE 8 and X-UA-Compatible, it doesn't necessarily mean that it will look good in IE 7 or in IE 6 since the code is targeted for IE 8. Using that same Web page (IE 8 and X-UA-Compatible), will the testing list shrink with the release of IE 9? It depends... Will the standards and the compliance to those standards change between IE 8 & 9? How many compliance to standard defects were in IE 8 and fixed in IE 9. If their were few defects and the standards didn't change then the risk is low and you probably wouldn't need to test both IE 8 and 9, just 9.

It's too early to speculate and come up with concrete answers. The IE Team is still working through this stuff with themselves and the active community. But I'm happy to see their attention on the matter.

 
   
   
   

 
Wednesday, January 23, 2008
 
 

Browser Archive

 
  browserCobWeb

I swear I put all my browser archive links into one blog post before, but a search tonight proved me wrong. So here they are... These are the sites I've used for years to download old browsers:

FireFox (official)
http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

Netscape (official)
http://http.netscape.com.edgesuite.net/pub/

Internet Explorer and MANY others (unofficial)
http://browsers.evolt.org/

 
   
   
   

 
Thursday, January 10, 2008
 
 

Internet Explorer 8: A Step Closer to Standards

 
  image

Last month the IE team mentioned that their latest Internet Explorer code (to be IE 8 sometime in the future) renders the "Acid2 Face" tests correctly. This is a large achievement for the team and developers around the world. Browser compatibility testing is going to get easier for us testers (once developers shake their old habits of coding workarounds for browser quirks)! Read the post here.

 
   
   
   

 
Saturday, December 29, 2007
 
 

User-Agent Information and Tools

 
 

I've decided to dedicate a spot on the blog for the user-agent information I've been providing over the last few years. From now on you can reference this post from the right navigation under the tools section.

Here are four very good lists and classifications of user-agents:

  1. http://www.user-agents.org/index.shtml
  2. http://www.botsvsbrowsers.com/
  3. http://www.tnl.net/ua
  4. http://www.pgts.com.au/pgtsj/pgtsj0212d.html

Here is my huge user-agent XML import file for use with the User Agent Switcher Firefox add-on: AgentStrings20080223.xml (19.67 KB). Read here how you can use this tool for testing. The current file contains the following user-agents for your browser spoofing pleasure:

Internet Explorer
MSIE 8 (Win Vista)
MSIE 8 (Win XP)
MSIE 7 (Win Vista)
MSIE 7 (Win XP)
MSIE 7 (Win Storage Server)
MSIE 6 (Win XP)
MSIE 5.5 (Win 2000)
MSIE 5.5 (Win ME)
MSIE 5.0 (Win 95)
MSIE 4.01 (Win 95)
MSIE 4.0 (Win NT)

FireFox

FireFox 2.0.12 (Win Vista)
FireFox 2.0 (Win XP)
FireFox 1.5.0.6 (Fedora Core 5/Linux)
FireFox 1.5.0.4 (Debian Linux)
FireFox 1.5.0.3 (Mac OSX)
FireFox 1.5.0.1 (Win Vista)
FireFox 1.5 (Win XP)
FireFox 1.4 (Win XP)
FireFox 1.0.7 (Win XP)
FireFox 1.0.6 (Win XP)
FireFox 1.0.5 (SlackWare/Linux)
FireFox 1.0.4 (FreeBSD)
FireFox 1.0 (Win XP)
FireFox 0.9.3 (Win XP)

Opera

Opera 9.1 (Win XP)
Opera 8.0 (Win 2000)
Opera 7.6 (Server 2003)
Opera 7.51 (Win XP)
Opera 7.5 (Win XP)
Opera 7.5 (Win ME)
Opera 4
Opera 3
Opera 2
Opera 1

Netscape

Netscape 8.1(Win XP)
Netscape 8.0.1 (Win XP)
Netscape 7.2 (Win 2000)
Netscape 7.1 (Win 98)
Netscape 4.8 (Win XP)
Netscape 4.76 (Win 98)
Netscape 4.5 (Win 98)
Netscape 4.05 (Win 95)
Netscape 3.01 gold (Win 95)
Netscape 2.02 (Win 95)

Safari

Safari 3.0 (v521)
Safari 2.0 (v418.9.1)
Safari 2.0 (v412)
Safari 2.0 (v401)
Safari 1.3 (v162)
Safari 1.3 (v158)
Safari 1.3 (v146)
Safari 1.2(v125.8; OSX 10.3.4)
Safari 1.1 (v100.1; OSX 10.3.2)
Safari 1.0 (v85)
Safari 1.0 (v74 beta 2)
Safari 1.0 (v73 beta 2)
Safari 1.0 (v64 beta)
Safari 1.0 (v51 update 1.0 beta)
Safari 1.0(v48 public beta)

AOL

AOL 9.0/MSIE 6.0 (Win XP)
AOL 8.0/MSIE 6.0 (Win XP)
AOL 7.0/MSIE 5.5 (Win 98)
AOL 6.0/MSIE 5.5 (Win 98)
AOL 5.0/MSIE 5.0 (Win 98)
AOL 5.0 (OS X)
AOL 5.0 (Mac PPC)
AOL 4.0/MSIE 3.02 (Win 95)
AOL 4.0/MSIE 4.01 (Win 95)
AOL 4.0 (Mac PPC)
AOL 4.0 (Mac 68k)
AOL 4.0/MSIE 3.0(Win 3.1)
AOL 3.0/MSIE 3.02 (Win 95)
AOL 3.0/MSIE 4.01 (Win 95)

Mozilla

Mozilla 1.7.8 (Linux)

Spiders/Bots

Googlebot 2.1 (New version)
Msnbot 1.0
Msnbot 1.0 Beta (v0.11)
Yahoo Slurp
Ask Jeeves/Teoma

RSS Readers

NewsGator 2.5 (Win XP)
Feed Demon 1.6 (Win XP)
Bloglines 2.1
SharpReader 0.9.6.0 (Win XP)

WAP Devices

Nokia 6630
Nokia 6100
BlackBerry 8703
iPhone (3.0 Mobile)

Toolbars

Google Toolbar 4.0
Hotbar 4.4.2
AskBar 3.0

Other
iTunes 4.2 (OS X 10.2)
iTunes 4.7 (OS X 10.2)
iTunes 7.1.1 (Mac PPC)
Zune 2.0
Facebook

 
   
   
   

 
Friday, December 28, 2007
 
 

Netscape Navigator is dead

 
  After a near 14 year life span competing with IE and other better browsers, AOL is throwing in the towel on Netscape Navigator. The war was long and drawn out but has finally come to an end for the poor browser.

Sweet! Take another browser off the browser compatibility testing list.

Read more here...

Want to download a few keepsakes or take a walk down memory lane? Check out Netscape's Product Archive FTP.

 
   
   
   

 
Friday, May 18, 2007
 
 

Four links to User-Agent list and an update to the user-agent import

 
 

I found two more lists of user-agents for browsers, spiders, bots, RSS readers, devices, etc. If you're looking to track down who/what a specific user-agent is or are looking to spoof a user-agent using the User Agent Switcher extension then these four lists should be helpful (newly discovered are on the top):

  1. http://www.user-agents.org/index.shtml
  2. http://www.botsvsbrowsers.com/
  3. http://www.tnl.net/ua
  4. http://www.pgts.com.au/pgtsj/pgtsj0212d.html

I've also updated my User-Agent list xml import file for User Agent Switcher to include a few WAP devices and toolbars.

*WAP*     
Nokia 6630
Nokia 6100
BlackBerry 8703 
*Toolbars*     
Google Toolbar 4.0
Hotbar 4.4.2   
AskBar 3.0      

Download it here: AgentStrings20070517.xml (18.07 KB)

 
   
   
   

 
Sunday, March 04, 2007
 
 

Update to User Agent Import for User Agent Switcher

 
 

Update 05/17/2007: The list has been updated and can be found here.

Somebody asked for an update to my outdated XML import file for User Agent Switcher. Honoring that request, I have added the latest user agent strings for each browser. Updated or added strings are marked with green below. I also added a new section for RSS reader user agent strings. Download the User Agent List import file here: AgentStrings20070304.xml (16.51 KB).

Internet Explorer
MSIE 7 (Win Vista)
MSIE 7 (Win XP)
MSIE 7 (Win Storage Server)

MSIE 6 (Win XP)
MSIE 5.5 (Win 2000)
MSIE 5.5 (Win ME)
MSIE 5.0 (Win 95)
MSIE 4.01 (Win 95)
MSIE 4.0 (Win NT)

FireFox

FireFox 2.0 (Win XP)
FireFox 1.5.0.6 (Fedora Core 5/Linux)
FireFox 1.5.0.4 (Debian Linux)
FireFox 1.5.0.3 (Mac OSX)
FireFox 1.5.0.1 (Win Vista)
FireFox 1.5 (Win XP)
FireFox 1.4 (Win XP)
FireFox 1.0.7 (Win XP)
FireFox 1.0.6 (Win XP)
FireFox 1.0.5 (SlackWare/Linux)
FireFox 1.0.4 (FreeBSD)
FireFox 1.0 (Win XP)
FireFox 0.9.3 (Win XP)

Opera

Opera 9.1 (Win XP)
Opera 8.0 (Win 2000)
Opera 7.6 (Server 2003)
Opera 7.51 (Win XP)
Opera 7.5 (Win XP)
Opera 7.5 (Win ME)
Opera 4
Opera 3
Opera 2
Opera 1

Netscape
Netscape 8.1 (Win XP)
Netscape 8.0.1 (Win XP)
Netscape 7.2 (Win 2000)
Netscape 7.1 (Win 98)
Netscape 4.8 (Win XP)
Netscape 4.76 (Win 98)
Netscape 4.5 (Win 98)
Netscape 4.05 (Win 95)
Netscape 3.01 gold (Win 95)
Netscape 2.02 (Win 95)

Safari

Safari 3.0 (v521)
Safari 2.0 (v418.9.1)
Safari 2.0 (v412)
Safari 2.0 (v401)
Safari 1.3 (v162)
Safari 1.3 (v158)
Safari 1.3 (v146)
Safari 1.2 (v125.8; OSX 10.3.4)
Safari 1.1 (v100.1; OSX 10.3.2)
Safari 1.0 (v85)
Safari 1.0 (v74 beta 2)
Safari 1.0 (v73 beta 2)
Safari 1.0 (v64 beta)
Safari 1.0 (v51 update 1.0 beta)
Safari 1.0 (v48 public beta)

AOL
AOL 9.0/MSIE 6.0 (Win XP)
AOL 8.0/MSIE 6.0 (Win XP)
AOL 7.0/MSIE 5.5 (Win 98)
AOL 6.0/MSIE 5.5 (Win 98)
AOL 5.0/MSIE 5.0 (Win 98)
AOL 5.0 (OS X)
AOL 5.0 (Mac PPC)
AOL 4.0/MSIE 3.02 (Win 95)
AOL 4.0/MSIE 4.01 (Win 95)
AOL 4.0 (Mac PPC)
AOL 4.0 (Mac 68k)
AOL 4.0/MSIE 3.0 (Win 3.1)
AOL 3.0/MSIE 3.02 (Win 95)
AOL 3.0/MSIE 4.01 (Win 95)

Mozilla

Mozilla 1.7.8 (Linux)

Spiders/Bots

Googlebot 2.1 (New version)
Msnbot 1.0
Msnbot 1.0 Beta (v0.11)
Yahoo Slurp
Ask Jeeves/Teoma

RSS Readers

NewsGator 2.5 (Win XP)
Feed Demon 1.6 (Win XP)
Bloglines 2.1
SharpReader 0.9.6.0 (Win XP)

 
   
   
   

 
Monday, January 22, 2007
 
 

User Agent String Lists

 
 

User Agent Strings. Tons of 'em. Browser, bots, RSS readers. The list is ever growing and never ending. Did you know that "a new user agent string is born every 65 seconds"? *

Here are two extensive lists of user agent strings:

  1. http://www.tnl.net/ua
  2. http://www.pgts.com.au/pgtsj/pgtsj0212d.html

Very useful if you are spoofing user agents with a tool like the User Agent Switcher extension.

* 96.7% of Internet statistics are made up.

 
   
   
   

 
Friday, January 19, 2007
 
 

Microsoft FireFox 2007 Professional Edition

 
 

Blink, process it again, Microsoft FireFox 2007 Professional Edition, blink real slow this time, look again, Microsoft FireFox 2007 Professional Edition. HUH?

Check it out yourself, somebody put a great deal of work into this. Don't scan through, read the words. Too funny.

 
   
   
   

 
Thursday, January 18, 2007
 
 

Stupid Testing Trick #4: The Quickest Way to Refresh a Web Page

 
 

Another post yet again inspired by a Google search that lead to my site but I don't necessarily address directly: "What is the quickest way to refresh a Web Page?"

Answer: The F5 key

How to refresh a Web page without pulling it from the browser's cache? CTRL + F5

No such thing as a stupid question here at QAInsight.net\QABlog.net\QABlog.com! We all have to start somewhere eh?

 
   
   
   

 
Wednesday, January 10, 2007
 
 

IE Developer Toolbar Beta 3 Available for Download

 
 

The IE team has released Beta 3 of the IE Developer toolbar. I played with it for a while and found that it's getting better. In prior versions I (and others I talked to) couldn't get the Outlining functionality to work. It appears to work now in Beta 3, but it's still a bit buggy. On a page off of Google news the toolbar was incapable of outlining all the images on the page. On a positive note, the new feature "Select Element by Click" is pretty dang slick and I could see it being really helpful in developer troubleshooting or testing investigation. The feature allows you to click any element in the Web page and that element's details and position in the DOM will be displayed in Developer Toolbar's DOM explorer. From there you can also view the source for that element too (with colored syntax).

If you haven't already, start warming up with the beta 3. Once complete, this tool will be a must have in your developer and testing tool toolbox.

Get update information and screenshots of changes at the IE Blog. Download IE Developer Toolbar Beta 3 here.

 
   
   
   

 
Thursday, December 07, 2006
 
 

IE6 and IE7 Running on a Single Machine

 
 

Internet Explorer 7 is out and as the world gradually upgrades, our web applications are slowly forced into compliance if we want to truly reach all of our audience. When it's been declared that your app will support both (at least for the time being) the testers are forced to conduct browser compatibility using both. Because of this, testers are now dealing with the problem: Knowing that IE6 and IE7 can't be installed at the same time on one machine, what is the most efficient way to test both IE6 and IE7? It sure would be nice if I you could test both from a single test machine right? Fact of the matter is, you CAN! You've got two options here, a Not so Guaranteed way, and a Guaranteed way.

Not So Guaranteed Way
Use MultipleIEs from TredoSoft,which allows you have multiple versions of IE (3.0, 4.01, 5.01, 5.5, 6.0) placed and semi-runnable on one test system. I've done a bit of playing around with this method and from experience it's pretty unstable. IE is built to tie into your OS, so being a unstable seems reasonable when you have hacked apart piles of assemblies that make up different versions of IE (as MultipleIEs has done). If you're fairly familiar with what different versions of IE look and feel like you'll get the same uncomfortable hunch that I get when I'm trying to convince myself that I'm truly experiencing the version of browser I opened. Goofy things make me suspicious, like running IE 5.5 and viewing the "About" window which tells me that I'm running IE 6. Attempted validation of components in these browsers using detection tools such as BrowserHawk.com still leave me scratching my head due to issues with tools themselves or the browser. Who knows? I don't know! It would take a lot of work to know. I would find great comfort in proof that the rending engine, JavaScript version, management of cookies and cache of that browser were truly being used. But I don't have time to do that. Will you test on a questionable browser/system and put your "tested" seal on the Web app when you don't have proof of the authenticity of that browser? Not me. Those are my feelings, the IE team backs them up with this post. However, I can confidently put my seal on the Guaranteed Way:

Guaranteed Way
1. Install IE7 on your test machine.
2. Download and install the free Microsoft Virtual PC 2004 and the free Windows XP SP2 IE6 VPC Image (no license required). Set you new environment up in 19 easy steps.

Do it the right way testers. Microsoft has made it easy and free for you.

 
   
   
   

 
Tuesday, October 24, 2006
 
 

FireFox 2 released bragging JavaScript 1.7 but actually using 1.5?

 
 

FireFox 2 is released and can be downloaded at GetFireFox.com! What does this mean for us browser compatibility testers?

From experience, my compatibility testing woes that come with version changes are:

1. JavaScript version changes, causing JavaScript errors.
2. Rendering engine changes (especially CSS); causing display issues (e.g. object alignment, font changes/inconsistency).

So....as I peruse the FireFox 2 feature list I see an upgrade to JavaScript 1.7. Hmm, sounds historically defect prone...BUT, before I read the feature list I went and did my own homework of seeing if the JavaScript version changed. My homework unveiled that FireFox 2 was using JavaScript 1.5? WHAT THE? Am I looking at an issue caused by having multiple FireFox installations on a machine (I have 1.0.8, 1.5.4, and 2.0 installed). When you're running FireFox 2 what is your JavaScriptVer when you visit BrowserHawk.com? Leave your findings in the comments please!

 
   
   
   

 
Thursday, October 19, 2006
 
 

innerHTML is faster than DOM

 
 

Which is faster when using DHMTL? The innerHTML property or the HTML DOM? Gleb Lebedev over at gloo.ru did all the hard work for us and gives us an answer. In a nutshell: innerHTML wins in Opera 9.01, FireFox 1.5, IE 6.0 32-bit, and IE 6.0 64-bit. By far!

A new check in the performance code review? Your developers do that right? Right!?

 
   
   
   

 
Wednesday, October 18, 2006
 
 

Internet Explorer 7 Released

 
 

Today Microsoft released Internet Explorer 7. When I got home from work today I installed it on my wife's laptop. Any minute I should see what the WAF is.

I noticed my 12 year old son was using it while doing some homework and I asked him what he thought, the conversation went something like this:

Me: What do you think about Internet Explorer 7?
Jake: The thingy with the gold ring?
Me: Yeah, the Web browser you are using right now (peering over the top of the laptop and noticing a Web page with pictures of Lysosomes)
Jake: Looks the same to me, I didn't notice.
Me: You don't see ANYTHING different?
Jake: I guess up here is kinda weird (as he points to the Yahoo toolbar at the top of the Web browser...which doesn't look any different than it did in IE6).
Me: Hmm...

I think his experience is a good thing? If you think about it, a twelve year old doesn't care about security, phishing, integrated search, and all the other new, key features of IE7. The fact that he opened IE7 up (with the new desktop icon), did a search on Google for Lysosomes, and printed a picture out for his storyboard/report tells me that Microsoft did a great job with revamping their browser but not confusing their customers.

Kudos to Microsoft.

Download IE7 here.

Don't download it here (IE7.com ...haha)

 
   
   
   

 
Thursday, October 05, 2006
 
 

Automation using HTTPWatch, IE, C# and NUnit

 
 

In the past I've written about my use and the value of the testing and development tool HTTPWatch. In the latest release of HTTPWatch (4.1) Simtec has added to its value by exposing an interface to be used for automation. My thoughts on the matter: "Whoa..that's freakin' cool, now I can automate some of the things I have to test manually for?"

The HTTPWatch automation interface as described by the folks at Simtec:

"HttpWatch has a comprehensive automation interface that can be used by most programming languages (e.g. C#, Javascript & Ruby). The interface can be used to control the HttpWatch plug-in for IE and access data in HttpWatch log files. If you are already running automated tests, you can integrate HttpWatch and record HTTP level information during your tests. The recorded data that then be checked for certain types of configuration and performance problems (e.g. HTTP compression is not enabled)."

I've played around with the new interface for a little more than a week now and the more I play the more I realize how valuable analyzing the HTTP traffic on the fly during an automated test could be. While exploring the interface, I put together a Visual Studio .NET 2003 project with some examples of the things that can be done:

  • Check every request for 404. This isn't just page requests, this is all HTTP traffic that goes along with the page (e.g. catch broken images, missing .js files, etc.)
  • Check every request for 500. Same as above except for 500s.
  • For performance improvements, check to see if .jpg, .gif, .css, .js are found in cache instead of being downloaded with each page request.
  • For performance improvements, check to see if .jpg or .gif files are greater than a designated byte size.
  • Check that objects don't exceed a specified download time.

My demonstration project that uses the HTTPWatch interface, IE, C#, and NUnit can be downloaded here (thanks Matt for helping me refactor it). Compile it, point NUnit at HTTPWatch_NUnit_Demo.exe and run the 5 tests. The NUnit Test Suite will conduct the 5 tests noted above against Ebay.com which will work with HTTPWatch Basic Edition (their demo) and the Professional Edition.

The project is pretty simplistic due to it only validating one page, but hey it's a demo. Now that I better understand the interface, the BIG VISION for its use would to be to be open a browser, turn on HTTPWatch, log all the traffic for each page in my Website, and then conduct a battery of tests against the log, dumping the details to NUnit.

 
   
   
   

 
Saturday, September 23, 2006
 
 

More IE 7s added to User Agent Switcher XML file

 
 

I've included the following IE 7 user-agent strings to my importable XML file for User Agent Switcher:

  • MSIE 7 beta (Win XP SP2)
  • MSIE 7 (Win XP SP2)
  • MSIE 7 (Win 2003 Server)
  • MSIE 7 (Win Vista)
  • MSIE 7 (Windows-RSS 1.0)

Download it here.

 
   
   
   

 
Wednesday, September 13, 2006
 
 

Update to my User Agent Switcher XML file

 
 

Back in December I blogged about Chris Pederick's FireFox extension User Agent Switcher that does browser user agent spoofing. At the time I provided a small list of user agents that could be imported into the cool little extension. Since then I've modified and added quite a bit to that list. I'm sharing my new user agent list with you here. The new list now includes these browser OS combinations (thanks to Philip Forteza for the Linux versions):

*Internet Explorer*
MSIE 7 Beta  (Win XP)
MSIE 7 Beta  (Win Vista)
MSIE 6 (Win XP)
MSIE 5.5 (Win 2000)
MSIE 5.5 (Win ME)
MSIE 5.0 (Win 95)
MSIE 4.01 (Win 95)
MSIE 4.0 (Win NT)
*FireFox*
FireFox 2.0 Beta2 (XP)
FireFox 1.5.0.6 (Fedora Core 5/Linux)
FireFox 1.5.0.4 (Debian Linux)
FireFox 1.5.0.3 (Mac OSX)
FireFox 1.5.0.1 (Win Vista)
FireFox 1.5 (Win XP)
FireFox 1.4 (Win XP)
FireFox 1.0.7 (Win XP)
FireFox 1.0.6 (Win XP)
FireFox 1.0.5 (SlackWare/Linux)
FireFox 1.0.4 (FreeBSD)
FireFox 1.0 (Win XP)
FireFox 0.9.3 (Windows XP)
*Opera*
Opera 8.0 (Win 2000)
Opera 7.6 (Server 2003)
Opera 7.51 (Win XP)
Opera 7.5 (Win XP)
Opera 7.5 (Win ME)
Opera 4
Opera 3
Opera 2
Opera 1
*Netscape*
Netscape 8.1  (Win XP)
Netscape 8.0.1 (Win XP)
Netscape 7.2 (Win 2000)
Netscape 7.1 (Win 98)
Netscape 4.8 (Win XP)
Netscape 4.76 (Win 98)
Netscape 4.5 (Win 98)
Netscape 4.05 (Win 95)
Netscape 3.01 gold (Win 95)
Netscape 2.02 (Win 95)
*Safari*
Safari 3.0 (v521)
Safari 2.0 (v412)
Safari 2.0 (v401)
Safari 1.3 (v162)
Safari 1.3 (v158)
Safari 1.3 (v146)
Safari 1.2  (v125.8; OSX 10.3.4)
Safari 1.1 (v100.1; OSX 10.3.2)
Safari 1.0 (v85)
Safari 1.0 (v74 beta 2)
Safari 1.0 (v73 beta 2)
Safari 1.0 (v64 beta)
Safari 1.0 (v51 update 1.0 beta)
Safari 1.0  (v48 public beta)
*AOL*
AOL 9.0/MSIE 6.0 (Win XP)
AOL 8.0/MSIE 6.0 (Win XP)
AOL 7.0/MSIE 5.5 (Win 98)
AOL 6.0/MSIE 5.5 (Win 98)
AOL 5.0/MSIE 5.0 (Win 98)
AOL 5.0 (OS X)
AOL 5.0 (Mac PPC)
AOL 4.0/MSIE 3.02 (Win 95)
AOL 4.0/MSIE 4.01 (Win 95)
AOL 4.0 (Mac PPC)
AOL 4.0 (Mac 68k)
AOL 4.0/MSIE 3.0  (Win 3.1)
AOL 3.0/MSIE 3.02 (Win 95)
AOL 3.0/MSIE 4.01 (Win 95)
*Mozilla*
Mozilla 1.7.8 (Linux)
*Spiders/Bots*
Googlebot 2.1 (New version)
Msnbot 1.0
Msnbot 1.0 Beta (v0.11)
Yahoo Slurp
Ask Jeeves/Teoma

 
   
   
   

 
Tuesday, August 29, 2006
 
 

How to avoid the .com typo-squatters

 
 

The typo-squatter top level domain .cm is being used to take your .com typo of .cm and give you a page you didn't really want (e.g. microsoft.cm instead of microsoft.com). Here is an easy way to avoid the .cm typo in IE:

  1. Type the domain name minus the suffix in the URL  (e.g. microsoft)
  2. Press the keys: CTRL+SHIFT+Enter

A www. will be added to the front of the name and a .com will be added to the end. Avoid the .com typo-squatters with IE shortcuts!

 
   
   
   

 
Friday, August 25, 2006
 
 

Internet Explorer 7 RC1 released

 
 

Internet Explorer RC1 is available for download. High level changes include:

The Internet Explorer 7 RC1 build includes improvements in performance, stability, security, and application compatibility. With this build, Microsoft has also made enhancements to the fit and finish of the user interface, completed CSS platform changes, added language support, and included an auto-uninstall feature in Setup, which automatically uninstalls prior betas of Internet Explorer 7, making installing the new build even easier.

 
   
   
   
 
Friday, August 25, 2006
 
 

Internet Explorer 7 keyboard shortcut cheat sheet

 
 

A while back Leslie Franke posted a FireFox cheat sheet in a pretty little format suited for printing and hanging on the wall next to your computer. The IE team has done the same for IE7. View and print the Internet Explorer 7 Quick Reference Sheet here. Impress your friends and coworkers with blazing fast surfing skills using only your keyboard!

 
   
   
   

 
Wednesday, August 23, 2006
 
 

Death toll rises due to FireFox

 
 

Amity, Oregon and surrounding communities have been destroyed by what officials and scientists are claiming "FireFox aliens". The death toll is 17,000 and still counting. Officials estimate the toll to rise to 24,000 within the next few days as they survey the rest of the damage.

Surviving residents are enraged with officials since evidence of alien activity emerged as early as August 13th when an a farmer's wheat field in Amity was discovered to have a crop circle that appeared overnight. Survivor Jace Thomeas left town on a hunch, warned officials and contacted local news warning "get the people out, FireFox is coming". Mr. Thomas's warnings went ignored and were actually scoffed at by neighbors.

Few photos exist of the actual destruction as it occurred, simply due to the fact that the devastation brought forth by alien aircraft wiped out electronic devices using electro-magnetic-gamma-particle technologies. Officials have released one color distorted image obtained from a 30MM camera found under and overturned water truck. Those who survived describe the same awful scene as seen in the released photo. "A red and orange orb emerged from the sky and moved along the inhabited terrain destroying everything in it's path using some sort of invisible force that had the power of a tornado". "The sound was terrible, the screaming and crying as people ran from the spaceship was unbearable".

The survivors are thankful and seem to have one thing in common that was key to their survival: they use Internet Explorer as their Web browser. One IE 7 Beta 3 user can't understand the reasoning behind the destruction of non-IE users: "It's like these FireFox aliens are cannibals, they are evil, they seem to be the type that would punch themselves in the nose just to spite their fox like face." He goes on to say "Much like when the FireFox browser touted itself as more secure". Surviving artist Timothu Olhan has submitted an illustration of the FireFox alien to news crews to help make other non-IE users aware of what they are up against. "As the thousands of aliens made their way across the terrain ripping and tearing through human flesh I was surprisingly spared and only stared in frightened awe as the landscape and people turned into a living hell. I hope we can prevent this from happening again. If you value your life make sure that Internet Explorer is on your PC. In the mean-time be on the look out for the creatures I've recreated in my illustration".

Officials are aware of the advice but aren't relaying it until their investigations are complete. Meanwhile, uninformed surrounding towns are trying to get as far away as possible. The massive rush to escape has clogged interstate-5 and traffic is at a halt. Desperate families wanting to survive are leaving cars in the middle of the highway and moving North by foot.

Nearby OSU students are trying to dispel the few facts that are slowly working through the towns with propaganda stating that the "Firefox Crop Circle project shows that we have so much passion for Firefox that we want it to be visible from space". The propaganda comes too late for surrounding towns as they are now seeing and experiencing the pain of the once beautiful, neighboring town Amity.

If you find yourself reading this article using FireFox, save your own life, download and install the latest verion of IE immediately. It's only a matter of time before those FireFox thingies will be back.

 
   
   
   

 
Sunday, August 20, 2006
 
 

Using IE to validate that sticky sessions work with your Web app

 
 

Using Internet Explorer, how can you test and validate that your Web application works when sticky sessions and multiple Web servers?  Here's how I do it:

While on call this weekend an issue arose where a user would get an error in the browser when their request was moved to different Web server in the farm. The user would authenticate against one Web server (establishing an online banking session and an aspnet session) but when the user made a 2nd request it was routed to a different Web server and that Web server was saying "Who the hell are you? I didn't give you that aspnet session!". and an error would be displayed to the user. This error/behavior was intermittent because the user will not always be directed to a secondary Web server (depending on load and/or load balancing configuration).

As a tester how can you recreate the issue every time when you are forced to use a domain name in the URL and using IPs in the URL isn't an option? It can be done by using the hosts file on the browser's machine (without a load balancer). Here is where the 2nd problem enters though: A hosts file change isn't always recognized by the browser while it is open. However, you can force the browser to recognize changes in the hosts file by closing and restarting the browser. But in our case we have established an online banking session (via logon) and we need to keep it so we can't close the browser. The trick...There is another way to force the browser to recognize the hosts file changes without closing it; here are the steps:

Step 1: Clear your browser cache and close all instances of the browser. If you don't, the page you are requesting may be in cache it will read it out of the cache or go to the IP that was set before the hosts file change.

Step 2: Add the IP/hostname entries to the hosts file. The second entry will be commented out (see the bottom of this blog post to find out where your hosts file is located). For example:

192.168.1.50 BigBank.com
#192.168.1.51 BigBank.com

Step 3: Using IE, navigate to BigBank.com and logon (because of your hosts file entry, you will be hitting Web server 192.168.1.50)

Step 4: Change the entries in the host file to point to the 2nd Web server:

#192.168.1.50 BigBank.com
192.168.1.51 BigBank.com

Step 5: Open a command window and run the command: nbtstat –R
(this purges and reloads the name cache)  

Step 6: Wait 3 minutes for IE to consume the change. Don't ask me why but it refreshes at exactly 3 minutes.

Step 7: Conduct your next operation in IE (the request will be go to Web server 192.168.1.51)

...and that's how.

Hosts file locations for various Windows OS:
Windows XP = C:\Windows\System32\Drivers\Etc
Windows 2K = C:\Winnt\System32\Drivers\Etc
Win 98\ME = C:\Windows

 
   
   
   

 
Friday, August 04, 2006
 
 

Beta feedback declares the official IE7 name "Internet Explorer 7”

 
 

A while back Microsoft declared Internet Explorer 7 to be referenced two different ways depending on what OS it was on. If on Vista it would have a trailing +.

Well, the people spoke up during the beta evaluation (they hated it), Microsoft listened, and now it's back to the simple "Internet Explorer 7”. Read more here.

If only Nintendo would listen to the people and rename the stupid Wii back to Revolution.

 
   
   
   

 
Thursday, August 03, 2006
 
 

Which is more secure IE7 or FireFox2

 
 

Ed Bott over at ZDNet revisits the infamous question: Which is more secure IE or FireFox? But this time Ed compares the betas of Interent Explorer 7 and FireFox 2. Long story short, after boiling it all down Ed decides that:

"Come this fall, when both browsers are officially released, the playing field will essentially be level."

Read Ed's review here.

 
   
   
   

 
Wednesday, August 02, 2006
 
 

How to view javascript errors in Internet Explorer 7

 
 

I habitually peruse the search queries report for QAInsight.net to see what keywords bring users to the site. Occasionaly the keywords aren't things that I've specifically talked about but are good ideas for future posts. A recent search phrase was "viewing javascript errors in IE 7". It's something I take for granted since I've been doing it for so long with IE 5-6, but there are peeps out there who want to know. So here is how to view javascript errors in Internet Explorer 7:

First off, with default IE7 settings, you just have to pay attention to the bottom-left corner of the browser. Keep your eyes peeled for the yellow yield icon:

Once you see the icon, double click it and a script error window will display itself:

Click the "Show Details" button and the script error window will expand showing you the loathed script error.

However, you don't always happen to see that little icon in the bottom-left corner but you can make sure you don't miss these script errors (really important as a tester) by enabling the Internet Options setting in IE (Tools > Internet Options > Advanced) labeled "Display a notification about every script error". This setting is not enabled by default.

There you have it. Simple, but obviously some don't know how simple.

 
   
   
   

 
Thursday, July 27, 2006
 
 

FireFox trojan extension

 
 

The bad guys are using the FireFox extensions as a means of piggybacking FireFox to steal sensitve user data.

Once FormSpy is executed, it installs itself as a component of the Firefox Web browser.
The FormSpy spyware then gleans sensitive information, such as credit card and bank account numbers, from the user's browser and forwards it to a malicious Web site. But this Trojan is capable of other tricks, as well, McAfee noted.

Read more here.

 
   
   
   
 
Thursday, July 27, 2006
 
 

Internet Explorer 7's No Add-ons Mode

 
 

The IE team has posted about a new Internet Explorer 7 feature that allows you to enable or disable IE add-ons (toolbars). The feature seems to have been created with the purpose of troubleshooting add-on and IE integration issues. More on No Add-on mode can be found here.

 
   
   
   

 
Monday, July 24, 2006
 
 

XSS cheat sheet

 
 

My coworker Alex Ginos sent a link the other day to an XSS (cross site scripting) cheat sheet at ha.ckers.org. This cheat sheet is amazing; it has a LOT of XSS examples and also lists the browsers that the attack is "supported" by. I thought my XSS attack list was pretty good until I saw this list. To say the least, I'll be adding a ton more XSS attacks to my current test case repository. 

ha.ckers.org is also a blog with some really great posts about hacking and security. Another interesting post that I enjoyed was Attacking Applications Via XSS Proxies. Subscribe to this blog, these guys are freakin' smart.

 

 
   
   
   

 
Saturday, July 08, 2006
 
 

FireFox cheat sheet

 
 

Using keyboard shortcuts makes you a faster tester (well, at least it does me...). However remembering shortcuts for your favorite applications is not so easy. Leslie Franke over at http://lesliefranke.com/ has created a nice little cheat sheet of FireFox keyboard shortcuts and Tips/Tricks. It's available in HTML and PDF format and can be downloaded here, Get faster in FireFox, print it out and hang it on your cube wall!

 
   
   
   

 
Friday, June 30, 2006
 
 

Internet Explorer Beta 3 released

 
 

Internet Explorer beta 3 has been released and can be found here. The IE team and Dave Massy are boast of its new features:

  • New icons
  • Tab reordering
  • Authenticated FTP
  • Easy access to email (put it back)
  • Small details (for example, image resizing changes)

See some screenshots on the IEBlog.

What's really cool is that the IE team has made, and still is making, EXTRA effort to listen to what users are saying about IE 7 and adding features and improvements based on feedback. If you like, dislike or have an idea about IE7 you can submit your feedback in 3 ways:

  • Internet Explorer External Feedback

    This is the best way to submit Internet Explorer 7 Beta 3 bugs to the Internet Explorer team.

    You will need to have a Microsoft Passport account in order to use this site. Go to the Passport site to create an account.

    In order to submit feedback, go to Microsoft Connect, then select "Available Connections," which will take you through a license agreement. You will see "Internet Explorer Feedback" as one of the list of programs available. Select "Apply" to enroll in the program.

    There is a best practices document included on the site outlining how to open a "good" bug.

  • Microsoft Beta Client Tool

    Report issues directly to us through the Microsoft Beta Client Tool (you will need to install this tool before you can use it).

    Although this tool may look like it was designed for feedback on Windows Vista, you can use it to send us Internet Explorer 7 bugs. On the first page of the tool, just make sure you choose "This install is an Internet Explorer 7 update on Windows XP'" and set the Area to "Internet Explorer."

  • Newsgroups

    Post any questions or problems you have to the microsoft.public.internetexplorer.general newsgroup, either through a newsgroup reader or on the Microsoft Discussion Groups site.

  •  
       
       
       

     
    Tuesday, June 20, 2006
     
     

    Opera 9 released

     
     

    Opera 9 was realeased today. Opera continues to hang with the big dogs with new features such as:

    • BitTorrent
    • Content blocker
    • Add your favorite search engines
    • Tab Thumbnail preview
    • Site preferences
    • Widgets
    • Improved rich text editing

    Download Opera 9 here.

     
       
       
       

     
    Sunday, June 18, 2006
     
     

    Screen capture for FireFox: ScreenGrab

     
     

    A while ago LifeHacker.com wrote about the screen capture utility ScreenGrab by Andy. ScreenGrab is an extension for FireFox that allows you to capture a FireFox browser screen and save it as a PNG file in 3 different ways:

    • The entire FireFox window (same as the PC ALT+PrtScr)
    • The entire content of the site (scrolling content)
    • The content that is viewable in the FireFox window (ViewPort)

    Andy says he is working on adding the following features:

    • Being able to select a region to grab (using something similar to MeasureIt).
    • Removing my dependence on Java (much like the folks over at Pearl Crescent did with their PageSaver, based - like I said one would be eventually, on the Canvas widget).
    • All those configuration options people keep whining about (default save to location, default naming, different file types, different menu locations).
    • Making a shortcut key to do the grab.

    SnagIt vs. ScreenGrab + Kleptomania

    When making a choice on which to use for Web application testing here are some things to think about:

    • SnagIt won't give you the OCR/text capture feature that Kleptomania has.
    • ScreenGrab won't work in Internet Explorer.
    • ScreenGrab doesn't have drawing tools.

    For Web application testing ScreenGrab fills a hole in one of my favorite tools Kleptomania because it captures content that requires scrolling. Putting the two together is about the same price as SnagIt. Neither are magic bullets for Web application screen and text capturing. TechSmith, if you add OCR/text capture to SnagIt I'm sold. Until then I'm sticking with ScreenGrab and Kleptomania.

    ScreenGrab 0.8 is free, download it here.

     
       
       
       

     
    Friday, June 02, 2006
     
     

    Geek T-shirt - Feed Me (RSS)

     
     

    Are you a blogger or blog reader? Are you a fan of syndication? Let me present the latest in geek t-shirts for RSS. I had this one on the back burner since I started this blog in December of 2005 and finally sat down to create it tonight. This master-piece is titled "Feed Me" (I won't be offended if you consider it a master-POS). The image below requires ShockWave-Flash. If you can't see it, just go to Zazzle.com where this little beauty resides. Do you hate black t-shirts or would rather a sweat-shirt or tank top? Zazzle has a huge product line-up that you can place this advertising gem on. Gem you say? Yes, this is THE official RSS icon to be recognized by a cajillion internet users by 2007. TRUST ME. Don't be a "wanna-be" by displaying your syndication spirit in 2008. Get this frickin' thing on your chest now!

     
       
       
       

     
    Wednesday, May 31, 2006
     
     

    Determine browser and system settings with BrowserHawk.com

     
     

    Whenever I question my browser type and version, or specific browser and system settings I always hit BrowserHawk.com to get ALL the exact details. Once you hit the home page just click on the "more" link in the header to get a full list of all your browser/system features and settings.

    BrowserHawk.com comes in handy for real world development, test and release scenarios like:

    • Determining your exact user-agent string when testing browser detection code
    • Determining your exact user-agent string when spoofing browser user-agents
    • Ensuring your browser version is correct when you are skeptical about running multiple instances of FireFox or Netscape on one machine
    • Quickly determining your JavaScript version to help troubleshoot script errors
    • Troubleshooting release/customer issues by getting all browser and system details by sending customers to BrowserHawk.com

    It's quick, easy, and FREE.

     
       
       
       

     
    Tuesday, May 30, 2006
     
     

    IE7 in Windows Vista is “Internet Explorer 7+”

     
     

    To distinguish between IE7 in Vista vs. XP Microsoft has declared that they will be adding a "+" to IE7 for Vista. The difference can also be seen with the following user-agent strings:

  • IE7+ running on Windows Vista:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
  • IE7 running on Windows XP:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

    Read more here.

  •  
       
       
       

     
    Wednesday, May 24, 2006
     
     

    Mulitple tabs/Home pages in FireFox

     
     

    You can have multiple home pages display in different tabs when clicking the home button in Firefox. Thanks for the tip Scott!

    In FireFox from Tools|Options|General, enter in the homepages you want, separated by pipes "|".

     
       
       
       

     
    Wednesday, April 26, 2006
     
     

    Browser Wars - A New (ie) Hope

     
     

    Hehe...this is awesome: Browser Wars - A New (ie) Hope

     
       
       
       

     
    Tuesday, April 25, 2006
     
     

    IEAddOns.com

     
     

    You can now get your Internet Explorer 6 and 7 add-ons through the new IE add-on web site IEAddOns.com. According to the IEBlog:

    "Products on the site either work directly with Internet Explorer 6 or 7, or use the IE platform, and have to meet the CNET Software Submission Requirements and Adware and Spyware Policy before being posted. We also welcome users, editors and industry specialists to write and post reviews for each add-on, and report problem software."

    A quick perusal of the initial list of add-ons sparked no interest for my QA mind. After about 2 minutes of looking around I realized that the new IE Developer Toolbar was not to be found on the site. Seems odd... I know it's in beta but that shouldn't keep it off the site! Maybe it didn't meet the "Software Submission Requirements"?

    Once the word is out and the add-ons are submitted, this should be a nice little portal (hopefully as nice as the FireFox extensions site).

     
       
       
       

     
    Sunday, April 16, 2006
     
     

    FireFox Easter Eggs

     
     

    In the spirit of Easter here are a few of what people are calling FireFox "Easter Eggs":

    In the FireFox URL bar type:

    • about:
    • about:mozilla
    • about:credits
    • about:cache
    • about:plugins
    • about:buildconfig
    • https://http//www.qainsight.net
      • (causes a redirect to Microsoft)

    Happy egg hunting. Be a good boy and try not to shove the smaller engineers down during your frenzied search.

     
       
       
       

     
    Monday, April 10, 2006
     
     

    Textbox keyboard shortcuts

     
     

    Jeff Atwood over at CodingHorror posted the shortcut keys for moving your cursor around in a textbox. If you do a lot of Web browser testing these shortcuts can be a real time saver.

    While you're brushing up on shortcuts, don't forget about my previous post on IE shortcut keys.

     
       
       
       

     
    Saturday, April 08, 2006
     
     

    Google Toolbar (Version 2) for FireFox combats phishing

     
     

    Google has released a version 2 of their toolbar for FireFox. Amongst its many features is the ability to detect phishing and site spoofing. I tried the feature out against a known, still active phishing site and the toolbar caught it immediately and then disabled the page until I answered its warning. Tools like this are a must have when studies show that 90% of people are fooled by a good phishing site. Here's a screenshot of what the warning looks like:

     
       
       
       

     
    Sunday, March 26, 2006
     
     

    Password harvesting with AutoComplete and JavaScript

     
     

    The password textbox in a Web form is pretty much a joke. Sure the password is masked, but only visually. You can easily view the password with a small amount of JavaScript. For example, if you paste the following JavaScript into the browser URL bar when a password textbox is present you can see the password in clear text:

    javascript:var x=document.getElementsByTagName('input'); myVals='';for (var i=0;i<x.length;i++){z=x[i].getAttribute('type'); if(z=='password')myVals=myVals+'The password value is: '+x.item(i).value+('\n\n')};alert(myVals)

    Here is the script in action:

    Because passwords can be harvested in this manner the AutoComplete feature (the ability to save passwords) is very dangerous. If you were to use a computer in a kiosk environment or if your computer is compromised it would be possible for the attacker to review your browser history, navigate to the logon pages of those sites and extract your credentials through the AutoComplete feature and the above JavaScript.

    How can you avoid this issue?

    Developers
    From a development point of view the AutoComplete attribute should be set to "off". This can be done at the form or input level. This looks something like this at the FORM level:

    <FORM autocomplete = "off">

    and like this at the INPUT level:

    <INPUT type="password" autocomplete="off">

    Testers
    From a testing perspective it is important to make sure you have AutoComplete enabled in the browser so that you can visually catch the risk if it occurs:

    Internet Explorer 6 (Tools > Internet Options > Content tab > AutoComplete button):

    FireFox (Tools > Options > Privacy > Passwords):

    Don't rely on your browser settings though, somehow they magically change once in a while. Do a manual review of the HTML source to validate the attribute is set. Or use the following JavaScript in the URL bar to extract it out:

    Look for AutoComplete in INPUT tags:
    javascript:var x=document.getElementsByTagName('input'); myVals='';for (var i=0;i<x.length;i++){z=x[i].getAttribute('type');if(z=='text' || z=='password')myVals=myVals+'ID attribute: '+x.item(i).id+'\n'+'Name attribute: '+x.item(i).name+'\n'+'AutoComplete: '+x[i].getAttribute('autocomplete')+('\n\n')};alert(myVals);

    Look for AutoComplete in FORM tags:
    javascript: myVals2='';y=document.getElementsByTagName('form'); for (var n=0;n<y.length;n++){if (y.length!=null) myVals2=myVals2+'Form AutoComplete is: '+y[n].getAttribute('autocomplete')+ ('\n\n')};alert(myVals2);

         

    Users
    To protect yourself as a user you should UNCHECK the "form" checkbox in IE6 or in FireFox you should UNCHECK the "Remember Passwords" checkbox or use the Master Password feature (which will prompt a master password to be entered before the autocomplete occurs).

    Don't forget, as described in previous posts, you can add the above JavaScript as browser shortcuts so you can quickly access/run the scripts. Do this by right clicking the above JavaScript/link and select the "bookmark this link" or "add to favorites".

     
       
       
       

     
    Saturday, March 25, 2006
     
     

    Extend WATIR with WET

     
     

    WET (Watir Extension Toolkit) is an add-on to the Watir Framework to provide some enhanced features and functions. I haven't used WET myself since I've invested in SWEA instead, but the WET extension definitely offers some nice testing additions. Here is the description of WET from the WET site:

    WET sits on top of Watir. WET classes inherit from Watir and therefore adds features without removing support for any of the existing feature. The marquee of the enhanced features is the availability of support for the XML Object repository. The XML Object repository, is a way of representing objects on a DOM page in a XML based hierarchy. Besides the Object Repository WET offers many other features like:

    • Object identification using multiple parameters
    • Improved result logging
    • Checkpoints
    • Reliable handling of Popup dialogs
    • Rudimentary datatable support
    • Control of test execution using test definitions
     
       
       
       

     
    Friday, March 24, 2006
     
     

    How to automate Web site authentication that uses Microsoft InfoCard?

     
     

    Microsoft's up and coming InfoCard technology seems pretty cool. What is InfoCard? I can't sum it up better than Microsoft:

    "InfoCard" is the code name for a WinFX component that provides the consistent user experience required by the identity metasystem. It is specifically hardened against tampering and spoofing to protect the end user's digital identities and maintain end-user control.

    InfoCard will be supported from the browser which leads me to the question: How am I going to automate InfoCard when my site uses it for authentication?

    If you haven't seen InfoCard work then you probably are wondering what the big deal is. Well, what appears to be the big deal to me is that InfoCard exists in a different "space" than the Window's desktop. What I mean by "space" is that InfoCard loads and then the desktop along with all Windows applications are grayed out (like when you shut down Windows XP). I'm pretty sure your current browser automation tool is not going to know what to do with this when the browser calls InfoCard for Website authentication (e.g. click a button on the Web page that says something like "Logon using InfoCard").

    I'm sure we'll find a way to automate this little gem but it may require a little work and re-factoring of your automation tool. I'm kind of concerned with the statement of "It is specifically hardened against tampering and spoofing". I'm worried that this really means: "Impossible to automate". You might want to ask your automation tool vendor what their plan is for support of InfoCard.

    Ahh, the power of Microsoft BETA software! As a QA Engineer you should not only be test driving, you should also be thinking about compatibility and integration with the software you are currently testing to avoid possible issues in the future.

     
       
       
       

     
    Monday, March 13, 2006
     
     

    View textbox maxlength with one click

     
     

    I love playing around with the DOM and DHTML. I'm old school like that... Don't make fun of me, you recently started poking around with AJAX which makes you no better than me! :)

    I find it REALLY cool to be able to manipulate Web pages from the browser URL bar using JavaScript and the DOM. In the past I posted about displaying the site's cookies by simply clicking a Internet Explorer Favorites link that contained JavaScript to display the cookies. Now days, we have cool tools such as the IE Developer Tool Bar, FireFox Web Developer extension, and Site Inspector which all report the same data to you via the same method (DOM and DHTML).

    Here at Corillian, we have a test case for every form textbox to check that it has a defined maxlength.. We test for this to help with usability and most importantly to provide the first line of defense in form input. Sometimes something as simple as checking for textbox maxlength is not worth opening a tool and digging through it's data, but on the other hand digging through the HTML can suck too. How often do you find yourself not wanting to do either, but instead count the characters as you type them into the textbox to figure out what that maxlength is? Stop it, stop it, stop it! Stop wasting time! You can do this with JavaScript from the URL bar in the browser. For example, post the Javascript below into the URL bar of your browser and hit the enter key:

    javascript:var x=document.getElementsByTagName('input');myVals='';for (var i=0;i<x.length;i++){z=x[i].getAttribute('type');if(z=='text' || z=='password')myVals=myVals+'ID attribute: '+x.item(i).id+'\n'+'Name attribute: '+x.item(i).name+'\n'+'Maxlength: '+x[i].getAttribute('maxlength')+('\n\n')};alert(myVals)

    Bam! Nice eh? This script dumps the maxlength for each HTML input tag that has a type attribute equal to text or password to a JavaScript alert. Since some sites use the attribute of name and some use id I dump both to help you figure out what textbox the maxlength applies to.

    Add the script above to your Favorites by right clicking this link and selecting "Add to Favorites" in IE or "Bookmark this link" in FireFox. If you add it to your Links toolbar (IE) then it's only a click away on each page where you need to see the maxlength of textboxes. Look at you now, you one click tester! Happy testing.

     
       
       
       

     
    Saturday, March 11, 2006
     
     

    HTTPWatch vs. IEWatch

     
     

    Perusing through the latest MSDN Magazine today, I saw an article about another HTTP/HTTPS analysis tool called IEWatch. Tonight I've installed the tool and compared the features of IEWatch against my old favorite HTTPWatch (which I previously posted about here). With a brief run through of all the features I found a few cool points and features that HTTPWatch doesn't have:

    • Price. IEWatch is $89 (HTTPWatch is $249)
    • HTML Analysis
      • Grouping of all the links, images, scripts, and forms on the page. Clicking of the individual items gives details in the Explorer bar as well as highlights the object in the actual Web page.
      • Show HTML object in code. Each object can be right clicked on and the actual HTML code for that HTML object will be shown.
    • HTML spotlight: Click on HTML objects in the actual page to view the code for that object.

    Although these are pretty cool features I wouldn't switch from HTTPWatch. The reason being is that IEWatch is lacking key QA testing features that HTTPWatch has. These are important features that help with my Web application testing. The biggest items that stick out are the easy viewing of:

    • Cookies
    • Cache
    • Query string
    • Post data
    • Content stream

    If all you care about is viewing the HTTP headers and getting a WSYWIG view of a page then IEWatch is for you. If you want to see more details of the HTTP/HTTPS traffic and find all the defects that I describe in my prior post, then in my humble opinion I feel that HTTPWatch is a better fit. Who am I kidding? I'm not humble. Just pay a little more and get more with HTTPWatch. HTTPWatch simply wins the throw-down.

     
       
       
       

     
    Thursday, March 09, 2006
     
     

    FireFox release notes, change log, and download archive

     
     

    A while back I wrote about the Netscape product archive which proves to be helpful when you get an old and odd browser test request. FireFox used to make their browser archive easy to find back in the day when their list of browser versions was small. The other day I needed to revert from 1.5 back to 1.0.7 to do some regression testing on Intelligent Authentication. I couldn't find the archived versions from the menus and links on the FireFox.com site. Google searches eventually unearthed the "magic" link that pointed to the curb that the old versions had been kicked to. Going through the search and discover motions I found a few other valuable links that I bookmarked too. Here are all the links:

    FireFox download archive:
    http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

    FireFox release list:
    http://www.mozilla.com/firefox/releases/

    Unofficial change log archive:
    http://www.squarefree.com/burningedge/releases/

    Also, did you know that you can install multiple versions of FireFox on the same machine without any big issues (much like the old Netscape). You can do this by just installing into separate directories. While testing, keep in mind that the installations share the same cache. The only issue that I encountered was that when I had 1.5 installed and then installed 1.0, 1.0 overwrites all the 1.5 desktop and start menu icons with 1.0 icons even though the options are unselected in the installer. Double checking the version number through the Help menu ensures that you are testing in the version that you intend to (sometimes this can get confusing if you don't manage and separate the installs very well). I've been doing this with Netscape versions for years now and have never been burned; FireFox smells the same way (I found issues in 1.5 that weren't in 1.0, indicating the installs are truly independent). I currently have the following browsers installed on my test machine and do not experience conflicts while doing browser compatibility testing:

    • Internet Explorer 6
    • FireFox 1.0.7
    • FireFox 1.5
    • Netscape 4.79
    • Netscape 6.0
    • Netscape 7.2
    • Netscape 8.0
    • Opera 8.5

     

     
       
       
       

     
    Monday, March 06, 2006
     
     

    Configure FireFox preferences

     
      Do you want to tweak FireFox? No, I mean REALLY tweak FireFox. You can get at all sorts of settings in FireFox by typing about:config in the URL bar. If you’re a registry tweaker then you’ll love this hidden feature. Make sure and backup first. Yeah right… like you backup your registry before you start playing around, why back up FireFox? Which files to backup you say? I’m not sure, it seems to contain all the values from the Pref.js plus a ton more. Doing searches on my hard drive for specific values like “browser.blink_allowed” yield no results. Beats me. Hack at you own risk!  
       
       
       

     
    Saturday, February 25, 2006
     
     

    Using HTTPWatch for Web application testing

     
     

    Are you developing or testing Web applications? If so, I'm pretty sure you've needed a way to look at the HTTP or HTTPS traffic flowing back forth between your Web browser and Server. Have I got the tool for you... For a couple of years now I've been using HTTPWatch (from Simtec) to peek into that HTTP world, on the fly, from Internet Explorer. HTTPWatch runs from within Internet Explorer's Explorer Bar putting it right at your finger tips while you surf, and for Web application testing it can't get any better than when the test tool is built into IE. HTTPWatch allows you to monitor and peruse:

    • Headers, Cookies and URLs
    • HTTP method (GET, POST, etc...)
    • Time taken to complete a request
    • Size of downloaded page, image or file
    • HTTP status codes or error codes if the request failed
    • Parameters sent in a query strings and POSTs
    • Network operations required, such as DNS lookup or socket connects
    • Whether the content was read from the browser cache or downloaded from the server
    • HTML content (rendered)
    • HTML stream (un-rendered/raw)

    You say: "Okay...Wow Brent, I can look at HTTP traffic, what's the big deal? How can this tool help with my testing?" Given the above feature list, you can and I do, find defects like:

    • 404s (small images, hidden pages in frames)
    • Unnecessary 302 redirects
    • Unnecessary page usage
    • Unnecessary page reloads
    • Necessary or unnecessary page and image caching
    • Confidential information in cookies
    • Confidential information in forms
    • Use of form queries instead of posts
    • Improper use of HTML encoding (header)

    As a Quality Assurance engineer testing Web sites this tool is valuable, easy to use, clean, and reliable. With that said, nothing is ever good enough for this QA engineer, I really would like to see the following enhancements:

    • Put it in a FireFox extension too
    • Provide proxy capability where a user can modify the content stream for sends or receives (I'd throw away my favorite proxy tool Paros for this capability)

    That aside, the tool does its intended job perfectly and I highly recommend it. You can download the "Basic Edition" for free but it only allows you to use it against a few, popular sites. If you intend to use it for testing you'll need to buy the "Professional Edition" at $249 for a single user license. The prices get better with larger license packages. $249 for a testing tool of this caliber is cheap. Don't cheat yourself with less powerful tools like ieHttpHeaders! Get HTTPWatch and GITt-R-DONE.

    Update 3/01/2006: Simon at Simtec told me that my suggested enhancments are on their HTTPWatch "To Do" list. Cool! It's nice to know that Simtec is a company that listens to their customers needs. 

     
       
       
       

     
    Thursday, February 09, 2006
     
     

    Internet Explorer shortcut keys (IE7 too)

     
     

    The Internet Explorer team posted a blog entry on the new Internet Explorer 7 shortcut keys. It's obvious they've put a lot of focus on making tabs easier to use (which is cool). If you're anything like me, you're in a Web browser nearly all day (most the time testing) and the quickest way to get around is with shortcut keys. As a gift to you my dear reader, I've compiled all the shortcut keys I could find for the various versions of Internet Explorer:

    Internet Explorer 7 shortcut keys:

    Tabs shortcut keys:

    To do the following Press this
    Open links in a new tab in the background Ctrl+Click
    Open links in a new tab in the foreground Ctrl+Shift+Click
    Open a new tab in the foreground Ctrl+T
    Switch between tabs Ctrl+Tab / Ctrl+Shift+Tab
    Close current tab (or current window when there are no open tabs) Ctrl+W
    Open a new tab in the foreground from the address bar Alt+Enter
    Switch to the n'th tab Ctrl+n (n can be 1-8)
    Switch to the last tab Ctrl+9
    Close other tabs Ctrl+Alt+F4
    Open quick tabs Ctrl+Q

    Zoom shortcut keys:

    To do the following Press this
    Increase zoom (+ 10%) Ctrl+(+)
    Decrease zoom (-10%) Ctrl+(-)
    Original size (100% zoom)* Ctrl+0

    Search shortcut keys:

    To do the following Press this
    Go to the Toolbar Search Box Ctrl+E
    Open your search query in a new tab Alt+Enter
    Bring down the search provider menu Ctrl+Down Arrow

    Favorites Center shortcut keys:

    To do the following Press this
    Open Favorites Center to your favorites Ctrl+I
    Open Favorites Center to your history Ctrl+H
    Open Favorites Center to your feeds Ctrl+J

    Even with all these cool keyboard hotkeys we've introduced a few helpful shortcuts for mouse users as well.

    To do the following with a mouse Press this
    Open a link in a background tab Middle mouse button
    Close a tab Middle mouse button on the tab
    Open a new tab Double click on empty tab band space
    Zoom the page in/out 10% Ctrl+Mouse wheel Up/Down

    Internet Explorer 5.5 and 6.0 shortcut keys:

    To view and explore Web pages with shortcut keys:

    To do the following Press this
    Open your favorites in a folder window Shift+Click on the "Organize Favorites"
    menu item
    Change the text size Ctrl+Mouse wheel Up/Down
    In the History or Favorites boxes, open multiple folders CTRL+click
    Open the History box CTRL+H
    Open the Favorites box CTRL+I
    Open the Search box CTRL+E
    Activate a selected link ENTER

    Print the current page or active frame

    CTRL+P
    Save the current page CTRL+S
    Close the current window CTRL+W
    Open a new window CTRL+N
    Go to a new location CTRL+O or CTRL+L
    Display Internet Explorer Help or to display context Help about an item in a dialog box F1
    Toggle between full-screen and other views in the browser F11
    Move forward through the items on a Web page, the Address box, or the Links box TAB
    Move through the items on a Web page, the Address box, or the Links box SHIFT+TAB
    Go to your Home page ALT+HOME
    Go to the next page ALT+RIGHT ARROW
    Go to the previous page ALT+LEFT ARROW or BACKSPACE
    Display a shortcut menu for a link SHIFT+F10
    Move forward between frames CTRL+TAB or F6
    Move back between frames SHIFT+CTRL+TAB
    Scroll toward the beginning of a document UP ARROW
    Scroll toward the end of a document DOWN ARROW
    Scroll toward the beginning of a
    document in larger increments
    PAGE UP
    Scroll toward the end of a document in larger increments PAGE DOWN
    Move to the beginning of a document HOME
    Move to the end of a document END
    Find on this page CTRL+F
    Refresh the current Web page F5 or CTRL+R
    Refresh the current Web page, even if the time stamp for the Web version and your locally stored version are the same CTRL+F5
    Stop downloading a page ESC

    To Print Preview Web pages with shortcut keys:

    To do the following Press this
    Close Print Preview ALT+C
    Display a list of zoom percentages ALT+Z
    Zoom in ALT+PLUS
    Zoom out ALT+MINUS
    Display the last page to be printed ALT+END
    Display the next page to be printed ALT+RIGHT ARROW
    Type the number of the page that you
    want displayed
    ALT+A
    Display the previous page to be printed ALT+LEFT ARROW
    Display the first page to be printed ALT+HOME
    Change paper, headers and footers,
    orientation, and margins for this page

    ALT+U

    Set printing options and print the page ALT+P

    To use the Address box with shortcut keys:

    To do the following Press this
    Move back through the list of AutoComplete matches DOWN ARROW
    Move forward through the list of AutoComplete matches UP ARROW
    Add "www." to the beginning and ".com" to the end of the text that you type in the Address box CTRL+ENTER
    When in the Address box, move the cursor right to the next logical break in the address (period or slash) CTRL+RIGHT ARROW
    When in the Address box, move the cursor left to the next logical break in the address (period or slash) CTRL+LEFT ARROW
    Display a list of addresses that you have typed F4

    To work with Favorites by using shortcut keys:

    To do the following Press this
    Move selected item down in the Favorites list in the Organize Favorites dialog box ALT+DOWN ARROW
    Move selected item up in the Favorites list in the Organize Favorites dialog box ALT+UP ARROW
    Add the current page to your favorites CTRL+D
    Open the Organize Favorites dialog box CTRL+B

    To edit with shortcut keys:

    To do the following Press this
    Remove the selected items and copy them to the Clipboard CTRL+X
    Select all items on the current Web page CTRL+A
    Insert the contents of the Clipboard at the selected location CTRL+V
    Copy the selected items to the Clipboard CTRL+C

    Internet Explorer 5 keyboard shortcuts can be found here.

    Internet Explorer 4 keyboard shortcuts can be found here.

     
       
       
       

     
    Tuesday, January 31, 2006
     
     

    IE7 Beta 2 Preview available to the public

     
     

    Microsoft just released Internet Explorer Beta 2 Preview to the public. "What's a beta preview? It's a release for everyone involved in making the Internet work."

    The IE7 team is asking developers to test their sites. I'm assuming that this means that all the new rendering enhancements and features are in place, even though I can't find any reference to list of those types of changes. Testers, get your browser compatibility testing shoes on! Give your site a whirl in IE 7! How does it look? I'm afraid to look...Let the defect input begin.

    You can get technology IE7 technology overview here.

     
       
       
       

     
    Sunday, January 22, 2006
     
     

    FireFox adds Ping attribute to the Anchor tag

     
     

    It appears that FireFox 1.6 will have an additional attribute added to the Anchor tag called "Ping". This feature will let the browser send a notification ping to the URL specified for the Ping attribute. The intent of the attribute is to improve page load performance and provide sites a mechanism for link tracking.

    I don't know about you, but when I put my evil QA hat on I'm thinking that this could be a nice little feature that could gain me more pings/hits to my site. If I set the ping attribute to qainsight.net for every link I put on my page, I could get an extra hit for link clicked; more hits equals more Google Adsense revenue... Okay, the hat is off now, the evil Brent is gone (I won't be doing that).

    I haven't installed FireFox 1.6 to test this but I'm imagining my evil code would look something like this:

    <a href="http://weblogs.mozillazine.org/darin/archives/009594.html" ping="http://qainsight.net">Link to Fried Fish</a>

    Can you think of any other exploits?

     
       
       
       

     
    Thursday, January 19, 2006
     
     

    Jump from FireFox to IE with the plugin FireFoxView

     
     

    Many of us have seen the FireFox plugin that allows you to view your FireFox page in Internet Explorer (IE View Lite). Now you can do the opposite with FireFoxView written by Alex Sirota. This FireFox plugin installs context menus for Internet Explorer and allows you to quickly jump from IE to FireFox (Yes, you install the FireFox plugin to get the functionality in IE). This can be done in Internet Explorer by a right mouse click on any page and choosing the context menu item "View This Page in FireFox" or by right mouse clicking a link and choosing the context menu item "Open Link Target In FireFox". Needless to say, this quick link can be very convenient when testing browser comparability. For example, if you find an issue in IE you can quickly jump to that page in FireFox to see if it exists there too!

    Beware, as noted by Alex:
    "FirefoxView isn't compatible with Norton Antivirus 2004 and older with script blocking enabled. Important: The extension uses a simple ActiveX command to launch Firefox. The full source code is open as part of the extension. Apparently, Norton Antivirus (versions prior to NAV 2005) sometimes detects this as a malicious script. I can assure you there is nothing malicious in FirefoxView. Please check your Norton Antivirus script blocking settings if you want to use FirefoxView."

     
       
       
       

     
    Sunday, January 15, 2006
     
     

    IE 7 features thanks to FireFox

     
     

    I can't help but laugh to myself every time I see a new Internet Explorer 7 feature that FireFox already has. The last blog entry from the IE Team talks about their new IE 7 feature "Delete Browsing History" and how it's "coming to a computer near you very shortly". Actually, it's already on my computer in a handsome little browser called FireFox. Check out the similarity/copy. It pretty sickening how Microsoft doesn't listen to it's user's requests but instead the competition. I guess the bright side for Microsoft is that they got free usability testing by FireFox. The downside is that if they keep doing this they're going to lose more market share.

    What's in Internet Explorer 8 Microsoft? What's that? The same things that are in FireFox 2.0? Heh. Imagine that.

     
       
       
       

     
    Friday, January 13, 2006
     
     

    Show browser cookie details from your Favorites

     
     

    A couple of years ago my fellow co-worker Meg Poehler showed the QA department how to view the browser cookie in a JavaScript Alert using JavaScript from the browser URL bar:

    In the URL bar type: javascript:alert(document.cookie.split(';').join('\n'))

    This is a great Web testing asset when you take it one step farther by adding it the "Links" toolbar in Internet Explorer:

    1. Navigate to any URL
    2. Drag the URL icon to the IE "Links" toolbar
    3. Right mouse click the IE Link and select "Properties"
    4. In the "General" tab change the description text to "Show Cookie"
    5. In the "Web Document" tab change the URL to: javascript:alert(document.cookie.split(';').join('\n'))

    Now, when you're testing a site and need to know what the cookie(s) contain you can now quickly click the link to view the cookie(s).

     
       
       
       

     
    Tuesday, January 10, 2006
     
     

    Netscape Product Archive

     
     

    Hey there browser compatibility tester! Why do you look so down? What? Your customer made the absurd request to test their new Web site with Netscape 4.03 on Unix? Wow, that's odd. I bet you're down because you don't know where to find that download... No worries my friend, Netscape archives their products and has them available for download to the public (well most of them, there are the products that they pull off the Web the day after release because of BIG defects). The root of their public FTP is at: ftp://ftp.netscape.com./pub/ or http://ftp.netscape.com./pub/ (both accessible from your browser). You can find Netscape browsers as old as 3.04 and new as 8.0.3.3.

    Netscape 3.04 - 4.8 can be found in the /communicator directory: http://ftp.netscape.com./pub/communicator/
    ("Communicator" is not a browser name it is a suite of applications, much like MS Office. "Navigator" is the browser that comes within the suite).

    Netscape 6.0 - 6.2.3 can be found in the /netscape6 directory: http://ftp.netscape.com./pub/netscape6/

    Netscape 7.0 - 7.2 can be found in the /netscape7 directory: http://ftp.netscape.com./pub/netscape7/

    Netscape 8.0 - 8.0.3.3 can be found in the /netscape8 directory: http://ftp.netscape.com./pub/netscape8/

    It's all out there, all the available languages, on all the available operating systems. Happy downloading and even happier testing! Can you say "JavaScript errors"?

     
       
       
       

     
    Sunday, January 08, 2006
     
     

    JavaScript injection to change form values

     
     

    Back in the day, before I started using proxies to bypass Web form validation (Achilles, Paros, Fiddler), I used to use the tool Paessler Site Inspector to help me bypass some types of form validation (one of Corillian QA's many security tests). Site Inspector uses JavaScript to access the DOM and allow you change the values. Simply put, the tool allowed you to do a JavaScript injection attack. A simple thing to do but Site Inspector made it simpler by wrapping a pretty UI around it. An article I found when perusing through the latest 2600: Hacker Quarterly at Barnes and Noble the other day reminded how truly easy this was to do without a tool. Provided below is a simple example of a JavaScript injection attack:

    Consider the following text field in a balance transfer form:

    <input name="amount" type="text" maxlength="3">

    Let's say this form has a $999 transfer limit controlled by the HTML maxlength property set to 3 (yes, it's cheesy & foolish validation).

    From the browser URL bar we can easily bypass this check by using the DOM through JavaScript to change the amount value:

    Example 1 (using form name and form textbox element name):
    javascript:document.forms['transfer'].elements['amount'].value = '10000'

    Example 2 (using the index number of the form and element arrays):
    javascript:document.forms[0].elements[0].value = '10000'

    You'll get a JavaScript error if your syntax is incorrect or are attempting to access an object that doesn't exist. If you have no error you can double check that the value actually stuck by displaying it in a JavaScript alert. You can do this by typing the following in the browser URL bar:

    javascript:alert(document.forms[0].elements[0].value)

    The expected result of the test case would be that even though you could do this JavaScript injection attack at the UI, the duplicated server side validation would catch and stop the attack. If it isn't stopped on the server side then you have yourself a serious defect!

    Happy testing! I'll talk about bypassing validation with a proxy another day...

     
       
       
       

     
    Friday, December 23, 2005
     
     

    Tim Berners-Lee blog and the 1st Web browser

     
     

    The creator of the internet Tim Berners-Lee has started his own blog. In his first entry he talks about the first Web browser WorldWideWeb later to be renamed as Nexus. The post provides a link to a short tutorial of the browser.

     
       
       
       

     
    Tuesday, December 20, 2005
     
     

    Did you forget something? Viewing JavaScript errors in the browser

     
     

    Are you or your test team missing JavaScript errors while testing Web applications? Now days, the errors aren't so in your face like they used to be. You have to know where to look for them. If I had a quarter for every time I had to ask a tester who was testing browser compatibility on Netscape or FireFox "Where's your JavaScript console?" I'd have....well at least a few dollars. When the question was asked, sometimes the reply would be "How do I get to that"? Ouch...Uhm, yeah, could you retest that? Sometimes what I consider the basics I guess aren't so basic. I guess this is a perfect training opportunity for me. Here's how you do it my friends:

    How to view Javascript errors in Internet Explorer 7
    By default the popup window with script errors do not display in IE. In order to receive the actual error (when it occurs) you'll need to enable the following setting: Tools > Internet Options > Advanced > Browsing: Display a notification about every script error

    How to view Javascript errors in Internet Explorer 6
    By default the popup window with script errors do not display in IE. In order to receive the actual error (when it occurs) you'll need to enable the following setting: Tools > Internet Options > Advanced > Browsing: Display a notification about every script error

    With or without this option selected you'll always receive an error icon in the bottom-left of the browser window. Double clicking the error icon will display the error window. The icon can be easy to miss though. So IMHO you should enable the "Display a notification about every script error" setting to avoid missing errors.

    How to view Javascript errors in FireFox 1.x and Netscape 8.x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be viewed two ways:
    1. Type the text "JavaScript:" in the address bar and press enter.
    2. Navigate to Tools > JavaScript Console

    How to view Javascript errors in FireFox 2,x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be viewed two ways:
    1. Type the text "JavaScript:" in the address bar and press enter.
    2. Navigate to Tools > Error Console

    How to view Javascript errors in Netscape 4.x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be done by:
    1. Type the text "JavaScript:" in the address bar and press enter.

    How to view Javascript errors in Netscape 6.x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be viewed two ways
    1. Type the text "JavaScript:" in the address bar and press enter.
    2. Tasks > Tools > JavaScript Console

    How to view Javascript errors in Netscape 7.x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be viewed two ways
    1. Type the text "JavaScript:" in the address bar and press enter.
    2. Tools > Web Development > JavaScript Console

    How to view Javascript errors in Opera 8.x
    Script errors are hidden. In order to see the errors you'll need to use the JavaScript console. This can be done by:
    1. Tools > Advanced > JavaScript console

    With Netscape, FireFox and Opera I advise you to leave the JavaScript console open at all times and in plain view so that when the event/error occurs you know what page you were on and what you were doing to cause the error. This can be painful when running at a small resolution because you end up trying to fit two windows into the display. It doesn't rank high on the usability or convenience charts, but how often is testing convenient?! Wouldn't that be a nice testing enhancement if they integrated the console INTO the browser window?

    Get in the habit, keep that console open and find those JavaScript errors. No seriously, I'm sick of seeing them when I visit your site... ;)

     
       
       
       

     
    Monday, December 19, 2005
     
     

    Support for IE on the Mac ends this month

     
     

    Support for Internet Explorer on the Mac will end at the end of this year according to Mactopia:

    "Microsoft will end support for Internet Explorer for Mac on December 31st, 2005, and will provide no further security or performance updates.

    Additionally, as of January 31st, 2006, Internet Explorer for the Mac will no longer be available for download from Mactopia. It is recommended that Macintosh users migrate to more recent web browsing technologies such as Apple's Safari."

    It's interesting and nice of Microsoft to suggest the replacement of Safari. Seems to make sense, why would they promote their biggst threat FireFox?

    Over time the end of support will naturally cause the 2% IE/Mac share to migrate over to the other popular browsers available for the Mac... Safari and FireFox.

     
       
       
       

     
    Thursday, December 15, 2005
     
     

    RSS icon consistency between browsers

     
     

    We've got consistency between browsers! Internet Explorer 7 is going to use the same icon for RSS that FireFox does. Cool beans... Now that we have an icon that represents RSS in the two most used browsers in the world, maybe more of the world will catch onto this RSS thing.

    Even better yet, the IE team is claiming this won't be the last thing that IE and FireFox work together on. What's going on here?! Consistency and collaboration between enemies? It's like World War 1 on Christmas day; the guns are laid down and we have a truce. I'm having this huge urge to bust out singing "We are the world".

    Seriously, this is an exciting thing for usability.

     
       
       
       

     
    Tuesday, December 13, 2005
     
     

    Spoofing user agent strings with User Agent Switcher

     
     

    User Agent Switcher is an extension for FireFox, written by Chris Pederick that allows you to switch the user agent string in FireFox. This is handy for Web testing when you need to masquerade as another browser. For example, when testing Intelligent Authentication, in order to cause the secondary authentication to occur I come into the site (which looks at my user agent string) using FireFox 1.5, after I have some FireFox history built up with Intelligent Authentication I then change the user agent string using User Agent Switcher to Opera 5 which causes IA to ask for secondary authentication. Or another example of its use for testing is when browser sniffing code has been put in place and the result of the sniff is that you are redirected to a certain page or message. With User Agent Switcher you can simply change the user agent string to the desired browser and then masquerade as that browser in order to get to the intended page or message. Pretty spiffy eh? No need to install a ton of different browsers just to see one message. Note: when I say "page" I'm not implying that you are testing this page for browser compatibility; FireFox will still render the page.

    Within the extension the list of user agent strings can be modified (which is great because there are 100s of user agent strings). You can modify the list three different ways.

    1. Use the extension "Options" section to input an agent manually.
    2. Use the extensions "Options" section to import a list of agents from an XML file.
    3. Modify the Prefs.js file yourself found in your FireFox profile. The directory should look something like: C:\Documents and Settings\UserName\Application Data\Mozilla\Firefox\Profiles\ogrevxiy.default

    User Agent Switcher installs with only a few user agents. This didn't cut it for my testing, so I created this XML file to extend the user agents.

    It's a great FireFox extension that has real value for Web application testing. Give it a try!

     
       
       
       

     
    Monday, December 12, 2005
     
     

    Secure or not secure? That is the question!

     
     

    Today Blake Ross points me off to an article about how much more secure FireFox is than Internet Explorer (here):

    "Without question, Firefox should be your Web browser. Firefox is safer and more secure, for a start. A Web browser is one of the many doors and windows that viruses and other malicious software exploit to gain access to your PC, which is why security is an intimate part of Firefox's underlying architecture.

    The world should switch to Firefox for its security features, but you'll want to switch for all of its creature-comforts."

    But then I flip over to BetaNews and see this:

    "Proof of concept exploit code for an unpatched security flaw in the newly released Firefox 1.5 was publicly posted Wednesday by Packetstorm Security . The problem involves Firefox's history database, which cannot handle extremely long page topics. A malicious Web page could cause a buffer overflow that crashes Firefox each time it is started."

    I'm so confused... :) The propaganda is really getting annoying. It's obviously helping the FireFox numbers though. Don't get me wrong, I love FireFox, I'm just really tired of the "FireFox is more Secure" marketing.

    "There is no security on this earth. Only opportunity." (Douglas MacArthur).

     
       
       
       

     
    Saturday, December 10, 2005
     
     

    Productivity Tool: Roboform

     
     
    Testing Web sites all day that require credentials can get really annoying (user: test, password: password). Over the course of the day a tester can achieve a good 100 logons easy. (100 logons) x (5 seconds) = 8.33 minutes a day, (8.33 minutes) x (5 days) = 41.66 minutes a week. You can get those 41 minutes a week back by using the tool RoboForm!

    RoboForm provides automated logons from your Web browser toolbar (Internet Explorer, FireFox, & Netscape) and makes logging in effortless (1 click). As a tester it also saves you a lot of time by auto-filling forms for you; this is really nice when you don't actually care about testing the form but the pages that follow the form. I even use RoboForm at home to store all my site credentials. Sounds a bit insecure right? It's not insecure, the credentials are encrypted on the disk, require a master password to access, and the way the auto-login feature works it will actually prevent you from being phished.

    In a nutshell, the main features include:

    • AutoSave passwords in browser.
    • AutoFill passwords to login form.
    • Click Login button for you.
    • Fill personal info into online forms.
    • Save offline passwords & notes.
    • Generate Secure Random Passwords.
    • Encrypt passwords and personal data using AES, Blowfish, RC6, 3-DES or 1-DES algorithms.
    • All personal info is stored on your computer only.
    • Take RoboForm with you on USB disk for ultimate portability.
    • Sync your passwords and notes to Palm or Pocket PC .
    • Backup & Restore , Print your passwords.
    • It is well-behaved : NO ADWARE , NO SPYWARE .
    • Works under Windows as an add-on to IE-based browsers .
    • Works with Netscape, Mozilla, Firefox under Windows.

    Download RoboForm here. "It's free to try, $29.99 to buy". Some features are disabled after 30 days (it will limit the number of Passcards you save).

    Also, if you're interested in keeping your credentials stored on a USB drive instead of the disk you should take a look at Pass2Go (Portable RoboForm).

     
       
       
       

     
    Thursday, December 08, 2005
     
     

    Browser face-off with Internet Explorer 7, FireFox 1.5, & Opera 9

     
     

    PCWorld has done a browser face-off between Internet Explorer 7 Beta 1, Firefox 1.5 Release Candidate 1, and Opera 9 Preview 1.

    In a nutshell, they have recognized the changes as:

    Internet Explorer 7: Tabs, RSS, phishing support, integrated search, easy method to clear personal data, security

    FireFox 1.5: Auto-update

    Opera 9: No more ads in the free browser and support for widgets.

    PCWorld is making the changes sound so minimal and boring. Internet Explorer, FireFox and Opera have done so much more... We've got a lot of cool stuff in these new browsers!

    See the unofficial comprehensive FireFox 1.5 changes here.
    See the Internet Explorer 7 technology overview here.
    See the Opera 9 changes here.

    Let the browser wars begin, this should be much more interesting than the war of the 90's. Can we get IE usage down to 60%? Whose side are you on? Before you pick sides you better take a look at Flock too.