...
...
Document version
...
1.0
Status: Test Completed
Document Version | Description | Date |
---|---|---|
0.0 | Initial version | 10/06 |
1.0 | Test Completed (for v1.0 updated features) | 10/14 |
References
...
This document details the tests for Incident Response plugin v0v1.6.0. The tests are derived from the user stories in the requirements for 0.8 and Figma for MVP.
...
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.
Mobile - Mobile app in iOS and mobile app in Android
Assumptions
The tests in this test plans are written with the assumption that:
Test steps mentioning “mobile” will be executed in both iOS and Android RN mobile apps.
The tests outlined in this document is to be executed against the Incident Response plugin v1.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 Mattermost 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 browser (Chrome), with spot checks on other web browsers, 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 in the tests.
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.
...
A Mattermost test server running the latest version.
The test server may not need to be equipped with an EE license.
Incident Plugin v1.0.
Channel Export Plugin v0.2
Test Server: https://ir-1-0.test.mattermost.cloud/
Test Server (upgrade tests): n/a
Build Hash: 66a01205
EE Build Hash: 286ecc8
Webapp Build Hash: bf35a10
Incident Response plugin version: 1.0.0-alpha.3
Test Date: 10/13/2020
Tests
Test Area - IR mobile slash commands general test | ||||||||
---|---|---|---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||
|
| Covered in tests for | Typing | In mobile - In webapp -option in mobile |
| Pass | ||
2 | Typing |
| Pass | |||||
3 | The slash command options in the popup is scrollable |
/incident list below |
|
| Pass | |||
4 | “Execute current command” is highlighted by default in pop up options |
| Pass in webapp |
Test Area - User must be able to start an incident on mobile app | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||||
5 |
|
| Pass | |||||||
6 | Issuing |
| Pass | |||||||
7 | Incident creation screen on mobile shows all the fields as the the incident creation page on webapp |
| Clicking Pass | |||||||
8 | Tap “Create a playbook” link in incident creation screen takes the user to the playbook creation screen? |
| Fail | Says “Link not found in server” | ||||||
9 | Starting an incident requires a playbook to be selected | Starting an incident requires an incident name | User can start an incident on mobile app using
| User can start an incident on mobile using post menu option | Probably not valid? | When incident is started from mobile app, a system message is posted in the channel from where incident is started | ||||
Test Area - User must be able to see the list of tasks in the current stage in mobile app | ||||||||||
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
|
| User can see incident details with | On mobile app, issuing |
| On mobile, issuing | On webapp, issuing | On webapp, issuing | On webapp, issuing |
Test Area - User must be able to see all their incidents in mobile app | ||||||||||
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||||
|
| Issuing an |
|
|
|
| /incident list should show all incidents for a large number of incidents
| Pass | ||
10 | Starting an incident requires an incident name |
| Pass | |||||||
11 | User can start an incident on mobile app using |
| Pass | |||||||
13 | When incident is started from mobile app, a system message is posted in the channel from where incident is started |
| Pass |
Test Area - User must be able to change commander see the list of tasks in the current stage in mobile app | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||||||||||||||||
14 |
|
| Test in both mobile and webapp | Issuing | Test in both mobile and webapp | Issuing | Test in both mobile and webapp |
| Test in both mobile and webapp |
| Test in both mobile and webapp |
| Test in both mobile and webapp |
| Test in both mobile and webapp | An incident channel member can see a dropdown for users under “Commander” in details view | Incident channel members are listed in the user dropdown list | An incident channel member can be searched by a commander in the user dropdown list | (0.3) | A non-incident channel member cannot be searched in the user dropdown list | A bot message is posted to the incident channel when commander is changed. |
|
Test Area - User must be able to change incident name in mobile app – is this still valid? | ||||||||||||||||||||||
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||||||||||||||||
Test Area - Incident List View for Team Members | ||||||||||||||||||||||
Test ID | Test Case | Test Steps | Result | Notes | E2E test done | |||||||||||||||||
Clicking on the incident icon when there are no incidents, opens the incident RHS to the “welcome” message | With incidents ongoing, clicking on the incident icon when user is in non-incident channel RHS opens up with the incident list for the user | With incidents ongoing, clicking on he incident icon when user is in incident channel with RHS open, shows the current incident details | Switching from one incident channel to another incident channel with the RHS details view will switch to the selected incident’s detail view in the RHS | The incident RHS list view has a “Start Incident” button on the RHS header | The incident RHS list view has a “Create Playbook” button | A user can only see the incident he/she is a member of in the incident RHS list view | A user cannot see a public incident in the incident RHS if he/she is not a member of that incident | “Click here to see all incidents” link in the bottom of the incident RHS list view takes the user to the incident backstage | The incident RHS details view has a “back arrow” that brings a user to the incident list view in RHS | Viewing the incident list from an incident channel highlights the current incident | “Websocket updates should reflect changes automatically.” → what are the websocket updates?
| Pass | ||||||||||
15 | On mobile app, issuing |
| Pass | |||||||||||||||||||
16 | On mobile, issuing |
| Pass | |||||||||||||||||||
17 | On webapp, issuing |
| Pass | Yes - E2E test PR | ||||||||||||||||||
18 | On webapp, issuing | Continue from the above test
| Pass | |||||||||||||||||||
19 | On webapp, issuing | Continue from the above test
| Pass | |||||||||||||||||||
20 | On webapp, issuing | Continue from the above test
| Pass | Yes - E2E test PR |
Test Area - User must be able to see all their incidents in mobile app | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
21 |
|
| Pass | ||
22 | Issuing an | 0. Install a fresh server.
| Pass | ||
23 | Issuing |
| Pass | ||
24 | Issuing | Continue from the above test
| Pass | ||
Issuing | Pass | ||||
Issuing | Pass | ||||
25 | Issuing | Continue from the above test
| Pass | ||
26 | Issuing | Continue from the above test
| Pass | ||
27 | Issuing |
| Pass | ||
28 | Issuing |
| Pass | ||
29 |
|
| Invalid because only 10 of the most recent ongoing incidents are shown. |
Test Area - User must be able to change commander in mobile app | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
30 |
|
| Pass | ||
31 | Issuing |
| Pass | ||
32 | Issuing | In mobile
| Pass | ||
33 |
|
| Pass | ||
34 |
|
| Pass | ||
35 |
|
| Pass | ||
36 |
| Continue from the above test
| Pass | ||
37 | An incident channel member can see a dropdown for users under “Commander” in details view | Covered in older release tests (will be reorganized later). | |||
38 | Incident channel members are listed in the user dropdown list | ||||
39 | An incident channel member can be searched by a commander in the user dropdown list | (0.3) | |||
40 | A non-incident channel member cannot be searched in the user dropdown list | ||||
41 | A bot message is posted to the incident channel when commander is changed. |
|
Test Area - User must be able to change incident name in mobile app – (this is in Confluence) is this still valid? | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
User is able to change a private incident name in mobile app |
| Pass | |||
User is able to change a public incident name in mobile app |
| Pass |
Test Area - Incident List View for Team Members (Webapp only) | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
42 | Clicking on the incident icon when there are no incidents, opens the incident RHS to the “welcome” message |
| Pass | ||
43 | With incidents ongoing, clicking on the incident icon when user is in non-incident channel RHS opens up with the incident list for the user | Continue from the above test.
| Pass | ||
44 | With incidents ongoing, clicking on the incident icon when user is in incident channel with RHS open, shows the current incident details | Continue from the above test.
| Pass | ||
45 | Switching from one incident channel to another incident channel with the RHS details view open will switch to the selected incident’s detail view in the RHS | Continue fromt he above test.
| Pass | ||
46 | The incident RHS list view has a “Start Incident” button in the RHS header | Continue from the above test.
| Pass | ||
47 | The “Start Incident” button in the RHS header opens up the incident creation modal | Continue from the above test.
| Pass | ||
48 | The incident RHS list view has a “Create Playbook” button | Continue from the above test.
| Pass | ||
49 | A user can only see the incident he/she is a member of in the incident RHS list view | Continue from the above test.
| Pass | ||
50 | A user cannot see a public incident in the incident RHS if he/she is not a member of that incident |
| Pass | ||
51 | “Click here to see all incidents” link in the bottom of the incident RHS list view takes the user to the incident backstage |
| Pass | ||
52 | The incident RHS details view has a “back arrow” that brings a user to the incident list view in RHS | Continue from the above test.
| Pass | ||
53 | Viewing the incident list from an incident channel highlights the current incident | Continue from the above test.
| Pass | ||
54 | “Go to Incident Channel” takes the user to the associated incident channel | Continue from the above test.
| Pass | ||
56 | “Websocket updates should reflect changes automatically.” → what are the websocket updates? | Pass |
Test Area - User must be able to step through the incident stages in mobile app | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
| Pass | ||||
| Pass | ||||
| Pass | ||||
Running | Pass | ||||
Running | Pass | ||||
Running `/incident stage next' while in the non-final stage sets the active stage to the next stage | Pass | ||||
Running | Pass | ||||
Running | Pass | ||||
Running | Pass | ||||
Running | Pass | ||||
Running | Pass |
Regression Tests:
Test Area - Plugin Setup | |||||
---|---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes | E2E test done |
A cloud server has the IR plugin v1.0 installed by default | Verify as system administrator | ||||
A cloud server has the IR plugin enabled by default | |||||
The IR plugin can be disabled in a cloud server | |||||
The IR plugin can be removed from a cloud server | |||||
The IR plugin can be installed in an on-premises server that is equipped with an E20 license | |||||
The IR plugin can be enabled normally in an on-premises server that is equipped with an E20 license | |||||
The IR plugin can be disabled in an on-premises server that is equipped with an E20 license | |||||
The IR plugin can be removed from an on-premises server that is equipped with an E20 license. | |||||
The IR plugin cannot be enabled in an on-premises server that is equipped with an E10 license | |||||
The IR plugin can be removed from an on-premises server that is equipped with an E10 license | |||||
The IR plugin cannot be enabled in an on-premises EE server that is not equipped with any license | |||||
The IR plugin can be removed from an on-premises EE server that is not equipped with any license | |||||
The IR plugin cannot be enabled in an on-premises TE server | |||||
The IR plugin can be removed from an on-premises TE server |
...