...
Quality Attribute | NFR ID | Non-Functional Requirement | Notes and Comments | Status | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Availability | NFR.Baseline.Availability.1 | Modules are designed and implemented following the Stateless principle | https://wikifolio-org.folioatlassian.orgnet/wiki/display/DD/Stateless%2C+Horizontal+scaling%2C+and+High+Availability |
| ||||||||
NFR.Baseline.Availability.2 | Load/performance testing must be conducted for at least 2 deployed instances of a module | |||||||||||
Manageability | NFR.Baseline.Manageability.1 | Application logs are collected in a unified form and location | https://wikifolio-org.folioatlassian.orgnet/wiki/display/DD/Folio+logging+solution https://wikifolio-org.folioatlassian.orgnet/wiki/display/DD/Logging | |||||||||
NFR.Baseline.Manageability.2 | All custom configuration values are placed in the settings, not in the program code | |||||||||||
Performance | NFR.Baseline.Performance.1 | Components are performance tested and compared to the prior release baseline; performance may not degrade more than 5% in exceptional cases |
| |||||||||
Security | NFR.Baseline.Security.1 | Tenant data must be isolated from other tenants | Kitfox - there is an option to create 2 tenants on the same rancher, so QA needs to create appropriate test cases and test them | |||||||||
NFR.Baseline.Security.2 | Secrets (such as usernames, passwords, API keys, and/or their combinations) are not stored in source repositories (i.e. Github) | To get started - a simple search on the GitHub repository | ||||||||||
NFR.Baseline.Security.3 | No sensitive information in logs (logins, passwords, API keys) | This https://github.com/folio-org/personal-data-disclosure/blob/master/PERSONAL_DATA_DISCLOSURE.md#overview can be used as a source of information about PII/sensitive data https://wikifolio-org.folioatlassian.orgnet/wiki/display/DD/Logging#Logging-Sensitiveinformation (https://github.com/folio-org/folio-spring-base/blob/master/src/main/java/org/folio/spring/utils/LoggingUtils.java is a placeholder with no implementation) | ||||||||||
Testability | NFR.Baseline.Testability.1 | Unit-test coverage for new code created/changed during the implementation of the feature >= 80% | ||||||||||
NFR.Baseline.Testability.2 | E2E-test coverage - # of automated test cases from test rail to # of all test cases at a particular feature | |||||||||||
NFR.Baseline.Testability.3 | Karate-test coverage - # of test to # of new endpoints that were created (or existing endpoints that were changed) in the feature scope |
...
Expand | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Below are some NFRs that have been discussed but it was decided not to include them in the initial version of the NFR Scorecard:
|
...
Review the FOLIO NFR Scorecard with stakeholders and interested, agree on working and metrics,
Choose 2 features in the Poppy release to give a try in practice (different teams, SAs, POs),
Poppy R2 2023 - NFR Compliance Review - create a NFR epic in ARCH project - https://issuesfolio-org.folioatlassian.orgnet/browse/ARCH-45
Collect feedback and adjust the NFR Scorecard if needed, agree on particular features for piloting
Pilot NFR Scorecard
Collect feedback and adjust the NFR Scorecard if needed
Introduce the NFR Scorecard as a recommended practice in the Quesnelia release
Develop a tool for monitoring and analysis
Collect feedback after Quesnelia and adjust the NFR Scorecard if needed
...