Document version 1.1
Status: Test Completed
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 complete | 07/24 |
1.1 | Test doc cleaned up | 07/27 |
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 | 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. |
25 | 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. |
26 | System administrator can view a private incident details | Continue from the above test.
| Pass | |
27 | System administrator can check and uncheck items in private incidents | Continue from the above test.
| Pass | |
28 | System administrator can end a private incident | Continue from the above test.
| Pass | |
29 | Team administrator cannot see a private incident |
| Pass | Team admins can’t see a private incident. Test changed from can to cannot. |
30 | 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. |
31 | 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 |
32 | Playbook can be configured to create a public incident |
| Pass | |
33 | Playbook can be configured to create a private incident |
| Pass | |
34 | Playbook can be edited to change public incident creation setting to private | Continue from the above tests.
| Pass | |
35 | 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 |
36 | 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. |
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 |
37 | System administrator can create a public incident playbook |
| Pass | |
38 | System administrator can create a private incident playbook |
| Pass | |
39 | Team admin can create a public-incident playbook |
| Pass | |
40 | Team admin can create a private-incident playbook |
| Pass | |
41 | A playbook is initially only visible to playbook creator |
| Pass | |
42 | Private playbook cannot be deleted by non-participating member user of the team | Continue from the above test.
| Pass |
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 |
43 | Users who have access to a playbook limit playbook access to specific users |
| Pass | |
44 | Playbook member can edit users who have access to playbook | Continue from the above test.
| Pass | |
45 | User removed by a playbook member can no longer access playbook | Continue from the above test.
| Pass | |
46 | Playbook member can limit playbook access to specific users |
| Pass | |
47 | Playbook member can edit users who have access to playbook | Continue from the above test.
| Pass | |
48 | User removed by system admin can no longer access playbook | Continue from the above test.
| Pass | |
49 | Last playbook member cannot be removed from the playbook |
| Pass |
Test Area - UI | ||||
---|---|---|---|---|
Test ID | Test Case | Test Procedure | Result | Notes |
50 | Test UI in light theme |
| Pass | |
51 | Test UI in dark theme |
| Done | Bugs filed for dark themes. |
52 | 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 |
53 | 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 | |
54 | Channel is archived when ending an incident from RHS |
| N/A | Moved from 0.5 | |
55 | The incident channel shows up under archived channel once the incident is ended |
| N/A | Moved from 0.5 | |
56 | Incident channels do not appear in LHS when archived channel display is turned off |
| N/A | Moved from 0.5 | |
57 | Add a message indicating no checklist items in Incidents RHS |
| N/A | Moved from 0.4 Ticket closed as won’t fix. | |
58 | Support incident list pagination |
| Pass | Moved from 0.4 | |
59 | Support incident list sorting on End Date |
| Pass | Moved from 0.4 | |
60 | Support incident list sorting on Start Date | Continue from the test for “Support incident list sorting on End Date”
| Pass | Moved from 0.4 | |
61 | “Create a playbook” link in Incident Details modal links to New Playbook page in backstage | Pass |