A Bugs Life is a web-based bug reporting and ticket management solution developed primarily for the Santa Clara University IT Department.
- Create User Accounts
- View Tickets reported per user
- Edit the details of a specified ticket
- Change the status of a ticket
- View all the available tickets
- View tickets in certain status categories
- Get a general overview of all tickets
A Bugs Life Requires a Javascript enabled browser and Python 2.7 to run
1). Clone the repository from https://github.com/Pearce-Ropion/a-bugs-life
2). Follow the following commands:
$ git clone https://github.com/Pearce-Ropion/a-bugs-life.git
$ cd a-bugs-life/
$ cd backend/
$ python main.py3). Once the server is running, it will print the following to console.
Application is running at this address:
(use.this.ip.address):8080/index.html
4). Open a web browser (chrome, firefox) and go to the address listed in the console above including the port number and file name.
NOTE: The address listed in this readme will not work. You must use the address that was printed to the console upon running the app.
For the next section, you can use the login information from Table 1 to login into each type of user available.
Table 1: Default User Login Information
| User Type | Password | |
|---|---|---|
| Manager | m@m.com | manager1 |
| Tester | t@t.com | tester1 |
| Developer | d@d.com | dev1 |
| User | u@u.com | user1 |
Note: These email/password combinations have been made specifically for the final demonstration and would not be included in the app in a production setting.
- On the top right of the page, click
Log In - Click the
Create New Userbutton - Fill in your first name, last name, email and password in their respective fields
- The email must conform to the standard.
<string>@<string>.<string> - The password must be at east 6 characters long
- The email must conform to the standard.
- Confirm your password
- Click the
Createbutton
- On the top right of the page, click
Log In - Enter your email and password
- You may use either the login credentials you just created in the Getting Started section, or the login credentials provided in Table 1.
- Click
Log In
The default window shown for non-employees is all of the bugs reported by the currently logged-in user
In this section we will follow a bug report through its expected lifecycle. In this use case we will be assuming that the reported bug is a valid bug. In order to switch user account, you will have to log out of each user type and log into the next user type as the guide proceeds.
Start by logging into a User account. You can do so using the login button on the top right
- Click
Createon the top right - Fill in a
summary,descriptionof the problem and select acomponentfrom the dropdown menu - Click
Create- You should see a success message popup on the screen for a couple seconds
- The new bug report will show up on your list of reported bugs to the left
- In the center of the screen you will be able to see details about the bug report including the its current status
- Switch to the
Manageraccount - You should see the bug report you just created at the top of the list on the left
- Assign the bug report to a tester by clicking the
Re-Assignbutton on thr right side of the screen- An additional step would be to first click the
Assign to Mebutton to assign the bug report to theManager
- An additional step would be to first click the
- In the search box, type
Osamaand selectOsama Shoubberfrom the search result list - Click
Update - Switch to the
Testeraccount - You should see the bug report that was just assigned to you at the top of the list on the left.
- Click the
Assignedbutton on the top left to see only the bug reports that are assigned to you - On the right side, click
In Testingto indicate that you are now testing to see whether the reported bug is actually a valid bug in the system - Assuming that the reported bug is a valid bug, click
Valid Bugon the right - Click
Re-Assignon the right and assign the bug toPearce Ropion - Switch to the
Manageraccount - Click
Re-Assignon the right and assign the bug toVineet Joshi - Switch to the
Developeraccount - On the right side, click
In Progressto indicate that you are now working on finding a solution to the bug described in the bug report - Assuming you have found a solution, click
Change Statuson the right - From the dropdown menu, select
Code Completeto indicate that you have finished the code required to fix the bug - Click
Code Reviewon the right to indicate that the code is now being reviewed by another developer - Click
Bug Fixedon the right to change the bug report status toTest Readyto indicate that the code has been reviewed and approved and is now ready for testing - Click
Re-Assignon the right and assign the bug toPearce Ropion - Switch to the
managertab - Click
Re-Assignon the right and assign the bug toOsama Shoubber - Switch to the
testertab - Click
Testing Bugfixon the right to change the status toQA Testingto indicate that the proposed solution is getting tested to see if it fixes the bug and meets all qualitiy assuance standards. - Assuming the bugfix works. Click the
Close Ticketbutton on the right. - From the dropdown menu, select
Done - The bug report should now show a closed time on the bottom right of the details page
Make sure to check the Bug Report Overview Section to see how to generate reports for managers
The bug report overview page, which is only visible to managers, shows the status of all bugs that have been reported in the system. This is illustrated in a pie chart which displays the number of bugs within each category and per category tables that show the different bug reports within each these categories along with their statuses:
- Bug reports that are Open or have statuses that are similar to being Open
- Bug reports that are related to the bug being Tested
- Bug reports that are related to the bug fix being in Development
- Bug reports that have been Closed
The following steps can be followed to access the bug report overview:
- Click the
Log Inbutton in the top right - Login to manager using the email
m@m.comand passwordmanager1 - Click the
Dashboardbutton in the top left
The following sections describe specific use cases of the application and are not required in the lifecycle of the bug report. By now, this guide will assume you are familiar with changing user accounts and will not go into detail on how to do so.
When not logged in, the user is presented with the bug report creation form. The user will be required to fill in a brief decription of the bug called the summary, a detailed description and a relevant component within the SCU IT department. Users will also be asked to fill in their first and last name. This allows for efficient previewing of reported bugs per user and enables users who wish to create a user account at a later date to see their previously reported bugs.
- Fill in the required fields
- Attempting to create a bug report without filling in all the fields will result in an error being shown to the user and the bug report not being created until the user has fixed the erroring fields
- Click
Create - A message should pop up indicated that the bug report was created successfully
When Logged in, the user can create a bug report using the Create button in the top right of the window. This gives regular users the same options without the name fields becasue the system already knows the name of the logged-in user. Additionally, when an employee (manager, tester, developer) creates a bug report, they can fill in additionaly fields including the assignee, priority severity and status of the bug report.
- Log-in to any user type
- Click
Createin the top right - Fill in the required fields
- Attempting to create a bug report without filling in all the required fields (
summary,descriptionandcomponent) will result in an error being shown to the user and the bug report not being created until the user has fixed the erroring fields - If the user is an employee, the
assigneefield is also required
- Attempting to create a bug report without filling in all the required fields (
- Click
Create - A message should pop up indicating that the bug report was created successfully
Assigning bug reports can be done by any employee but is recommended to be done by the manager, especially when the status of the bug is also being changed. For example, when moving from Validated to In Progress.
You can assign a bug report to a user when creating or editing the bug report by entering a name in the assignee field.
You can assign a bug report to a user by clicking the Re-Assign button on the right hand menu when viewing a bug report's details. This will bring up a modal which allows you to enter a user's name.
Changing the status can be done using the bug report editor, the change status button or any of the additional buttons that have been added for the user's convenience for commonly used statuses such as In Progess for developers.
Testers have a few additional buttons that allow them to change the status of a bug report to important statuses that are related to testing. These include setting the status to Testing, Validated and QA Testing. They can also close a bug using the Not A Bug button which automatically closes the bug and sets the resolution status to Not a Bug.
Developers have a few additional buttons that allow them to change the status of a bug report to import statuses that are related to development. These include setting the status to In Progress, Code Complete, Code Review and Test Ready.
Employees have the ability to change which view they are on. By default, employees can see all reported bugs. However, they can further filter these bugs using the Assigned and Reported buttons available in the left of the window.
Clicking the Assigned button will only show the bug reports that have been assigned to the current user. Click Reported button will only show the bug reports that have been reported by the current user.
Sorting bugs reports can be done by any user. By default tickets are sorted by last modified in descending order. Changing the sorting category sorts all the available tickets by that category
- Log in to
Manager(or any user) - Select
Statusin the sort by dropdown menu above the bug report list - The ticket list should sort itself by status name alphabetically
Searching bug reports can be done by any user. By default, all bug reports are displayed. Users can enter both a search string and select a category in order to search for bug reports within that category.
- Log in to
Manager(or any user) - Enter
SCUin the search bar - Select
Summaryfrom the category dropdown menu on the search bar - Click
Search - The ticket list should now only contain bug reports that contain the term
SCUin the summary - Click the
xicon on the left of the search bar to clear the search
The search bar can accept partial matches but does NOT do fuzzy searching. Furthermore, the search component does basic validation in that a user cannot search without selecting a category and vise versa.
In additional to the functionality described in the above sections, managers can also assign users to any role (manager, tester, developer or user).
- Log in as a
Manager - Click the
Usersbutton on the top left - All users that have made accounts will be visible
- Change change your user's role (the account that you made in the
Getting Startedsection) toManager - You should see a message pop up that indicates that changing the role was successful