AC
- Explore the different paths our users take to achieve tasks on our software (use-cases/jobs-to-be-done), and document how many of these were explored in depth to sort out the critical ones.
- Conclude a set of crucial paths in Wikibase interfaces (web ui or api) from the previous step:
A crucial path is one that a user take for a use-case when they are using Wikibase. The following are only examples:- readers want to be able to view and item/property, navigate through the links provided in the response and do on web ui (with and without js)
- editors want to be able to create a new item on web ui (with and without js)
- editors want to be able to propose a new property on web ui (with and without js)
- editors want to be able to add/update statements on an item/property, and add qualifiers/references to them on web ui (with and without js)
- bots want to be able to query entities through the api
- bots want to be able to create items through the api
- bots want to be able to add/update statements on an item/property, and add qualifiers/references to them through the api
- end-to-end tests for these crucial paths are implemented in the form of:
- browser tests for web ui paths
- api tests for api paths
Notes
- those tests should avoid depending on interfaces on the same level. For example, browser tests should avoid using the api to prepare the backend system for their tests. The backend system should be initialized for each test with appropriate fixtures.