Testing

Interested in testing BleachBit to ensure high-quality releases? Follow this guide.

Skills

People with various levels of technical knowledge can help test BleachBit. Though not necessary, it helpful to know any of these skills: command line use, examining user profile directories, XML, and Python.

Coverage

Ideally all volunteer testers would always tests all parts of BleachBit on all platforms. Complete test coverage is unrealistic, so test at your own pace. Focus on testing the items noted for the latest beta, and then test as many items as possible on this page. If you don't test everything, focus on different tests rather than repeating tests you already completed.

Testing environment

Ideally you would be testing the latest, bleeding-edge code from Git. Otherwise, test the latest beta or latest stable release.

Testing is needed on all supported platforms with latest versions of applications. In some cases it helps to test old versions of software, so start with FileHippo and the Browser Archive.

Test with popular antivirus/security software such as Norton, AVG, McAfee, Avast, and Bit Defender. (Sometimes antivirus software has false positives which cause errors in BleachBit.)

To avoid potentially damaging your system and to test additional platforms, consider testing in a virtual machine such as VirtualBox, but to maintain the authenticity of the test, you may want to copy your user profile (all the settings for all your software) from your real machine to the test machine. Also, use VirtualBox's snapshot feature to quickly roll back changes (to basically undelete any changes BleachBit made).

Installation

For Microsoft Windows:

  • If a previous installation is in place, the new installation will guide you through uninstalling it before you can install the new version.
  • Uninstalling will remove any shortcuts created by the installer in the start menu, desktop, quick launch menu, and startup folder.

Startup

For Microsoft Windows:

  • If running Windows Vista or later, starting BleachBit will immediately show the UAC prompt. Whether you accept or decline the UAC, BleachBit will start (with or without administrator privileges). When BleachBit starts, click Help - About - System Information and verify IsUserAnAdmin is False or True (depending whether you accepted or denied the UAC) .
  • If running Windows Vista or later, right click on the BleachBit shortcut and left click 'Run as Administrator.' When BleachBit starts, click Help - About - System Information and verify IsUserAnAdmin is True.

Linux:

  • Start BleachBit with all these combinations: as a normal user, as root (logged in as root), with sudo, with gksu, with consolehelper, with the command line, and with the applications menu (GUI).
  • If running BleachBit with sudo, any new files and directories created in ~/.config/bleachbit should be owned by the non-root user. To test this, rename or delete the configuration and run under sudo.

Localization

BleachBit is translated to many languages. Testing should include:

  • When starting, BleachBit automatically recognizes the preferred language set in the operating system. In Linux, this is set by the LANG environment variable. In Windows,open the Control Panel, click on Regionalization, choose your language under Standards and Formats.
  • Spelling and grammar are correct.
  • Phrases are translated in the correct context. For example, the single English word 'Delete' can be translated various ways to Italian depending whether it is in the menu or the BleachBit log, and it is not correct to use the same translation for both.
  • The translation is accurate: the meaning of words and phrases are the same as in English.
  • Words are used consistently. For example, in English directory and folder mean the same thing.
  • Appearance is normal. (For example, BleachBit 0.7.1 added line wrapping to the preferences dialog, so it wouldn't stretch too wide in some non-English languages.)
  • In Linux, test an invalid local like this: LANG=notreal bleachbit
  • In Linux, test non-Unicode local like this: LANG=en_US bleachbit You may change en_US but don't add UTF-8 to the end. BleachBit 0.7.1 fixed a bug when the display was not Unicode and a filename had invalid encoding.

Preferences

Linux: The first time BleachBit is run, it should automatically select your language and English. Check in Preferences - Languages. To simulate running BleachBit for the first time, delete or rename ~/.config/bleachbit.

Delete

Clicking the delete button on the toolbar should always show a confirmation, and the default button on the confirmation dialog should be cancel.

General testing guidelines

After cleaning an application, run the application to make sure:

  • It still works correctly. (In BleachBit 0.6.0, cleaning Places in Firefox would cause Firefox not to save bookmarks.)
  • No unannounced changes were made.
  • All the requested changes were made. (BleachBit 0.7.1 does not delete stored passwords for Firefox 3.) See CleanerML documentation for advanced instructions on finding more files to clean.

Firefox

Always test Firefox because it is one of the most-used cleaners. After deleting the Places database, open Firefox, create a bookmark, exit Firefox, and verify the bookmark is still there.

Special cleaners

Special cleaners perform operations more advanced than simply deleting files. These cleaners include:

  • Wipe free disk space
  • Wipe memory and swap (Linux)
  • Clear URL history in Firefox
  • Clear OpenOffice.org history
  • Delete broken .desktop files
  • APT
  • Yum
  • Clipboard
  • Vacuuming Firefox, Liferea, Yum
  • Empty Windows recycle bin

Gnome recent documents list

Disable file overwriting, and use BleachBit to clear GNOME's recent documents list. Then log out of GNOME and log back in. Check the list is still cleared. (#407988 fixed in BleachBit 0.6.1)

Mark for deletion

On Windows, it's often necessary to mark a file for deletion because it is locked by a running process. Test this by cleaning the system temporary files and Internet Explorer.

Abort

During a long preview or a delete operation (such as localizations or free disk space), close the application window (the X in the corner). Then, verify the BleachBit process closes quickly (maximum of 5 seconds) using a tool such as top or Windows Task Manager.

Unit tests

If you are comfortable using the command line and are prepared to run BleachBit from source code, run the unit tests with this command (Linux):

python tests/TestAll.py

Or on Windows:

tests\TestAll.py

Normally the unit tests skip over any permanent changes to your system, but if you want to enable destructive tests (which make changes without any confirmation!) set the environment variable DESTRUCTIVE_TEST=T. Use with caution! Normally you would only enable destructive tests on a test machine such as a virtual machine. On Linux enable destructive tests like this:

export DESTRUCTIVE_TESTS=T

On Windows enable destructive tests with:

set DESTRUCTIVE_TESTS=T

Betas

The beta release notes contain helpful information for testers with instructions on what to do and the expected results:

Bugs list

Verify old bugs are still fixed by browsing closed bugs and old release notes on SourceForge and on Blogger.

Questions?

If you need help, ask in the forum.

Filing new bugs

If you believe you found a bug, please report it to the bug tracker. Follow the guidelines for filing good bug reports (the guidelines are at the bottom of the bug report form).