Epic Work Items UX Bug Bash
https://handbook.gitlab.com/handbook/product/ux/ux-research/ux-bash/ ## Goal Ensure the launch of epics as work items is a great user experience from the beginning. With internal team members: identify major usability issues, collect usability feedback, identify bugs, and ultimately close all S2 and up critical issues before launch of epics as work items. ## Major steps * [x] Define Bash goals * [x] [Create test scenarios/steps](https://gitlab.com/gitlab-org/gitlab/-/issues/457546#test-case-workflows-tasks) * [ ] Create Bash guidelines * [ ] issue * [ ] Slack channel * [ ] Determine and set up data collection approach * [ ] Recruit * [ ] Conduct bash! * [ ] Analyze and Share with broader team * [ ] Implement changes * [ ] Close all S2 and up issues -------- ### Test Case Workflows & Tasks <details> <summary>Expand to view test steps</summary> <table> <tr> <th>Step ID</th> <th>Workflow Step</th> <th>Test Step</th> <th>Expected Outcome</th> </tr> <tr> <td>T-1</td> <td>Create an epic</td> <td> 1\. Create a new epic <br>2. Enter "\[tester first name\] - Rabbit" as the Title <br>3. Enter text in description 4\. Assign yourself to this epic\ 5. Add a label from the label widget \ 6. Select a color \ 7. Select `Create epic` </td> <td>A new epic is created with the metadata selected during the creation process.</td> </tr> <tr> <td>T-2</td> <td>Create an epic - confidential + fixed dates</td> <td> 1\. Create a new epic <br>2. Enter "\[tester first name\] - Frog" in Title <br>3. Enter text in description 4\. Assign yourself to this epic\ 5. Add a label from the label widget \ 6. Select a color \ 7. Mark the epic as "confidential" \ 8. Add a start date of 2024-05-01 and a due date of 2024-08-30 \ 9. Select `Create epic` </td> <td>A new epic is created with the metadata selected during the creation process.</td> </tr> <tr> <td>T-3</td> <td>Create an epic - no title</td> <td> 1\. Create a new epic <br>2. **Do not** enter text in Title <br>3. Enter text in description <br>4. Add a label from the label widget <br>5. Select a color <br>6. Select `Create epic` </td> <td> The `Create epic` button is not available </td> </tr> <tr> <td>T-4</td> <td>Create a sub-epic</td> <td> From within the Rabbit epic you created in T-1, create a new sub-epic: \\ 1. Add a new epic from within the `Child items` widget \\ 2. Enter "\[tester first name\] - Chicken" in Title 3\. Assign yourself to this epic 4\. Select `Create epic` </td> <td>A new subepic is created as a child with the metadata selected during the creation process.</td> </tr> <tr> <td>T-5</td> <td>Create a sub-epic - confidential</td> <td> From within the Rabbit epic you created in T-1, create a new sub-epic: <br>1. Add a new epic from within the `Child items` widget <br>2. Enter "\[tester first name\] - Rooster" in Title 3\. Assign yourself to this epic 4\. Mark the epic as "confidential"\ 5. Select `Create epic` </td> <td>A new confidential subepic is created as a child of a public parent epic with the metadata selected during the creation process.</td> </tr> <tr> <td>T-6</td> <td>Edit an epic - test confidentiality parameters</td> <td>Open the Rabbit epic you created in T-1 and mark the epic as confidential.</td> <td>An error is presented explaining that you cannot make the epic confidential because it contains non-confidential child records.</td> </tr> <tr> <td>T-7</td> <td>Edit an epic - edit description</td> <td> Open the Chicken sub-epic created in T-4, add text to the description of the epic using the rich text editor and select `Save changes`. </td> <td>The epic description is updated with the text and formatted as desired.</td> </tr> <tr> <td>T-8</td> <td>Edit an epic - add labels</td> <td> Open the Rooster sub-epic created in T-5, add two labels to the epic. * Search for the first label by typing the beginning of the label * Find the second label by scrolling from the list </td> <td>The epic is updated with the labels selected.</td> </tr> <tr> <td>T-9</td> <td>Create relationships - parent/child</td> <td> Relate the Rabbit epic created in T-1 with the Frog epic created in T-2. * The Rabbit epic created in T-1 should be the parent, the Frog epic created in T2 should be the child. </td> <td>The parent child relationship is created successfully where the Rabbit epic created in T-1 is the parent of the Frog epic created in T-2.</td> </tr> <tr> <td>T-10</td> <td>Create relationships - linked (work items)</td> <td> 1\. Create 4 new epics with the following titles: _(add yourself as assignee, no other metadata needed)_ * "\[tester first name\] - Red" * "\[tester first name\] - Blue" * "\[tester first name\] - Purple" * "\[tester first name\] - Green" 2\. Link epic Red to epic Blue using the `related` relationship. 3\. Link epic Green to epic Purple using the `blocking` relationship. (green blocks purple). </td> <td> 1\. When viewing the Red epic, you can see that the Blue epic is related in the linked widget. 2\. When viewing the Green epic, you can see that it is blocking the Purple epic. </td> </tr> <tr> <td>T-11</td> <td>Create relationships - change parent</td> <td> Navigate to the Chicken epic created in T-4 and change its parent to epic "\[tester first name\] - Green". </td> <td> 1\. When viewing the epic Chicken: * you should see "\[tester first name\] -Green", in the parent widget (side) * you should see "\[tester first name\] - Green", in the ancestor widget (top) 2\. When viewing the "\[tester first name\] - Green" epic, you should see the epic Chicken a child epic. </td> </tr> <tr> <td>T-12</td> <td>Create relationships - Add a parent epic to an issue</td> <td> From within a **project** within the same group as epic Purple: 1\. Create a new issue, titled: "\[tester first name\] - Rainbow", assign the issue to yourself, add a label and save the record. 2\. Edit issue Rainbow to add epic Purple as the epic parent. </td> <td> 1\. When viewing the epic Purple: * you should see issue Rainbow a child item. 2\. When viewing issue Rainbow: * you should see epic Purple in the parent widget (side) * you should see epic Purple in the ancestor widget (top) </td> </tr> <tr> <td>T-13</td> <td>Create relationships - mixed WIT linked records</td> <td> Navigate to the Chicken epic created in T-4. 1\. Add a child issue by selecting "Add\>New issue" 2\. Name the issue "\[tester first name\] - Egg" 3\. Link the Rooster epic to the Egg issue using the "Related" option. </td> <td> 1\. When viewing issue Egg, you should see epic Rooster as `related` under linked items. 2\. When viewing epic Rooster, you should see issue Egg as `related` under linked items. </td> </tr> <tr> <td>T-14</td> <td>Create relationships - cross group children</td> <td> From within a group in a **different** group hierarchy, i.e. another root group or subgroup under a root group different from where you've been testing: 1\. Create an epic with title "\[tester first name\] - Papa" 2\. Add a child epic by selecting "Add\>Existing epic" and paste the URL of the the Rooster epic created in T-5. </td> <td> 1\. You should be able to successfully add a child epic from an unrelated group to the epic Papa. 2\. When viewing epic Papa, you should see the child epic Rooster 3\. When viewing the epic Rooster, you should see the parent epic Papa in the parent widget (side) 4\. When viewing the epic Rooster, you should see the parent epic Papa in the ancestor widget (top) </td> </tr> <tr> <td>T-15</td> <td>Create relationships - cross group linked records</td> <td> From within a group in a **different** group hierarchy, i.e. another root group or subgroup under a root group different from where you've been testing: 1\. Create an epic with title "\[tester first name\] - Crisscross" 2\. Link the Crisscross epic with the Rabbit epic and indicate that Crisscross blocks the Rabbit epic. </td> <td> 1\. You should be able to successfully link epic Rabbit from an unrelated group to the epic Crisscross. 2\. When viewing epic Crisscross, you should see the linked epic Rabbit 3\. When viewing epic Rabbit, you should see the linked epic Crisscross </td> </tr> <tr> <td>T-16</td> <td>Organizing work - break down work</td> <td> Navigate to the Frog epic created in T-2 1\. Create a sub-epic, titled "\[tester first name\] - January" 2\. Open the sub-epic January, create 4 issues as children of the January sub-epic from the child items widget (names below) * Issue 1: "\[tester first name\] - Monday" * Issue 2: "\[tester first name\] - Tuesday" * Issue 3: "\[tester first name\] - Wednesday" * Issue 4: "\[tester first name\] - Thursday" _(titles only, no other metadata)_ </td> <td> 1\. You should be able to create a sub-epic with just a title. 2\. You should be able to create the child issues from the child items widget in the sub-epic January. </td> </tr> <tr> <td>T-17</td> <td>Organizing work - manually reorder child records</td> <td>Navigate to the epic Rabbit created in T-1, reorder the child records so that the epic Frog created in T-2 is the 1st child record listed.</td> <td>You should be able to drag and drop epic Frog within the child widget on the epic Rabbit detail page.</td> </tr> <tr> <td>T-18</td> <td>Organizing work - add epic dates</td> <td>Navigate to epic Purple, add a start date of 2024-07-11 and a due date of 2025-01-15</td> <td>Epic Purple should display a fixed start date of 2024-07-11 and a due date of 2025-01-15.</td> </tr> <tr> <td>T-19</td> <td>Planning workflows - create an epic board</td> <td> 1\. Create a new epic board titled "\[tester first name\] - Now-Next-Later", show open (not closed lists, no scope) 2\. Create lists for "Now", "Next", "Later" _(create these labels if they do not already exist)_ 3\. Move epic Purple to the "Now" list 4\. Move epic Red to the "Next" list 5\. Select the Blue epic card \> from the right sidebar add the label "Later" 6\. Open the Green epic in a separate tab and add the "Now" label from within the Epic detail page </td> <td> Within the "Now-Next-Later" epic board, you should see: * Epics Purple and Green under the Now list * Epic Red under the Next list * Epic Blue under the Later list </td> </tr> <tr> <td>T-20</td> <td>Planning workflows - interact with epics on the epic board</td> <td> 1\. On the epic board created in the last step, add the Rabbit and Frog epics created in T-1 and T-2 to the "Now" list 2\. Reorder the epic cards within the "Now" list according to the following order: * Blue * Purple * Rabbit * Red * Green * Frog 3\. Turn off labels displayed within the board </td> <td>Within the Now list on the "Now-Next-Later" board, you should be able to drag and drop the epics according to the list provided.</td> </tr> <tr> <td>T-21</td> <td>Planning workflows - view issues by epic parent</td> <td> 1\. Create a new issue board titled "\[tester first name\] - Iteration board", show open (not closed lists, no scope) 2\. Create lists for the next 3 iterations (create these if they do not already exist - any cadence) 3\. Move the below issues according to the following lists List 1 * "\[tester first name\] - Monday" * "\[tester first name\] - Tuesday" List 2 * "\[tester first name\] - Wednesday" List 3 * "\[tester first name\] - Rainbow" 4\. Group the issues by their parent epic </td> <td>Issues should be successfully grouped by parent epic within the issue board.</td> </tr> <tr> <td>T-22</td> <td>Planning workflows - view plan on Roadmap</td> <td> 1\. Navigate to the Roadmap </td> <td>You should see multiple epics return according to their start/due dates.</td> </tr> <tr> <td>T-23</td> <td>Planning workflows - check progress</td> <td> Navigate to the epic Frog, view the roadmap filtered by this epic. This can be accomplished two ways, please attempt both and record any difference in results: 1\. Within the epic detail page, select the kebab menu from the child widget, select `view roadmap` 2\. Within the roadmap view, filtering by the epic </td> <td>You should see the Frog epic returned with the ability to expand and see the January sub epic.</td> </tr> <tr> <td>T-24</td> <td>Close an epic</td> <td> Navigate to the Rooster epic, close the epic using the `close epic` option in the kebab menu of the detail page. </td> <td> You should receive a warning that there is an open subepic. Select the option to proceed. 1\. The epic status is updated to closed. 2\. A system note is created recording that you've closed the epic. </td> </tr> <tr> <td>T-25</td> <td>Quick actions - during epic creation</td> <td> 1\. Navigate to the epic listing page, select create a new epic. 2\. Enter "\[tester first name\] - Sunshine" as the Title \ 3. Enter text in description 4\. Assign yourself to this epic by adding the \` /assign\` quick action to the description\ 5. Select a color \ 7. Select `Create epic` </td> <td>A new epic should be created (Sunshine), you should be assigned to the epic, and the color you chose is visible.</td> </tr> <tr> <td>T-26</td> <td>Quick actions - comment thread</td> <td> 1\. From within the Sunshine epic, create a comment and: 2\. Add three labels using the \` /label\` quick action 3\. Set the epic to confidential using \` /confidential\` quick action 4\. Change the parent to the Frog epic using the `/set_parent` quick action 5\. Select `comment` to apply these changes </td> <td>You should see the labels applied to the epic, it should be updated to confidential, and the parent should be set to the Frog epic.</td> </tr> <tr> <td>T-27</td> <td>Quick actions - promote issue to an epic</td> <td> Navigate to issue Rainbow, use the \` /promote\` quick action to promote the issue to an epic. </td> <td> The issue should be closed with a link to the the new epic it's been promoted to. When viewing the epic, it should be assigned to you and the label you assigned to the issue is viewable on the epic. </td> </tr> <tr> <td>T-29</td> <td>Bulk editing</td> <td> Navigate to the Epic list, 1\. Filter by `Assignee` = yourself 2\. Select the first 3 epics in the lsit 3\. Select the `bulk edit` button 4\. Select a label from the list 5\. Select `Update Selected` </td> <td>The selected epics should now display the label you selected.</td> </tr> <tr> <td>T-30</td> <td>Collaboration, Sharing, Notifications & Todos - mentions during creation</td> <td> 1\. Navigate to the epic listing page, select create a new epic. 2\. Enter "\[tester first name\] - Dusk" as the Title \ 3. Enter text in description and mention \`@amandarueda\` in the description\ 4. Select `Create epic` </td> <td>A new epic is created. Amanda should received an email and todo for this epic.</td> </tr> <tr> <td>T-31</td> <td>Collaboration, Sharing, Notifications & Todos - share filtered board</td> <td> On the Now-Next-Later epic board, 1\. Filter by `Author` = yourself 2\. Copy the URL of the filtered board 3\. Open the filtered board in another browser using the copied URL </td> <td>The filtered board should retain its filter settings.</td> </tr> <tr> <td>T-32</td> <td>Collaboration, Sharing, Notifications & Todos - share filtered epic list</td> <td> Navigate to the epics list, 1 Filter by `Assignee` = yourself 2 Copy the URL of the filtered list 3 Open the filtered list in another browser using the copied URL </td> <td>The filtered list should retain its filter settings</td> </tr> </table> </details> ### Testing feedback directions 1. Assign yourself to one of the test sessions (tasks) related to this issue 2. For each step, record the record created or edited for future reference in the testing table 3. Pass/Fail : where fail, link to bug report 4. Usability feedback: did you struggle to find where to go/options, any other UX feedback?
epic