-
Notifications
You must be signed in to change notification settings - Fork 0
5 REQ qa
QA requirements help to ensure a high quality.
Note: General QA requirements affect the overall architecture and implementation of a project, because they are not specific to a feature/functionality. Therefore, these requirements must be considered for every existing or new feature/functionality, as long as these QA requirements are active.
Note: Only general QA requirements should be part of this requirement group. QA requirements that are specific to a requirement group should be added to a qa requirement subgroup for this feature.
A "Definition of Done" is used to ensure consistent quality for new implementations. Issues may add additional content to the general "Definition of Done".
A QA pipeline that is run on every PR and push to main ensures higher code quality.
Running pipeline steps in a defined sequence prevents unnecessary checks, which improves sustainability (see: req(qa.sustain)).
cargo fmt
is used to ensure consistent code styling, and reduces review times, because code can be formatted automatically.
cargo clippy
is used to as linter to ensure good code quality.
cargo build
is used to ensure that the code still compiles.
cargo test
is used to run all mantra tests.
Sustainability should be considered during design decisions and development, to reduce unnecessary waste of resources. e.g. reduce execution of unnecessary workflow steps on PRs
Note: Also during development, because e.g. CI/CD-pipelines may unnecessarily waste resources.
Requirements for mantra should be traced to locations that implement, affect, or test the requirement, because this allows to use mantra for the development of mantra itself.
Using mantra must be simple and as little distracting as possible for developers and requirement engineers. Therefore, the user experience must be considered during development, especially on user-facing functionality.
Created in response to issue #1.
Please create an issue if you found any spelling mistakes.
You may also create an issue if you think the content of this wiki should be improved.
Note: This wiki is managed in its own repository. Any commits made using the edit
button will be overwritten.
Note: Issues for the wiki are handled in the mantra repository, but pull requests for the wiki are handled in the mantra-wiki repository.
This wiki is MIT licensed, and works together with mantra.