Tests are based on validating requirements. Requirements are derived from use cases that address the needs of people in specific roles.
Roles
- Viewer: sees content on web UI, reads PDF versions. Uses either the web UI or the API.
- Editor: adds equations, inference rules, and derivations. Uses either the web UI or the API
- Developer: uses the API to build an alternative web UI or runs a service that leverages the PDG
- Contributor: edits documentation and source code, fixes bugs. Uses github issue tracker.
Use cases per role
- Viewer
- reads documentation about PDG
- sees the number of derivations
- on the navigation page
- sees the number of symbols
- on the navigation page
- sees the number of inference rules
- on the navigation page
- sees the number of expressions
- on the navigation page
- sees a list of derivations
- accessed from the navigation page
- sees a list of expressions
- accessed from the navigation page
- sees a list of inference rules
- accessed from the navigation page
- sees a list of symbols
- accessed from the navigation page
- see a list of derivations that use a specific symbol
- see a list of derivations that use a specific inference rule
- see a list of derivations that use a specific expression
- see the steps of a specific derivation
- accessed from the list of derivations
- Editor has same as Viewer, plus:
(the following actions require being logged in) - adds a new derivation
- accessed from the navigation page
- next page is create new step
- edits an existing derivation
- accessed from the list of derivations
- after edit is submitted, return to viewing that derivation
- deletes an derivation
- accessed from the list of derivations
- after delete is confirmed, return to list of derivations
- adds a new step
- return to derivation
- edits an existing step
- deletes a step
- return to derivation
- adds a new expression
- return to derivation step
- edits an existing expression
- change Latex
- change relation (e.g., = to >)
- change label
- deletes an expression
- adds a new inference rule
- edits an existing inference rule
- change number of arguments
- deletes an inference rule. (What happens to all the instances of use in various derivations?)
- adds a new symbol
- edits an existing symbol
- change the latex
- change the sympy
- deletes a symbol. (What happens to all the instances of use in various expressions?)
- delete all database content
- return to navigation page
For each of the use cases per role,
- test in web UI
- test in API
No comments:
Post a Comment