BMO/UAT

From MozillaWiki
< BMO
Jump to: navigation, search

BMO UAT

AntiSpam

Provides various functions such as auto-closing accounts when comments are tagged as spam, blocking new account from being created from know disposable mail hosts and IP blocks, blocking of comments c

Testing

  1. Create a throwaway email address (or use a personal one)
  2. Add the domain for the email account to the list of blocked domains
  3. Attempt to create a new Bugzilla account and observer an error blocking the creation.
BmpConvert

Converts bmp attachment images to png

Testing

  1. Upload a bmp image as an attachment to a bug with mimetype image/bmp
  2. Image should be converted from bmp to png
BzAPI

Compatibility layer for users of the older BzAPI proxy system that was decommissioned. It allows clients to continue to work with minimal code change.

Testing

FlagTypeComment

When specific flag states are selected for specific flagtypes, a comment template is automatically added to the comment textarea. The user can then use the template to add additional information as a comm

Testing

  1. Configure a flagtype state to display a comment template when the state is selected using editflagtypes.cgi
  2. Enter a new bug (or update existing) that has the flagtype enabled for the product/component.
  3. Select the state and observe the text is displayed properly in the comment textarea.
GuidedBugEntry

The guided bug entry form is a simplified bug creation form for users without canfirm rights. Normally this is all new users and non-employees.

Testing

  1. Create or login to an account without canconfirm rights
  2. Go to enter_bug.cgi (New Bug)
  3. Choose Firefox product
  4. Enter a few keywords to perform search for duplicate bugs
  5. Choose "My issue is not listed"
  6. Enter summary, version, steps to reproduce, actual results, and expected results.
  7. Click "Submit Bug" and observe new bug being created in Firefox product.
MyDashboard

My Dashboard is a place where people can see recently updated bugs using some pre-canned queries or specific saved queries. Also they can see bugs with flags requested of them or flags they have requested

Testing

  1. Login to a valid Bugzilla account
  2. Click on "Search" in the header
  3. Add some search criteria that will bring up 1 or more bugs and click "Search"
  4. Save the search using search name "My Test"
  5. Go to userprefs.cgi
  6. Click "Saved Searches" on the right
  7. Click the checkbox in the "My Dashboard" column next to the "My Test" saved search.
  8. Click "Submit" to save the changes.
  9. Click on "My Dashboard" link in the page header to go to the dashboard.
  10. Select the "My Test" option from the "Choose query" drop down form element.
  11. Observe the same bug list should be displayed in the order of last updated.
OpenGraph

Adds Opengraph compatible meta headers to Bugzilla pages that allow nicely formatted content to be displayed in other sites when people post links to Bugzilla.

Testing

  • May be hard to test as you would need to link to a bug in the system under test from a forum such as Yammer or Facebook.
ProdCompSearch

This is used in several places throughout Bugzilla such as the enter bug pages, my dashboard, and describe components report. It allows a quick way to locate a product and component base on string searche

Testing

  1. Go to describecomponents.cgi
  2. Enter a string to search for a specific component such as Firefox
  3. Select a component from the list of matches displayed.
  4. Observe that the page displays the full description for the component and links to a list of open bugs.
Push

Allows for queing and pushing of specific bug data such as recent changes to external systems such ReviewBoard and TCL.

Testing

  • Difficult to test on a non-production system unless external test systems are pre-configured (TODO)
RestrictComments

Users in a group allowed to restrict comments on a bug can enable comment restriction per bug. If enabled on a bug, only users in a special restricted comments group can then add additional comments to the bug.

Testing

  1. Logged in as a user who is in the restrict_comments_enable_group group.
  2. Create new bug or access a current bug and enable restricted commenting.
  3. Log out and log in as a user who is not in the restrict_comments_group group.
  4. Observe error message when trying to add a comment as the unprivileged user.
TagNewUsers

This extension keeps track of number of comments made by a user as well when the user was added to Bugzilla. Using this information, other empowered users can see when a commenter is a *new* Bugzilla user

Testing

  1. Create a new user using the editusers.cgi admin UI.
  2. Log in as the new user and add a comment to an existing bug report.
  3. Log in as an empowered user and then look for the (New to Bugzilla) label next to the new user's comment.
UserProfile

The User Profile report displays useful data about a particular Bugzilla user. Data includes such counts as number of bugs filed, review requests, patches, and comments made,

Testing

  1. If first time ran, use extensions/UserProfile/bin/migrate.pl, otherwise use extensions/UserProfile/bin/update.pl.
  2. As a logged in user, cliick on a users name above a comment they have made.
  3. Choose 'Profile' from the list.
  4. View their profile information and observe that the counts are correct.
ZPushNotify

This extension adds bug ids and updated timestamps to a push_notify table that another script can use to push information to external systems. The script removes the entries once they are processed.

Testing

  • Difficult to test in a non-production environment (TODO)
Bitly

Allows searches to have a shortened URL that can be distributed easily

Testing

  1. Create a somewhat complicated search query and execute
  2. Click "Short URL" at bottom of results
  3. Select "Share a link to this search"
  4. Copy and paste the provided link into a new tab which should give simlar search results.
BugmailFilter
ComponentWatching

Users can watch entire products and/or specific components meaning that they will received change notifications as if they were cc'ed on the bugs.

Testing

  1. Log in as UserA, go to userprefs.cgi
  2. Select Component Watching
  3. Add a component to your watch list and click Submit
  4. Logged in as UserB, enter a new bug selecting the same component being watched by UserA.
  5. Verify that UserA received an email regarding the new bug filed (data/mailer.testfile)
EditComments

Users in the edit_comments_group can alter another user's comment content if necessary. Use cases are to remove sensitive information such as passwords, abusive language, etc.

Testing

  1. Using an account that is in the edit_comments_group, load a bug that has a previous comment.
  2. Verify that you can see the [edit] link to the top right of the comment to update (old non-bugmodal form for now)
  3. Click [edit]
  4. Click [unedit] to change the edit comment textarea back to read-only.
  5. Click [edit]
  6. Change the text in the edit comment textarea to something else.
  7. Click "Save Changes" for the bug form.
  8. Verify that there is now a history link that has 1 or more count next to it.
  9. Click [history] to display a page showing the comment's changes over time.
GitHubAuth

Allows for using a GitHub account for authentication for a user's Bugzilla account.

Testing

  • Difficult to test without configuration on GitHub side (TODO)
InlineHistory

This extension adds bug attributes changes inline with the comments of the bug report in the order they occurred. In the old days this information was on a separate page.

Testing

  • Viewing a bug report that has history of updates, observe that the changes appear properly interleaved with comments of the bug.
MozProjectReview
Needinfo

Needinfo makes it simpler to request more info from a user on a bug report such as the reporter, assignee, or any other account. It uses a special needinfo flag on the backend.

Testing

  1. As a logged in UserA, go to a current bug report and set needinfo requesting information from another UserB.
  2. Log in as UserB and add comment to the same bug.
  3. The needinfo flag should be cleared automatically.
OrangeFactor

Orange Factor provides is a tool for measuring the intermittent bugs in our trees while finding a quantitative method for measuring if we are improving or degrading over time. This extension displays a

Testing

  1. verify the logged in user has orange factor enabled in the user preferences
  2. set the intermittent-failure keyword in a bug report
  3. Observe the orange factor graph displayed in the standard show_bug.cgi form (not bugmodal).
ProductDashboard

The Product Dashboard is a page where metrics are displayed about a given product. Such as bugs per status, component, assignee, etc.

Testing

  1. Click "Product Dashboard" located in the header.
  2. Choose Firefox from the product drop down menu and click "Change"
  3. Observe that each of the tabbed pages displays current metrics for the Firefox product.
Review

This extension does several different duties. It provides a mechanism for specifying default reviewers based on product and component. The review list is presented to the flag requester as a list of sugge

Verify

  1. Number of requests for the current logged in user is properly displayed in the header
  2. You can add/remove suggested reviewers for a product and/or specific component
  3. The suggested reviewers are displayed when setting a review flag to ?
  4. One or more mentor values can be added/removed from a bug report.
SiteMapIndex

Generates sitemap.xml files for web crawlers to use instead of loading individual bug pages directly. Works for public bugs and include the last updated timestamp. The extension will update the robots.txt

Verify

  1. Robots.txt file is updated properly when checksetup.pl is executed
  2. Access page.cgi?id=sitemap/sitemap.xml and verify existence of data/SiteMapIndex/sitemap.xml
TrackingFlags
UserStory

User Story field is a special textarea that can be edited by users in the editbugs group. Changes to the field show up as simple text diffs in the bug activity table.

Verify

  1. The User Story field is visible and can be edited by an empowered user
  2. When making changes, text diffs are displayed in the bug activity log
BMO
BugModal

BugModal is an experimental user interface, currently for show_bug.cgi only. It is enabled by setting a user preference (experimental_ui) to on. Eventually, when it has feature parity with the stock show_bug.cgi, it will be enabled by default.

  • Go to user preferences for a Bugzilla user
  • Switch experimental UI to on and submit
  • Go to any bug report and observe that the bug is using the new user interface.
  • Clicking the different panel headers will expand or collapse them.
  • Clicking Edit will load all of the form fields so that changes can be made.
  • Some fields are hidden depending on if they are empty or not necessary to display.
  • Different menus allow for viewing history, skipping to last comment, hiding certain comments, etc.
ContributorEngagement
EditTable

Allows for simple editing of database tables. It allows extensions to specify which tables can be edited such as the Antispam extension.

Testing

  1. As admin user, go to the Administration page
  2. Choose "Domain Blocklist" from the AntiSpam section.
  3. Click "Add" at the bottom of the table to add a new value.
  4. Remove the new value by clicking the "X" at the end of a row.
FlagDefaultRequestee

This extension allows setting a default requestee for a specific flag type if the flag is requestable (?) and requesteeable. When a user sets a flag to '?' initially, it will populate the requestee field with the default requestee if one is defined.

Testing

  1. Create a new test flag that is requestable and requesteeable.
  2. Choose an existing Bugzilla user as the default requestee for the flag.
  3. Enable the flag for a product and optionally a component.
  4. File a new bug under the product chosen and set the test flag to ?
  5. Observe that the default requestee login is auto-populated into the requestee field.
  6. On the submitted bug, set a new test flag and observe that the requestee field is auto-populated as well.
Gravatar

This extension displays a gravatar image next to a commenters name in the bug view page. Gravatar images can be set for an email account at https://gravatar.com.

Testing

  1. Verify 'show gravatars' and 'show my gravatars' are enabled in userprefs.cgi for General Preferences.
  2. Set a gravatar image for your account at https://gravatar.com
  3. Leave a comment in a bug and verify your image is displayed next to your name for the new comment.
LastResolved

The Last Resolved Bugzilla field is auto-populated with a current timestamp when a bug transitions to the RESOLVED state. The end users do not manipulate the field directly.

Testing

  1. Go to query.cgi and load a list of RESOLVED bugs
  2. Click "Change Columns" at the bottom of the list and verify that "Last Resolved" is enabled in your right side column list.
  3. Reload the same query and view the Last Resolved timestamps in each row of the results.
MozReview

MozReview is a separate system, based on Reviewboard, used for performing code reviews for Firefox and other projects using VCS such as Hg and Git. Integration between MozReview and Bugzilla allow for using Bugzilla credentials on the MozReview system. Also some simple MozReview information can be displayed inline in the bug report if one or more attachments are linked to MozReview.

Testing

  1. Difficult to test on non-production instances due to required Reviewboard test instance (TODO)
Profanivore

Using regular expressions, profanity is replaced by **** in bug comments. Users with editbugs rights will still see the profanity or if the current user is the commentor.

Testing

  1. As a unprivileged user, add a bug comment containing profanity.
  2. As same user, verify the comment content it unchanged when the bug is reloaded
  3. As a different unprivileged user, verify that the content has had the profanity replaced with ****.
  4. As a user with editbugs rights, verify the profanity is present.
RequestNagger
SecureMail
Splinter

Splinter is an extension to Bugzilla that allows for commenting on attached patches in a structured format. A patch is displayed side by side and by clicking on a line of text, a comment box is added below the line. You can then comment on the patch in context as well as update the attachment's flags, such as review?, from the same interface.

Testing

  1. Attach a patch to an existing bug report or as part of a new bug.
  2. When attaching, set the review? flag.
  3. As another user, verify the 'Review' link is present next to the attachment and click it.
  4. Verify the patch is displayed properly in a colorized side by side view when clicking one of the file links at the top.
  5. Navigate from one file in the patch to another using the links at the top.
  6. Add one or more comments by clicking on a line of text from the patch and verify the comment textarea is displayed.
  7. Save the individual comments and verify they are displayed at the bottom on the Overview page.
  8. Change the review? flag to review+ or review- and submit the review.
  9. Look at the last comment on the patch's bug and verify the comment has the review comments properly displayed and that the attachment flag is set properly.
TypeSniffer

This extension uses magic to guess MIME types for data where the browser has told us it's application/octet-stream (probably because there's no file extension, or it's a text type with a non-.txt file extension).

Testing

  1. Attach binary file and set content type to auto-detect
  2. Verify proper content type is set for the attachment.
Voting

Voting allows users to be given a pot of votes which they can allocate to bugs, to indicate that they'd like them fixed. This allows developers to gauge user need for a particular enhancement or bugfix. By allowing bugs with a certain number of votes to automatically move from "UNCONFIRMED" to "CONFIRMED", users of the bug system can help high-priority bugs garner attention so they don't sit for a long time awaiting triage.

Testing

  1. Go to the admin page for a specific product such as bugzilla.mozilla.org. Administration -> Products -> Other -> bugzilla.mozilla.org
  2. Enable voting by using a number greater than 0 (such as 100) for 'Maximum votes per person' and for 'Maximum votes a person can put on a single bug' (normally 1).
  3. Submit changes to the product.
  4. Go to an existing bug for the product we just edited and verify that the (vote) link is visible in the Importance section.
  5. Click on (vote) which will take you to a page that allows for adding one or more votes from your pool of votes to the bug.
  6. The pages should show the bug in the list of bugs you have voted for already. Click the checkbox (if max per person == 1) or enter number of votes (if max per person > 1).
  7. Click "Change my votes" to save your vote(s) for the bug.
  8. Go back to the bug id you just voted for and verify that in the Importance section it now says 'with X vote including you (vote)' where X is the number of votes you used.