Data Loss with Themes in FireFox

 


Summary

Mozilla browsers, such as FireFox, allow users to customize the appearance of their browser by applying a theme to it. The theme changes the graphical interface by stylizing the buttons and color schemes. When the user applies a theme, however, all current pages that the browser is open to are lost. Any potentially important form information, web addresses, et cetera, are all lost.


Application Description

Mozilla's FireFox is an Internet browser available for Linux, MacOS, and Windows. At the time of writing this presentation, FireFox was still pre-1.0 (meaning that it was still a preview release for testing purposes).


Test Design

This example demonstrates the use of Scenario testing. In scenario testing, we create a hypothetical situation the program could be run through, and then we run through it ourselves based on that situation. This helps us to evaluate the program's real-world adaptibility, as well as help us to test many functions that are not frequently used or tested (or simply aren't tested thoroughly enough).

In this presentation, let's pretend we are business people working on some important documents online. We are filling in pages and pages of information, but halfway through our work, we decide (while none of the other employees are looking...) to have a little fun and change the theme on our browser. We have multiple windows and tabs open, but we assume that we can change themes and then continue working with no problems.

We are using Scenario testing to tackle FireFox's theme feature because we want to understand how themes will affect users during everyday use. Naturally, we can open the browser, change themes, and then decide whether or not they work correctly, but we want to know more than that. We want to verify that themes both work correctly and that they do not slow down or hinder work that is in progress. Of course many users will open the browser with the intention of changing themes, and therefore will not have important work open, but many users may stumble upon changing themes during a moment of boredom during an important project, and we want to ensure that those people will be able to return to their work exactly as they left it.


Performing the Test

  1. Open Mozilla FireFox.
  2. Now, let's simulate our important work. Open several windows, and in each window open several tabs. To simulate this to the full advantage of the Scenario testing mindset, we should actually go to a site with some important forms or data on the pages, and then we should run our test. For simplicity, these pictures, however, simply display Google:

    This window has three tabs open, all different pages with Google. Open a couple of windows like this one, and perhaps fill in some of the form fields, such as the Search field as seen in this picture.

  3. Now click on Tools->Themes to open the Theme Manager:

  4. The Theme Manager will open, displaying a list of themes. If you do not have more than one theme yet, you can get more themes by clicking on the 'Get More Themes' link in the bottom right of the Theme Manager:

  5. Choose a different theme, and click the 'Use Theme' button to switch themes:

  6. To return to our browser windows, close the Theme Manager by clicking the 'X' button in the top right-hand corner.

Results/Relevance

What did we discover? After closing the Theme Manager (or maybe you noticed it before that), we see that all of our browser windows now have blank pages, and that all of the tabs have lost their page information (what was in the forms and the page address). If we had had important work or forms open, all of that information would have been lost, and unless we knew what sites we had been on, we would have had difficulty finding them all again (or searching through the History and trying to figure out which ones we had been visiting).

We call this type of bug critical because it is a commonly used feature that results in data loss (and it is very likely that that data is important). This is a bug that we want to do more research on and find the extent of the damage.

Scenario testing helped us focus on a user situation that was motivating and realistic, which supports our case for reporting this bug.


Similar Tests/Additional Notes

Now that you know of some buggy areas, try looking over those areas to run more effective follow-up tests, such as some function testing or domain testing. Similarly, you could run some specification tests based off of documentation from the website or the Help contents.


Configuration Notes

Testing Mozilla's FireFox v0.9.2 on:


Created 04 August 2004 for the CSTER

All images and written material ©Copyright Sam Oswald 2004

This work is licensed under the Creative Commons Attribution-ShareAlike License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/2.0/
or send a letter to
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
USA.