Document version 0.0
Status: Test Development in Progress
Document Version | Description | Date |
---|---|---|
0.0 | Initial version | 08/07 |
References
Related Tests:
Summary
This document details the tests for Incident Response plugin v0.6.0. The tests are derived from the user stories in the requirements for v0.6. The MVP of the Incident Response plugin will be tested against the relevant tests included in this test plan if the feature is included.
Scope
This document covers the cases for the user stories as outlined in the Incident Response MVP Overview for v.0.6.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.6.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.
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 test server running the latest version.
The test server may not need to be equipped with an EE license.
Incident Plugin v0.6.
Channel Export Plugin v0.2
Test Server:
Test Server (upgrade tests):
Build Hash:
EE Build Hash:
Webapp Build Hash:
Test Date:
Tests
Test Area - Plugin Setup | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Admin can install plugin in a non-EE instance |
| |||
Admin can install plugin in an E10 instance |
| |||
Admin can install plugin in an E20 instance |
| |||
Admin can enable plugin |
| |||
Plugin functionality is available to admin |
| |||
Plugin functionality is available to normal user |
| |||
Admin can disable plugin |
| |||
Admin can remove plugin |
| |||
Plugin upgrades normally from v0.4 to v0.6 |
| |||
Plugin upgrades normally from v0.5 to v0.6 |
| |||
Incidents started with the prior plugin versions are still active and available in v0.6 |
| |||
Incidents ended with prior plugin versions are not available in v0.6 |
| |||
Playbook started with the older plugin version is still available upon plugin upgrade |
|
Test Area - Create stages when editing a playbook | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Playbook creator can edit playbook | ||||
Any playbook member can edit playbook to add a new member | ||||
Any playbook member can edit playbook to remove an existing member | ||||
A playbook member cannot edit playbook to remove all the members of the playbook | The “Save Playbook” button should stay inactive unless there is at least one member | |||
Any playbook member can edit playbook to change the private/public incident setting | ||||
Any playbook member can edit playbook to add a new checklist item to a stage added by a different member | ||||
Any playbook member can edit playbook to add a new stage | ||||
A playbook member can edit playbook to add a new checklist item to a stage added by themself | ||||
A playbook member cannot edit playbook such that the playbook name field is empty | ||||
Any playbook member can reorder the checklist items within a stage | ||||
Any playbook member can reorder the checklist items within different stages | ||||
A playbook member cannot reorder the playbook such that the checklist items can be pulled outside a stage | ||||
Any playbook member can delete a checklist item | ||||
A playbook member can edit the playbook to delete all the checklist items such that all the stages can have no checklist item at all | ||||
Any playbook member can reorder the stages | ||||
A playbook member cannot reorder the playbook such that the stages can be nested | Verify that the stages cannot be stacked inside another stage | |||
Any playbook member can delete a stage | ||||
A playbook member cannot delete the last remaining stage such that the playbook has no stages at all | ||||
Any playbook member can delete playbook | ||||
A playbook member can create playbook with a large number of stages | Verify playbook with a large number of stages in the edit page | |||
A playbook member can create playbook with a large number of checklist items within the stages | Verify playbook with a large number of checklist items within the stages in the edit page | |||
The components in the playbook edit page render normally | Verify the appearance of the components in the playbook edit page |
Test Area - Set active workflow stage | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Workflow owner can change the active stage in incident RHS | ||||
Workflow member views the active stage by default in incident RHS | ||||
In case of only one stage, the stage is active by default | ||||
Test Area - View steps in stages during a workflow | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Test Area - Assign step owners | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Test Area - Attach a slash command to each step when editing playbook | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Test Area - Browse existing slash commands in playbook editing | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Test Area - Automatically execute the attached slash command when starting a step during a workflow | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |
Test Area - Tests/bugs outside of requirements and user stories | ||||
---|---|---|---|---|
Test ID | Test Case | Test Steps | Result | Notes |