UXPROD-4663 NFR Scorecard

UXPROD-4663 NFR Scorecard

Status

IN PROGRESS 

Date-time

Apr 16, 2024 

Dev Team

Volaris

Architect

@Kalibek Turgumbayev

Product Owner

@Tim Auger

Scrum Master

@Tetiana Gusar

Team Lead

@Gurleen Kaur1

Prod Ticket

https://folio-org.atlassian.net/browse/UXPROD-4663

Arch Ticket

https://folio-org.atlassian.net/browse/ARCH-178

Tech Design

LC User Registration

Release

Ramsons (R2 2024)



Quality Attribute

NFR ID

Non-Functional Requirement

Preliminary Analysis (Before feature started)- Date and Status

Final Analysis (After feature completed) - Date and Status

Notes and Comments

1

Availability

NFR.Baseline.Availability.1

Modules are designed and implemented following the Stateless principle

Apr 16, 2024  COMPLIANT





2

NFR.Baseline.Availability.2

Load/performance testing must be conducted for at least 2 instances

Apr 16, 2024  COMPLIANT





3

Manageability

NFR.Baseline.Manageability.1

Application logs are collected in a unified form and location

Apr 16, 2024  COMPLIANT





4

NFR.Baseline.Manageability.2

All custom configuration values are placed in the settings, not in the program code

Apr 16, 2024  COMPLIANT







NFR.LCRegistration.Manageability.1

The solution should provide the ability to configure specific LoC fields without affecting other Libraries

Apr 16, 2024  COMPLIANT





5

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

Apr 16, 2024  NOT VERIFIED



Use approach: Performance Testing With Karate Framework

6

Security

NFR.Baseline.Security.1

Tenant data must be isolated from other tenants

Apr 16, 2024  COMPLIANT





7

NFR.Baseline.Security.2

Secrets (such as usernames, passwords, API keys, and/or their combinations) are not stored in source repositories (i.e. Github)

Apr 16, 2024  COMPLIANT





8

NFR.Baseline.Security.3

No sensitive information in logs (logins, passwords, API keys)

Apr 16, 2024  COMPLIANT







NFR.LCRegistration.Security.1

The solution should provide an authorization mechanism through FOLIO edge module API keys mechanism

Apr 16, 2024  COMPLIANT



Covered by using common edge-module API key authorization mechanism

9

Testability

NFR.Baseline.Testability.1

Unit-test coverage for new code created/changed during the implementation of the feature >= 80%

Apr 16, 2024  COMPLIANT





10



NFR.Baseline.Testability.2

E2E-test coverage - # of automated test cases from test rail to # of all test cases at a particular feature

Apr 16, 2024  COMPLIANT





11



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

Apr 16, 2024  COMPLIANT







Interoperability

NFR.LCRegistration.Interoperability.1

The solution should provide external API for 3rd party applications to create patrons in FOLIO

Apr 16, 2024  COMPLIANT



Technical design has the API contract provided through edge-patron module

LEGEND: Enumeration of possible statuses



COMPLIANT Compliance checked and confirmed

NOT VERIFIED Compliance not checked

NON COMPLIANT Compliance checked, and non-compliance found

Not Applicable Сompliance not required, requirement not applicable