You are here: browser/composer front-end test cases > Test documentation for tabbed browser UI
Test Documentation for the Tabbed Browser UIMaintained by: Patty Mac
The Tabbed Browser is a way of viewing multiple web pages in a single Navigator window. Each Tabbed Browser -- sometimes referred to as just a tab -- in a given browser window is denoted in the Tabbed Browser toolbar, which appears beneath the Personal Toolbar.
Test coverage of the Tabbed Browser UI includes:
- Test this feature on Linux/unix, Win32 and Mac OS platforms.
- Usage and appearance of the Tabbed Browser.
- Tabbed Browser preferences (settings), located under Navigator > Tabbed Browser in the Preferences dialog.
- Toplevel menus
- Context menus in the page content area
- Context menus for the Tabbed Browser toolbar area
- Basic drag & drop.
However, test coverage of the Tabbed Browser does not include:
- Tabbed Browser usage from other applications (Mail & Newsgroups, Composer, etc.). As of this writing, this feature is only available in Navigator.
- Performance with or due to the Tabbed Browser UI.
- Keyboard navigation with the Tabbed Browser. This is covered more by the tabbing navigation QA document.
- Favicon (website icons, page icons) issues. This is covered, oddly, under Bookmarks QA.
- Page layout. Issues live under the Layout component.
- Any networking issues, which live under the Networking component[s].
- Issues that turn out to be related to history and not specific to tabs should go to the History: Session component.
- Issues that turn out to be related to the URLbar (the Location field in the Navigation Toolbar) and not specific to tabs should go to the URL Bar component.
The engineering spec, or task breakdown, rather, for this feature is athttp://mozilla.org/xpapps/MachVPlan/tabs_groups.html. The UI specification will be based on this and what currently exists in recent builds. However, such a formal UI spec isn't available yet.Bugs in Bugzilla are filed under the Tabbed Browser component of the Browser product. Current issues can be found by querying for open bugs in that component.Some meta/tracking bugs:
Some handy queries based on bugs in the Tabbed Browser component, sorted by severity:
- Open (New, Assigned, Reopened, Unconfirmed)
- Resolved Fixed
- Resolved otherwise (WorksForMe, Invalid, WontFix, Duplicate, Later, Remind, Moved)
- Acceptance tests (baseline functionality)
- Functional tests
- Stress, boundary, negative, etc. tests
- Ad hoc and regression testing
Acceptance testing (baseline functionality) will be based on the default settings Tabbed Browser UI, and basically cover the following tasks:
- Opening a new Tabbed Browser via:
- File > New Tab in Navigator
- Confirm that the various menu items pertaining to the Tabbed Browser
- Toplevel menu: File > New Tab in Navigator.
- Context menu in content area for a link should have a Open in New Tab item.
- Context menu for the Tabbed Browser toolbar should be accessible, when the toolbar exists. Running through these items would be part of functionality testing, not really acceptance level.
- Closing a Tabbed Browser, assuming there's more than one tab in the
- File > Close Tab (and Accel+W) should close the current tab.
- Click the 'X' on the right side of the Tabbed Browser toolbar to close the current tab.
- Basic drag and drop: Dragging a link from one Tabbed Browser to another should load that link in the other tab.
- Confirm that the page <title> appears (as well as the favicon) in the tab widget.
- Confirm that the page URL appears in the URL bar.
- Confirm that session history is unique to each tab:
- Have two tabs open.
- Surf around to different pages in both tabs.
- Check the Go menu for both tabs and confirm that the session history is as expected --unique to what you had visited for each Tabbed Browser.
- Secure sites:
- Confirm default settings --don't really need to test all these prefs
for just acceptance level testing (that's more functional level) --just
confirm the defaults. Go to the functional test outline for preferences.
- Open the Preferences dialog, and go to the Tabbed Browser subcategory under Navigator.
- As of this writing, these are the default settings:
- "Hide the tab bar [Tabbed Browser toolbar] when only one tab is open" is true (selected).
- "Load links in the background" is false (not selected).
- "Middle-click or Control-click of links in a web page will open a tab instead of another browser window" is false. Should say "Command-click" for Mac OS; see bug 106398.
- "Windows opened by the web page will open a tab instead of another browser window" is false.
- "Control+Enter [or Command+Return on Mac OS] in the URL bar will open a tab instead of another browser window" is false.
Functional tests are more thorough --however, they are not necessarily run all the time. The following outline should cover the more complex aspects of Tabbed Browser usage/UI. Of the following areas, context menus and the more commonly used prefs are likely to be tested more often. Feel free to send me email re: suggestions, additions or corrections!
As mentioned above, more thorough keyboard navigation for the Tabbed Browser is in the tabbing navigation QA page.
Ordering of tabs
[what order should tabs be opened and closed? eg, bugs 107848, 115234, 105722, 115669]
Basic context menu when there are two or more tabs in a window:
- New Tab: Opens a new tab in the current window.
- Reload Tab: Reloads the tab which the pointer is over --whether or not that tab is in the foreground or background.
- Reload All Tabs: Reloads all tabs in the current window.
- Close Tab: Closes the tab which the pointer is over --whether or not that tab is in the foreground or background.
- Close Other Tabs: Closes all tabs except the one the pointer is over --whether or not that tab is in the foreground or background.
When there's only one tab (with the toolbar enabled) open, there are only two available context menu items: New Tab and Reload Tab.More thorough drag & drop[check out bug 113934 for tests]URL bar and tab <title>[reloading.]Tabbed Browser preferences[explain what each setting does, known bugs. more deep fxnl testing would involve all combos/permutations.]Default settings are denoted in bold. Settings should take affect immediately after saving and dismissing the Preferences dialog.
- "Hide the tab bar [Tabbed Browser toolbar] when only one tab is open" is true (selected). When true, the Tabbed Browser toolbar only appears when there's two or more tabs. When false, the toolbar is always present.
- "Load links in the background" is false (not selected). When false, a new tab opened for a link --eg, selecting Open in New Tab from the link context menu-- will become the active (foreground) tab in the browser window. When true, new tabs that are opened will open in the background.
- "Middle-click or Control-click of links in a web page will open a
tab instead of another browser window" is false. By
default, middle-clicking or Control-clicking a link will open it in a
new browser window. When this is set to true, middle-click or
Control-click will instead open the link in a new tab in the current
browser window. Remember, however:
- On Linux/unix, middle-click is turned on by default. It's off by default on Win32, and broken on Mac OS.
- On the other hand, Control-clicking (Command-click on Mac OS) of links should work on all platforms.
- Less common:
- "Windows opened by the web page will open a tab instead of another browser window" is false. This has not yet been implemented, see bug 105547. In fact, it has been removed from the panel for the time being.
- "Middle-click or Control-click of bookmarks and personal toolbar items will open a tab instead of another browser window" is false . This has been removed from current builds, see bug 110540.
- "Control+Enter [or Command+Return on Mac OS] in the URL bar will open a tab instead of another browser window" is false. Buggy...
A good type of Tabbed Browser stress testing would involve opening many, many tabs in a given Navigator window. There's currently an issue where the scrollbar disappears if there are too many tabs --see bug 106927.Another boundary/stress condition is bug 107669, where the tab widget is sized poorly with large screen resolutions.
Ad hoc testing is covered by users in the Internet community, as well as casual use. Due to time constraints, regression testing will encompass:
- Verification of Resolved (Fixed ones get priority) bugs as they come in.
- Periodic verification (eg, milestone deadlines) of Big Issues to make sure they're still fixed. This would go hand in hand with the usual testing that occurs during those periods.
- Ad hoc testing with daily builds.