Zendesk Testing
This page and the underlying pages are a work in progress. If you do not find the information you need, please speak with other members of the CSS team.
Testing can vary based on what is being tested. For information on testing specific items within Zendesk, please see the matching documentation.
Manual testing
This is the default if no other mechanism is in place. This will vary based on the item being tested, so see underlying documentation for more information.
CustSuppOps Zendesk Test Suite Generator
This is a GitLab Duo agent we have configured (located here). The agent will use the merge request you are working out of (and the linked issue) to generate the test suite for you. As the agent runs, it will:
- State what it is doing and checking (and the logic it is using)
- Ask for approval on child task item content
- Ask for approval on adding a summary comment on the parent issue
- Summarize all actions taken
To use this on projects where it is enabled, navigate to the merge request you have created, open a GitLab Duo chat, select the agent CustSuppOps Zendesk Test Suite Generator, and ask it to perform its task (the exact wording does not really matter).
Test Suite Script
This is a very new beta feature we are implementing. As such, it is not live in all projects and may encounter issues in running. See gitlab-com/eta/css&28 for more information on releases and development.
Should you encounter problems using this method, please file a Bug issue and assign it to @jcolyer. After doing so, please use an alternative method of testing.
Presetup
For all items, the test suite will check to ensure all presetup has been done. At a minimum, you need the following done to run the test suite:
GITLAB_TOKENis defined in your environmentSB_ZD_SECRETis defined in your environment (for Zendesk Global testing)SB_ZD_CLIENT_NAMEis defined in your environment (for Zendesk Global testing)US_SB_ZD_CLIENT_NAMEis defined in your environment (for Zendesk US Government testing)US_SB_ZD_SECRETis defined in your environment (for Zendesk US Government testing)- Your local repo is in a branch that is not
masterormain - An open merge request exists for your branch (and only one)
- The parent issue can be located from your branch’s name (should be the numbers after the last hyphen)
It is also recommended you are prepared to generate recovery codes if the testing will require logging in as an agent.
This can vary slightly from item to item, so please check corresponding documentation for more specific needs.
Using the tool
To use the tool:
- Create the merge request for your changes
- Navigate to the repo on your local computer via CLI
- Ensure you are in the branch for your MR (example: If your branch was
jcolyer-issue-tracker-123, you should go to the repo and rungit checkout jcolyer-issue-tracker-123). - Ensure you have all needed ruby gems by running bundler (
bundle install)- Don’t forget to remove the
Gemfile.lockfile, as it could block getting updated gems
- Don’t forget to remove the
- Run the script using the command
./bin/perform_test_suite
2a895141)
