#Bug Magnet
Exploratory testing assistant for Chrome and Firefox. Adds common problematic values and edge cases to the context menu (right-click) for editable elements, so you can keep them handy and access them easily during exploratory testing sessions.
##Features
- Convenient access to common boundaries and edge cases for exploratory testing
- Extend it with your own config files easily
- Works on input fields, text areas, content editable DIVs
- Works on multi-frame pages, but only if they are from the same domain
- Only works in Chrome and Firefox
- Tiny overhead per page (<1k), no 3rd party library dependencies, completely passive, so it does not interfere with your web app execution in any way
##Usage
The easiest way to install the extension is from the Chrome Web store or Addons for Firefox. After installation, just right-click on any editable item on the page and you'll see a Bug Magnet submenu. Click an item there, and it will be inserted into the editable field.
Alternatively, you can load the extension from the source files on a local disk.
##Customising
The easiest way to customise BugMagnet is to add your own config files to it. Just click on the Configure BugMagnet option in the context menu, then select additional files to load. Some example files can be found in the extras folder.
The configuration format is very simple:
- a hash object property is a sub-menu
- a String property is a menu item. The property name is used as a menu item label and the value is inserted into the text field on click.
- an Array property is a sub-menu, allowing you to quickly add a list of Strings without a special label (the element values are used both as menu labels and as text to insert).
Alternatively, if you'd like to distribute a different configuration to a larger group without people individually having to load items, add your own values to the main config file config.json and rebuild the tension (see section Running from a local setup) below.
##Questions, suggestions
- Twitter: @gojkoadzic (Original Concept; Chrome Extension)
- Twitter: @bbbco (Firefox Addon)
##Resources for more info
- E-mail address test cases
- Falsehoods Programmers Believe About Names
- Elisabeth Hendrickson's test heuristics cheat sheet
- Skype crashes — and won't stop crashing — if you send it this message
- Troy Hunt - How I got XSS’d by my ad network
##Contributing and extending code
###Setting up the development environment
Install node js and grunt CLI if not already installed. See gruntjs.com for more information.
Install project dependencies using
npm install
###Chrome Extension
####Running from a local setup
Run the following grunt command to copy and assemble the extension
grunt package-chrome
Then load the pack/chrome folder in Chrome as an unpacked extension.
###Running tests
Run tests from the command line using
grunt test-chrome
####Running from a local setup
Run the following grunt command to copy and assemble the add-on
grunt package-firefox
Then drag the *.xpi file created inside the **pack/firefox directory to your Firefox window to install the addon extension.
###Running tests
Run tests from the command line using
grunt test-firefox
##Icon credit
Magnet icon from Woothemes Ultimate Icon Set by Nishan Sothilingam