docs: Revising test checklist documentation
authored
bystephen
The test checklist documentation was a little shaggy, a little out of date, and a little out of order. Both it and its copy-paste-capable twin have been updated as per the current state of the site.
| 1 | Transaction goes through and Sue confirms it | Al,Sue | ASAP | Al? makes a transaction, Sue confirms receipt |
| 2 | Post-transaction screen deemed acceptable (and if we have to make one, we make it) | Al, Stephen | ASAP (before sue's vacation) | Al? makes a transaction, livestreams or screenshots result |
| 3 | Ensure that QR codes behave as expected when scanned with wallet app | Al?, Stephen | ASAP | Someone with a wallet app should scan each QR code and ensure that the correct crypto address for the correct cryptocurrency is populated in the app, in whichever manner is expected - this should not require us to further ensure that the wallet app itself acts as intended, unless that is desired |
| 1 | Basic tire-kicking testing of non-donation pages and links | Tor staff (any) | 27 August | FAQ, Crypto page, header links, footer links; note any nonfunctional link(s) - WRITE INSTRUCTIONS |
| 2 | Ensure test-card transactions are successful - this is a site navigation / design test | Tor staff | 27 August | Make payment with test cards; take screenshot(s) of final result OR anything that looks out of place, noting OS and browser; record transactions in google sheet - MATT WRITES INSTRUCTIONS |
### Tor staff / naive user credit card tests
### Crypto tests
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 4 | Ensure gift card credit card transactions are successful - this is a site navigation / design test | Tor staff, | 27 August | Make payment with gift card; take screenshot(s) of final result OR anything that looks out of place, noting OS and browser; record transactions in google sheet - MATT WRITES INSTRUCTIONS |
| 5 | Test PayPal interface using naive users and dummy PayPal info | Tor staff | 27 August | take screenshots as above, noting OS and browser |
| 5.5 | Check these transactions against staging CiviCRM | Matt | 27 August | |
| 3 | Ensure that QR codes behave as expected when scanned with wallet app | Al, Stephen | ASAP | Someone with a wallet app should scan each QR code and ensure that the correct crypto address for the correct cryptocurrency is populated in the app, in whichever manner is expected - this should not require us to further ensure that the wallet app itself acts as intended, unless that is desired |
| 4 | Post-transaction screen deemed acceptable (and if we have to make one, we make it) | Al, Stephen | ASAP (before sue's vacation) | Al? makes a transaction, livestreams or screenshots result |
| 5 | Sue confirms that transaction has gone through to Tor wallet| Al, Sue| ASAP| Al/Stephen make a transaction, Sue confirms receipt
### CiviCRM recording
### Mock transaction testing
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 6 | Ensure credit card one-time payments are tracked | Matt, Stephen | ~27 August | Make payment with for-testing CC# and conspicuous donor name, then check donation list in CiviCRM |
| 6.5 | Ensure credit card transaction against live card operates as expected | Matt, Stephen | ~27 August | **If changes don't need to be made to live settings to accomplish**: Make payment with ML's CC, check donation list in CiviCRM, check Stripe |
| 7 | Ensure credit card errors are not tracked | Matt, Stephen | ~27 August | Make payment with for-testing intentionally-error-throwing CC# (4000 0000 0000 0002) and ensure CiviCRM does not receive data. Ideally, ensure event is logged |
| 8 | Ensure Paypal one-time payments are tracked | Matt, Stephen | ~27 August | Make payment with Paypal account, then check donation list in CiviCRM |
| 8.5 | Ensure Paypal transaction against live account is tracked | Matt, Stephen | ~27 August | **If changes don't need to be made to live settings to accomplish**: Make payment with ML's account, check donation list in CiviCRM, check Paypal |
| 9 | Ensure Stripe webhooks catch behavior properly | Matt, Stephen | ~27 August | Use Stripe webhook testing tools to generate events and test output - may involve changing webhook endpoint in Stripe backend to donate-neo staging |
| 10 | Ensure Paypal webhooks catch behavior properly | Matt, Stephen | ~27 August | Use Paypal webhook testing tools to generate events and test output - may involve changing webhook endpoint in Paypal backend to donate-neo staging |
| 8 | Ensure Paypal one-time payments are tracked | Matt, Stephen | ~27 August | Make payment with for-testing Paypal account, then check donation list in CiviCRM |
| 9 | Ensure Stripe recurring payments are tracked | Matt, Stephen | ~27 August | Make payment with for-testing CC# and conspicuous donor name, then check donation list in CiviCRM (and ensure type is "recurring") |
| 10 | Ensure Paypal recurring payments are tracked | Matt, Stephen | ~27 August | Make payment with for-testing Paypal account, then check donation list in CiviCRM (and ensure type is "recurring") |
### Stripe clock testing
### GENERAL SITE TESTS
Note: Stripe does not currently allow for clock tests to be performed
with preseeded invoice IDs, so it is currently not possible to perform
clock tests in a way which maps CiviCRM user data or donation form
data to the donation. Successful Stripe clock tests will appear in
CiviCRM Staging as anonymous.
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 11 | Ensure future credit card recurring payments are tracked | Matt, Stephen | ~27 August | Set up clock testing suite in Stripe backend with dummy user and for-testing CC# which starts on ~27 June or July, then advance clock forward until it can be rebilled. Observe behavior in CiviCRM (the donation will be anonymous as noted above). |
### Stripe and Paypal recurring transaction webhook event testing
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 12 | Ensure future credit card errors are tracked | Matt, Stephen | ~27 August | Trigger relevant webhook event with Stripe testing tools, inspect result as captured by CiviCRM |
| 13 | Ensure future Paypal recurring payments are tracked | Matt, Stephen | ~27 August | Trigger relevant webhook event with Paypal testing tools, inspect result as captured by CiviCRM |
| 14 | Ensure future Paypal errors are tracked | Matt, Stephen | ~27 August | Trigger relevant webhook event with Stripe testing tools, inspect result as captured by CiviCRM |
### NEWSLETTER SIGNUP
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 12 | Test standalone subscription form | Matt, Stephen | ~27 August | CiviCRM receives intent to subscribe and generates - and sends - a confirmation email |
| 13 | Test confirmation email link | Matt, Stephen | ~27 August | Donate-staging should show a success/thank-you page; user should be registered as newsletter subscriber in CiviCRM |
| 14 | Test "newsletter actions" | Matt, Stephen | ~27 August | Should be able to unsub/resub/cancel sub from bespoke endpoints & have change in status reflected in subscriber status in CiviCRM |
| 15 | Test donation form subscription checkbox | Matt, Stephen | ~27 August | Should generate and send confirmation email just like standalone form |
| 15 | Test standalone subscription form | Matt, Stephen | ~27 August | CiviCRM receives intent to subscribe and generates - and sends - a confirmation email |
| 16 | Test confirmation email link | Matt, Stephen | ~27 August | Donate-staging should show a success/thank-you page; user should be registered as newsletter subscriber in CiviCRM |
| 17 | Test donation form subscription checkbox | Matt, Stephen | ~27 August | Should generate and send confirmation email just like standalone form |
| 18 | Test "newsletter actions" | Matt, Stephen | ~27 August | Should be able to unsub/resub/cancel sub from bespoke endpoints & have change in status reflected in subscriber status in CiviCRM |
Here's the test procedure for step 12:
### POST LAUNCH transaction tests
| # | What are we proving | Who's Testing? | Start when? | How are we proving it |
| 19 | Ensure gift card transactions are successful | Matt, Stephen | 10 September | Make payment with gift card and conspicuous donor name, then check donation list in CiviCRM |
| 20 | Ensure live Paypal transactions are successful | Matt, Stephen | 10 September | Make payments with personal Paypal accounts, then check donation list in CiviCRM |