Test plan for "Open Web Terminal from attached CI runner in Web IDE"
Test Plan
Introduction
This test plan is for #5426 (closed). The feature allows a user to open a web terminal from the Web IDE and execute commands against the latest committed version of their code.
Scope
- EE-only (Ultimate)
- The terminal will include only the latest commit, not any uncommited changes. A new commit will destroy the current web terminal instance and replace it.
- The web terminal is displayed as a vertical panel. It can be resized but not moved.
ACC Matrix
Simple | Secure | Responsive | Intuitive | Reliable | |
---|---|---|---|---|---|
Web IDE | |||||
CI/CD |
For more information see the Google Testing Blog article about the 10 minute test plan and this wiki page from an open-source tool that implements the ACC model.
Capabilities
Web IDE is:
-
Intuitive
- When a new commit is made and the web terminal is already open the change in the web terminal is clear.
- If a runner it not available the user is appropriately informed.
- The terminal behaves as a typical terminal
-
Reliable
- All code up to the latest commit can be accessed via the web terminal.
-
Responsive
- The web terminal can be resized.
CI/CD is:
- Secure
- The web terminal should allow access only to the code for the project. If a runner is reused or shared there should be no trace of any previous code or code from another project.
- Only applicable runners are used for the web terminal.
Test Plan
End-to-end tests:
- Add and configure a runner, push a change to a project, and then
- start the web terminal and
cat
the changed file - make a change to a project via the Web IDE, commit it and
cat
the changed file
- start the web terminal and
- Start the web terminal while there are no runners available. Check that there is an appropriate message.
- Check that the web terminal can't be started if there is no
web-ide
job defined in.gitlab-ci.yml
. - Check that the web terminal can be stopped and restarted and that there is appropriate feedback.