Exploratory Testing
Try these actions to manually explore the app. This is not a strictly ordered list, but a guide meant to spark ideas of how to test/break the app.
Each block below is a grouping of steps meant to test a feature or system capability.
The faster you move through each step in a group, the better. The goal is to put the system under stress, and fast movements usually reveals leaky code that doesn't respond well to unexpected user actions/timing.
You don't need to test every single group for every commit/change - just explore the actions (and their groups) that you guess might have been affected from the latest changes you made in your code.
Every now and then, especially before a big push or Pull Request, try to go through all of the groups/actions.
The whole run through should only take a couple of minutes.
Also, keep an eye on your console.log for unexpected errors, which may signal a problem, even if the UI responds correctly.
- drag an image file onto the canvas from your desktop
- drag several image files onto the canvas from your desktop
- delete all of these image bits in rapid fire
- undo all the way to the start of this test
ensure you get a blank canvas
- drag an image file onto canvas from your desktop
- preview it
- close/cancel to return to the canvas
- [refresh]
ensure only latest image bit is displayed, none of the images from the first batch
- start a text bit
- type in the form
- close/cancel to return to the canvas
ensure text bit was not saved
- start a text bit
- type in the form, including a markdown snippet
- hit Enter to save
- delete newly created text bit
- [refresh]
ensure text bit is gone
- undo
- edit the text bit
- save
- [refresh]
ensure text bit displays with updated content
- create a sketch bit
- draw several strokes (either with pen or mouse)
- undo one stroke
- change opacity using arrow keys up and down
- [refresh]
ensure sketch displays without first stroke
- start a parallel
- escape
ensure no parallel was created
- clip a bit in one tab, switch back to canvas
ensure clipped bit is created on the canvas
- preview it
- delete it