-
Notifications
You must be signed in to change notification settings - Fork 716
2.16.0 Test Plan
For both upgrades and fresh installs, here is a list of functionality that requires testing. You can use this for copy/pasting into your QA report.
If you have submitted a QA report already for a release candidate with successful basic server testing and application acceptance testing sections, then you can skip these sections in subsequent reports, unless otherwise indicated by the Release Manager. This is to ensure that you focus your QA effort on the release-specific changes as well as changes since the previous release candidate.
Note: you can override production settings for installing the securedrop-admin install script only (not the server-side packages; see QA procedures) by creating a file ~/securedrop_bootstrap.env with contents:
APT_REPO_URL="https://apt-test.freedom.press"
APT_SIGNING_KEY_FILE="apt-test-signing-key.pub"
For upgrades, you'll need to edit the apt source config and add the test release key via apt-key add instead.
- Install target:
- Tails version:
- Test Scenario:
- fresh install - server and tails
- server upgrade from 2.16.0, tails admin and journalist workstation update
- SSH over Tor?:
- Tor PoW enabled?:
- Release candidate:
- General notes:
- Testinfra tests are passing against production servers after installation:
- run the following:
cd Persistent/securedrop sudo apt install -y python3.13-venv python3 -m venv admin/.venv3 && source admin/.venv3/bin/activate torify pip install -r admin/requirements-testinfra.txt TEST_ENV=prod devops/scripts/run_prod_testinfra - verify that tests pass.
- run the following:
- QA Matrix checks pass
- Can successfully add admin user and login
- I have backed up and successfully restored the app server following the backup documentation
- If doing upgrade testing, make a backup on 2.15.1 and restore this backup on this release candidate verifying that it completes successfully
- "Send Test OSSEC Alert" button in the journalist triggers an OSSEC alert and an email is sent
- Can successfully add journalist account with HOTP authentication
- JS warning bar does not appear when using Security Slider high
- JS warning bar does appear when using Security Slider Low
- On generate page, refreshing page produces a new 7-word codename
- On submit page, empty submissions produce flashed message
- On submit page, short message submitted successfully
- On submit page, file greater than 500 MB produces "The connection was reset" in Tor Browser quickly before the entire file is uploaded
- On submit page, file less than 500 MB submitted successfully
- Nonexistent codename cannot log in
- Empty codename cannot log in
- Legitimate codename can log in
- Returning user can view journalist replies - need to log into journalist interface to test
- Can log in with 2FA tokens
- incorrect password cannot log in
- invalid 2fa token cannot log in
- 2fa immediate reuse cannot log in
- Journalist account with HOTP can log in
- Filter by codename works
- Starring and unstarring works
- Click select all selects all submissions
- Selecting all and clicking "Download" works
- You can submit a reply and a flashed message and new row appears
- You cannot submit an empty reply
- Clicking "Delete Source Account" and the source and docs are deleted
- You can click on a document and successfully decrypt using application private key
- Can log in with 2FA tokens
- incorrect password cannot log in
- invalid 2fa token cannot log in
- 2fa immediate reuse cannot log in
- Initial sync completes correctly
- After new SI submissions occur, the submissions appear on the Inbox within the 60s sync interval
- After new SI submissions occur, the submissions appear on the Inbox immediately when Sync Now is selected
- Replies are synced to the server and are displayed when the intended source logs in
- Individual submissions of arbitrary size (up to the server limit) can be downloaded successfully.
- Individual source submissions can be deleted, with a warning modal, and the deletion is reflected in the JI
- A source's files and messages can be deleted en masse via the Source Menu, with a warning modal, and the deletion is reflected in the JI
- A source's account can be deleted via the Source Menu,with a warning modal, and the deletion is reflected in the JI
- An arbitrary number of sources (eg, test 1, 10, 100 sources) can be deleted by selecting their checkboxes in the source list and clicking the delete button that appears in the filter section. The change is reflected in the JI.
- In the JI:
- attempt to log in with permutations of invalid username, passphrase, and 2fa, and verify that in all cases the flash message is the same, starting with "Login failed. Please check your credentials..."
- In the JI:
- attempt to log in with an invalid username (keeping the username the same and optionally varying other credentials) and verify that after the 10th attempt a 60s timeout is applied with the appropriate message
- attempt to log in with an valid username but invalid other credentials and verify that after the 10th attempt a 60s timeout is applied with the appropriate message
- Install or upgrade occurs without error (from
apt-qa.freedom.pressper preflight procedure) - Source interface is available and version string indicates it is 2.16.0
- A message can be successfully submitted
- securedrop-admin is available on session start
- If testing an upgrade, securedrop-admin is upgraded automatically to the current version.