Firefox's Old Registry Entries Are Not Cleaned Up After Installing a New Version

 


Summary

We are going to test the Mozilla Firefox installer using a risk catalog that describes the most common software installation problems. When a new version of Mozilla Firefox (Windows version) is downloaded and installed it replaces the files of the old version but does not remove the old registry keys that describe the software. As a result the menu in Add/Remove programs in the control panel contains an entry for each version that has been installed but they all refer to the files of the latest version.


Application Description

Mozilla Firefox is a web browser developed by mozilla.org. It can be used to read HTML documents online or on the local machine, check email, download files, and others. It has built in Tab browsing, pop-up blocking, image blocking and so on (Source: www.mozilla.org).

When Firefox is installed it writes the files it needs to a location specified by the user. It also writes information to the registry, so information about the application can be displayed in the Add/Remove menu of the control panel.

 


Test Design

In this example we are going to perform Risk Based Testing using bug taxonomies. Let's use a portion of the installer products risk catalog described in the risk based testing slides (www.testingeducation.org, slide 26):

– Wrong files installed

For our tests, we will go through the points in the catalog and verify that the application under test does not have any of the errors described.

These are some of the examples that we can come up with, while using this failure mode list:

  1. temporary files not cleaned up
  2. old files not cleaned up after upgrade
  3. correct file installed in the wrong place

Let's start with our test case for #2. The test cases for #1 and #3 can be found in the Similar Tests section.


Performing the Test

Let's start with #2 "Old files not cleaned up after upgrade."

  1. First, let's install a version of Firefox (0.9 in my case). Notice the address where we installed it.
  2.  

  3. The installation also adds a registry entry, so that the information about the application can be displayed in the control panel.
  4.  

  5. Now, lets get a newer version (1.0PR in my case) of Firefox and install it to the same directory (i.e. upgrade the current version). According to our test we have to make sure that the new files, directories, and registry entries replace the old ones. It looks like this is true at least for files and directories.

     

  6. However, the information in the control panel shows two versions of Firefox. This means that the new version was just added to the control panel instead of replacing the old one.
  7.  

    If we actually look in the registry, it shows that the new version was added but the entries for the old one were not removed.

     

  8. Let's see what happens if we manually remove the old version from the control panel by clicking on it and pressing Add/Remove. The application asks us if we want to remove v0.9.3 (the old version). Click OK.


Results/Relevance

The result is that our new version of Firefox is deleted. This is caused by the fact that even though there are two separate entries in the control panel, they both refer to the same files.

It is very likely that users will go through the Add/Remove menu to remove programs that they are not using anymore. They will see the entry for the old version of Firefox and they will probably think that it refers to the old files as well, but if they delete it, they will experience a very unpleasant surprise.

The goal of bug catalogs is to help us focus our thinking to a type of failure that is common for a specific area of the application. We probably could have found this bug with other testing techniques as well, but using a bug catalog was the easiest in this case because the test case that we generated from the catalog was specifically addressing the problem.


Similar Tests/Additional Notes

Let's try some of the other tests that we generated from our catalog:

"Temporary files not cleaned up "

 

It turns out that indeed after the installation the Windows temporary directory remains empty. It is possible that the application uses another directory for temporary files, but that would be another test.

 

"correct file installed in the wrong place"

Select a custom installation and then select a directory different than the default.

 

Now let's check the directory that we specified to make sure that the files are there.

 

The files are in the correct directory.


Configuration Notes

Testing mozilla.org's Firefox 1.0PR on:


Created 21 October 2004 for the CSTER

All images and written material ©Copyright Georgi Nikolov 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.