Document version 1.0
Status: v0.5 test in progress…
Document Version | Description | Date |
---|---|---|
0.0 | Initial version | 05/14 |
0.1 | Initial review from the team | 06/15 |
1.0 | Test run for 0.5 | 07/23 |
References
Related Tests:
Summary
This document details the tests for Incident Response plugin v0.5.0. The tests are derived from the user stories in Incident Response overview. The MVP of the Incident Response plugin will be tested against all tests included in this test plan.
Scope
This document covers the cases for the user stories as outlined in the Incident Response MVP Overview for v.0.5.0 of the plugin only.
Glossary
Admin - A user with system administrator privileges.
Normal user - A user with non-system administrator privileges.
Test Server - A list of test server versions used in testing including Mattermost server and Marketplace Server
Main menu - Hamburger menu on the LHS.
Incident Response icon - The Incident Response plugin icon that appears on the channel header
Commander - The user who owns an incident. The user who starts the incident is designated the commander by default.
Incident member/incident channel member - A user who has been added to the incident channel.
Non-incident user - A user who has not been added to the incident channel.
Active incident - An incident that has not been ended.
Ongoing incident - Same as Active Incident.
Inactive incident - An incident that has been ended.
Incident RHS - The RHS sidebar that opens upon clicking the incident response icon and displays incidents.
Incident Backstage - The backstage view that shows the incident list.
Playbook Backstage - The backstage view that shows the playbook list.
Assumptions
The tests in this test plans are written with the assumption that:
The tests outlined in this document is to be executed against the Incident Response plugin v0.4.0.
This version of the plugin can be installed and used in Mattermost instances that aren’t equipped with any enterprise license.
The Incident Response plugin can function as a standalone plugin that does not require to talk to any other plugin.
This version of the Incident Response plugin will function properly only in the latest version of Mattermost.
The tests will be executed in the latest version of Mattermost.
Testing is primarily done on the webapp, with spot checks on the desktop app, RN mobile app and mobile web browser app.
The tests in this document are executed as a normal user (see glossary above) unless otherwise specified.
The test cases that pass for a normal user will also pass for a system administrator.
Plugin uploads is enabled in server instance
“EnableUploads” option under “PluginSettings” in mattermost-server’s config.json is set to 'true'.
The channel export feature defined in the user story is dependent on the existence of the Channel Export plugin being installed and enabled in the test server.
Private channels cannot be converted into public channel, hence private incidents cannot be converted to public incidents.
Setup
Document Setup
For the practicality of running tests easily, test cases are arranged in sequential order when necessary, following the preceding test case.
Test Setup
The following setup will be necessary in order to begin testing:
A Mattermost v5.23 test server.
The test server is equipped with an E10 license for the plugin to be installed.
Incident Plugin v0.5.0.
Channel Export Plugin v0.2
Test Server: https://ir-test-alpha-6.test.mattermost.cloud/login
Test Server (upgrade tests): https://ir-upgrade-test.test.mattermost.cloud
Build Hash: ed34468996e6906003c9b3cab0d21ac121ec553f
EE Build Hash: 9547727aa1779259a9dcd847c81e4c29a0db0845
Webapp Build Hash: b8a75b515bd4646d2084da2c72d12588b233ded5
Test Date: 07/23/2020
Tests
Test Area - Plugin Setup | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
1 | Admin can install plugin in a non-EE instance |
| Pass |
|
2 | Admin can install plugin in an E10 instance |
| Pass |
|
3 | Admin can install plugin in an E20 instance |
| Pass |
|
4 | Admin can enable plugin |
| Pass |
|
5 | Plugin functionality is available to admin |
| Pass |
|
6 | Plugin functionality is available to normal user |
| Pass |
|
7 | Admin can disable plugin |
| Pass |
|
8 | Admin can remove plugin |
| Pass |
|
9 | Plugin upgrades normally from v0.3 to v0.5 |
| Pass | |
10 | Plugin upgrades normally from v0.4 to v0.5 |
| Pass |
|
11 |
|
| N/A | Not valid for upgrade to 0.5 |
12 |
|
| N/A | Not valid for upgrade to 0.5 |
13 |
|
| N/A | Not valid for upgrade to 0.5 |
Test Area - Limit incident access to only participants As an incident participant, I can make an incident and its channel private so that non-participants don’t know it exists let alone access its content. | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
14 |
Incident cannot be created without selecting a playbook |
| Pass | |
15 | User can make a public incident |
| Pass | #7 is a bug. Fixed in master with https://github.com/mattermost/mattermost-plugin-incident-response/pull/219 |
16 | User can make a private incident |
| Pass | |
17 | Converting a public incident channel into private, makes the incident private |
| Pass | |
18 | Non participant cannot access a previously public incident converted to a private incident | Continue the test from above.
| Pass | |
19 | Non participant cannot access a new private incident |
| Pass | |
20 | Private incidents cannot be searched in backstage by non-participants. | Continue from the above test.
| Pass | |
21 | Public incidents are visible only within the incident’s team |
| Pass | |
22 | Private incidents are visible only within the incident’s team |
| Pass | |
23 | Public incidents cannot be searched in a different team’s incident backstage |
| Pass | |
24 |
|
| N/A | Invalid - user has to be added to the IR channel to be able to launch anything about the incident in the RHS. |
25 |
| Continue from the above test.
| N/A | Need to find out more about the mechanism to view the incident details on RHS if the details view is going to be tightly coupled with the channel view. |
26 | Non participant cannot view private incident details in RHS | N/A | Is this test case correct? Non-participant can’t see private channels. | |
27 | System administrator cannot see a private incident |
| Pass | Won’t see private channel, but if permalink known, can simply browse to channel and self-join. |
28 | System administrator can join a private incident | Continue from the above test.
| Pass | Won’t be in LHS, but definitely can join channel with permalink. |
29 | System administrator can view a private incident details | Continue from the above test.
| Pass | |
30 | System administrator can check and uncheck items in private incidents | Continue from the above test.
| Pass | |
31 |
|
| N/A | Can’t add/remove/edit checklist item now that the RHS is immutable. |
32 | System administrator can end a private incident | Continue from the above test.
| Pass | |
33 | Team administrator cannot see a private incident |
| Pass | Team admins can’t see a private incident. Test changed from can to cannot. |
34 | Team administrator can join a private incident | Continue from the above test.
| N/A | Team admins can’t see a private incident. Invalid test. |
35 | Team administrator can view a private incident details | Continue from the above test.
| N/A | Team admins can’t see a private incident. Invalid test. |
36 | Team administrator can check and uncheck items in private incidents | Continue from the above test.
| Pass | Team admins can’t see a private incident. Invalid test. |
37 | Team administrator can add and remove checklist items in a private incident | Continue from the above test.
| N/A | RHS is now immutable. Invalid test. |
38 | Team administrator can end a private incident | Continue from the above test.
| Pass |
Test Area - Configure playbooks to create public/private incidents As an incident manager, I can configure playbooks to create either public or private incidents so that it defaults to the correct permission when executed. | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
39 | Playbook can be configured to create a public incident |
| Pass | |
40 | Playbook can be configured to create a private incident |
| ||
41 | Playbook can be edited to change public incident creation setting to private | Continue from the above tests.
| Pass | |
42 | Playbook can be edited to change private incident creation setting to public | Continue from the above tests.
| Pass |
Test Area - Prioritize incidents that the user is a participant of As an incident participant, I can easily tell apart the incidents that are relevant to me so that it’s I can get there more quickly. | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
43 | Incidents in backstage will be listed in priority order |
| N/A | Is the order correct in step 6 and 10? Prioritizing incident was for RHS incident list. Since incident list is removed from the RHS, this test is invalid. |
Effect of search on priority ordering in backstage | N/A | |||
Effect of sorting on priority ordering in backstage | N/A | |||
Effect on LHS channel order for priority ordering | N/A |
Test Area - Limit the ability to create playbooks to Team Administrators As a system administrator, I can restrict who can create playbooks so that the incident response process can be better standardized. | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
44 | System administrator can create a public incident playbook |
| Pass | |
45 | System administrator can create a private playbook |
| #4 correct? | |
46 | Team admin can create a public playbook |
| #4 correct? | |
47 | Team admin can create a private playbook |
| #4 correct? | |
48 | A non-admin user cannot create a playbook |
| N/A | Is #3 correct? |
49 |
| N/A due to the test above this one. Is this correct? | ||
50 | A playbook is initially only visible to playbook creator |
==========
| Pass | |
51 | Private playbook is only available within the team it was created in |
| N/A | |
52 | Public playbook is visible to all the members of a team |
| N/A | |
53 | Public playbook can be edited by member user of the team | Continue from the above tests.
| N/A | |
54 | Team member can “invite” other team members to manage playbook | dupe of 61 | ||
55 | Team member can create an incident using public playbook | Continue from the above test.
| N/A | |
56 | Public playbook can be deleted by team member |
| N/A | |
57 | Private playbook cannot be edited by a non-admin team member |
| N/A | Using a direct PUT to test here because the user will not be able to find the private playbook in the UI. |
58 | Private playbook cannot be deleted by member user of the team | Continue from the above test.
| ||
59 | Non-admin team member cannot “invite” other team members to manage private playbook | Continue from the above test.
| N/A | |
60 |
| Covered by #45 |
Test Area - Limit playbook access to specific users As a playbook creator, I can specify who else can see and edit the playbook so that sensitive content wouldn’t be unintentionally revealed. | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
61 | Users who have access to a playbook limit playbook access to specific users |
| Pass | |
62 |
| Continue from the above test.
| Pass | |
63 | User removed by a playbook member can no longer access playbook | Continue from the above test.
| Pass | |
64 | Playbook member can limit playbook access to specific users |
| Pass | |
65 | Playbook member can edit users who have access to playbook | Continue from the above test.
| Pass | |
66 | User removed by system admin can no longer access playbook | Continue from the above test.
| Pass | |
Last playbook member cannot be removed from the playbook |
| Pass |
Test Area - UI | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
67 | Test UI in light theme |
| Pass | |
68 | Test UI in dark theme |
| Done | Bugs filed for dark themes. |
69 | Test UI in Monokai theme |
| Done | Bugs filed |
Test Area - Tests/bugs outside of user stories | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Tickets | Notes |
70 | Channel is archived when ending an incident with slash command |
| N/A | Moved from 0.5 Ticket is still open: https://mattermost.atlassian.net/browse/MM-24408 | |
71 | Channel is archived when ending an incident from RHS |
| N/A | Moved from 0.5 | |
72 | The incident channel shows up under archived channel once the incident is ended |
| N/A | Moved from 0.5 | |
73 | Incident channels do not appear in LHS when archived channel display is turned off |
| N/A | Moved from 0.5 | |
74 | Add a message indicating no checklist items in Incidents RHS |
| N/A | Moved from 0.4 Ticket closed as won’t fix. | |
75 | Support incident list pagination |
| Pass | Moved from 0.4 | |
76 | Support incident list sorting on End Date |
| Pass | Moved from 0.4 | |
77 | Support incident list sorting on Start Date | Continue from the test for “Support incident list sorting on End Date”
| Pass | Moved from 0.4 | |
“Create a playbook” link in Incident Details modal links to New Playbook page in backstage | Pass | ||||