Deleting Form Information

 


Summary

When using forms, FireFox can store the information to save time re-entering information into the form. However, deleting information from FireFox's storage incorrectly removes the data (resulting in the loss of other data). In addition, the information that is deleted returns after restarting the browser.


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 Specification-based testing (or Spec-based testing). When Spec-based testing, the tester analyzes the program's performance based on what the specifications state.

For this presenation, we are looking at the specifications for removing saved form data in Mozilla FireFox. When a user types information into a form, such as a username and password on a login site, that information can be saved so that whenever the users starts typing in that username, FireFox will fill in the rest of the form. According to the specifications, we can remove that information that has been saved by selecting the user and pressing Shift-Delete inside the form. We will try entering a few users with very similar names into a login page, and then we will remove a couple (the use of similar names is only so that all of the names will appear easily). We expect that the correct users will be permanently removed.

Spec-based testing can be useful for determining the proper function of a program if the tester is unaware of how the program should perform. It is also useful to verify that the program and documentation match each other, such that users will be able to read the documentation to use the program correctly. However, keep in mind that documentation is often out of date or written by people who have not worked with the program directly.


Performing the Test

  1. Open Mozilla FireFox.
  2. Navigate to the Mozilla Login test page:

    We can use this page to type in a few usernames and passwords, and then verify that the form information was saved. Each time we type in a username and password combination, the they will be saved. Then, when we begin to type in the username letter, the the rest of the username and the password will automatically be filled. Since this is just a test page, we can make up the usernames and passwords without causing any problems.

  3. Let's login as our first "user", using the user name 'user1' and the password 'test':

  4. Press the 'Login' button to store the user information.
  5. The browser will ask if you would like the information to be saved. Press 'Yes' to store our new user and password:

  6. When the error page appears (simply because this is a test login prompt and not a real one), simply press your browser's Back button to return to the login page.
  7. Repeat steps 3,4,5, and 6 three more times, creating a 'user2', 'user3', and 'user4'.
  8. Close the browser.
  9. Return to the Mozilla Login test page.
  10. Type 'u' into the user box, and a drop-down list of all the users whose names start with "u" appears:

  11. Now, we want to delete one of the users. From the Help page, we learned that to do this. We select the user and press Shift-Delete. Use the arrow keys to select 'user2':

  12. Press Shift-Delete to remove 'user2':

    Instead of removing 'user2', the last user was removed.

  13. Close FireFox.
  14. Open FireFox and return to the Mozilla Login test page.
  15. Type 'u' into the user box to display all of the user's whose names start with "u".

Results/Relevance

When we had pressed Shift-Delete orginally we had thought that we had lost data we had not wanted to lose. Then, after exiting the program and returning, we found that none of our data had been lost. All of the users were still there, with their passwords intact. What this means is that, as testers, we just came across something great: 2 bugs in 1!

For security reasons, this bug is certainly an issue. Any user who deletes their form information so that other users could not access their data will be unaware that their user information is in fact still there. Secondly, when the user wants to delete some user information, they may be shocked to see other user information disappearing.

Specification-based testing is very useful for finding areas to test. By looking up a common feature like shortcut commands or help features, we see an entire list of components that we can then quickly and systematically test.


Similar Tests/Additional Notes

More information about the bug in this presentation can be found on Mozilla's Bugzilla site and FireFox's Smoke test site.

Reading the documentation, even if out of date, can often provide a fundamental (and extremely valuable) understanding of what a program does. If you do not have much experience with a program that you are required to test, try reading the documentation first. You most likely will find it much easier to navigate through the program's functions and components.


Configuration Notes

Testing Mozilla's FireFox v0.9.1 on:


Created 29 July 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.