Prepare your test checklist
Last updated: 20 March, 2025 (part of continual improvement based on new functionality and past issues)
Below is a general guide to what you could test pre-launch to ensure the action will work for everyone. As PostBug is simple for senders but behind the scenes complex, highly configurable, evolving system, a thorough test of the platform is PostBug's responsibility. However a basic test pre-launch is also prudent to check if your configuration is complete and works as intended on different devices and in different languages.
There are three test phases:
- Draft phase: more involved testing to ensure it is complete works the way you want
- Live (pre launch) mode: basic re-testing to ensure it is still OK.
- Live (post launch): if/when supporters report any issues
Draft phase testing
Adapt this advice to the requirements of your specific action depending on what applies.
General functionality
For each language you need to check:
- Branding: Is the correct logo used and the correct button colour and font used?
- Mobile: is the text an OK length or too long?
- Action text: does the action-specific say and look as you expect it to?
- Instruction text: are the headlines, labels, and instruction text correct?
- Recipient lookup: some action types (political representative) identify the recipient before a sender selects an image. Other types (fixed recipient, send to friend, send to GP) have the image selection first. Wherever the recipient selection is in the process, it needs checking with a range of search criteria (postcodes, country, name/city/street) relevant to the action. The next section goes into this in detail.
- Images: do the correct postcard images appear in the desired order? If you have specific images for specific recipients or groups of recipients, check each case is working.
- Message text: does the correct message version appear for the intended recipient? If you have linked specific messages to specific recipients, recipient groups or to a specific image, test each to ensure the correct one comes up. To help you spot it quickly, add a temporary prefix in all caps to the message to evaluate quickly. Remember to remove it after.
- Message editability: Is the message editability as you expect? The editability is quite flexible including fully editable, part editable with no suggested text, part editable with suggested text and uneditable. Also check that when you edit a field if the suggested text remains to be edited but for no suggested text areas the instruction text vanishes.
- Message length: Test with a very short message and a very long message to ensure the message length limiter displays correctly and is clear.
- Sender details: as you specify what sender details are collected, how they are labelled and if they are optional, test them to ensure the required ones are required and the optional are optional. You can also double check if the supporter data export contains them.
- Sender pay and pay forward: if you enabled sender pay and pay forward, check the text and amounts, click through on each option to ensure the payment page amounts match and if the free send option was enabled, also check it is present.
- Questions: Are the consent questions and other questions (e.g. are you a member) displaying the way you want? Are they working the way you want? Note that if you enabled sender pay or pay forward, the questions will appear on the payment page unless the 'free' option is selected.
- Payment: While the action is on draft mode, the payments are also in test mode and none will really go through. To test payment a card payment method, use the card number
4242 4242 4242 4242
with any future date as the expiry date and any three digit number for the CVC code. This should be sufficient, but for more detailed testing see detailed Stripe testing instructions. - Completion page: there are three options for the completion page: redirect to a non-PostBug URL, a social media sharing page or a page with custom copy.
(a) external url: check that it redirects, including it if passes URL tracking variables through if you use them.
(b) social media sharing: check the social sharing links work, the text is passed through and the social sharing image loads (depends on platform how it displays). The chosen postcard should also be displayed.
(c) message page: check it displays properly (including links and any formatting) and those links work properly. This will depend on how they were coded. The chosen postcard should also be displayed.
- Completion email: generally the completion email is now sent for draft actions. However a copy of it will be sent to check. Load it in a browser and check the test and image content is as expected and the links work as expected.
If this seems like a lot, it is just making explicit what should be checked on any action on or off PostBug.
Recipient lookup testing
If your action requires matching or selecting a recipient, then further testing is needed. This is because of the wide and growing range of configuration options to group or limit recipients based on various criteria (location, party/organisation, role in government, etc). Focus on the relevant section below.
- UK MP lookup testing checklist with sample postcodes
- EU MEP lookup testing
- UK General Practitioner checklist with sample postcodes
Multilingual testing
Each language or locale (e.g. Canadian English vs UK English) should be testing as each ha their own set of configurations and content. The can have different images, different messages, different instructions, etc.
Tips for language / locale testing:
- Be clear if each language version is a translation of an original version or is an adaptation for the political and cultureal realities. The second will perform better and be more influencial.
- Have a native speaker / local person check the initial machine-translations and adapt them as necessary
- Step through each language version from beginning to end to ensure it works, is fully adapted and makes sense.
- Don't aim for a literal translation, use the language-appropriate terms as often phrases don't carry the same meaning in other languages (e.g. "leader" in English is "fürher" in German but the second is avoided due to its historical use)