Test plan for "Open Web Terminal from attached CI runner in Web IDE"
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
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.
Edited by 🤖 GitLab Bot 🤖