Creating a Test Case

From FirebugWiki
Revision as of 02:08, 26 October 2011 by Sebastianz (Talk | contribs) (Added hint, that users should better provide files than just code)

Jump to: navigation, search
We need a simple page, that we can open in the browser and use for manual testing to work on an issue

General info

We can only work on issues, that we can reproduce. Therefore it is very important to have simple test cases for the bug you're seeing or the feature you are missing in Firebug.

A test case MUST include precise step by step instructions how to reproduce it and a description of what you expect to see.

Also, if your steps to reproduce require a file, then please provide that file instead of posting lines of code. This makes it a lot easier for other people to reproduce your test case.

If you provide a test case file, you should also provide the following additional information:

  • The issue number
  • The issue summary
  • Observed results (in case of bugs)
  • Contact information (so we can get back to you in case of questions)

Manual tests

How to create

To create a manual test case you can either provide a publicly accessible URL or create a specific a test case file.

Please note again, that it is essential to give clear steps to reproduce your issue.

Additional material like videos or offering RDP access to your computer might help in some cases, but the abovementioned info is preferred, since others should also be able to reproduce the problem by their own.

Test cases for enhancements

Also for test cases we want you to create a simple test case, so we are able to implement a feature/make a change as you imagine it.

So how can you provide a test case for something, that doesn't exist yet? Pretty simple: Like for bug descriptions you can create step by step instructions of how you imagine the changes.


You want a new option inside the Net Panel, that allows you to copy the file name of a request.

1. Open Firebug on this page
2. Enable and switch to the Net panel
3. Reload the page via F5
4. Right-click the request for "Creating_a_Test_Case"
   => The context menu for the request appears.
5. Click the menu item "Copy file name" inside the context menu (not existing yet)

=> The file name "Creating_a_Test_Case" should be copied to the clipboard


To help you with creating test cases we provide some templates. You can use one of the templates below:

To adjust these templates please follow the steps below:

  1. Replace "xxxx" by number of your issue
  2. Replace "Issue summary" by title of your issue
  3. Put inspectable elements, form fields etc. into the "content" section
  4. Add the exact steps to reproduce your issue under "Steps to reproduce"
  5. Describe the currently seen result under "Observed result"
  6. Describe what you would expect to see under "Expected result"
  7. Add your contact information
  8. Remove all template comments


There are already some examples, which can be used as reference:

Automated tests

For the creation of an automated test, which will be part of the FBTest suite you need at least two parts. An HTML file and a JavaScript file, which executes the test.

How to create

To create the HTML page for the automated test case please follow the steps for the manual tests. The only thing you do not need are observed results.

The automated (JavaScript based) test case should include the exact same steps as when manually executing the test case, i. e. instead of calling an internal Firebug function directly you should call the UI functions, that will call the internal function. So for example instead of calling the editNewAttribute() method for a specific node inside the HTML Panel you should programmatically open the context menu at it and choose the option "New Attribute...". FBTest already provides several APIs, which encapsulates such logic, like in this case the function FBTest.executeContextMenuCommand().


Two templates are available for automated tests:

You will have to adjust this template using the automated test API.


There are also some examples for how to create automated tests.

Also see some live examples: