Gå till innehållet

10. Quality requirements

Quality tree

mindmap
  root((MRBS quality))
    Integrity
      Conflict prevention
      Correct recurrence
      Transactional updates
    Security
      Authentication
      Authorization
      Input and redirect safety
      Secret protection
    Operability
      Upgrade and rollback
      Diagnostics
      Backup and restore
    Compatibility
      MySQL and PostgreSQL
      Identity providers
      Locales and timezones
    Usability
      Clear availability
      Efficient booking
      Accessible administration
    Maintainability
      Isolated variants
      Documented configuration
      Testable policies

Quality scenarios

ID Scenario Expected response
Q1 Two users save the same room and time concurrently At most one conflicting booking is accepted
Q2 A normal user requests an administrator handler directly The server rejects the action regardless of UI visibility
Q3 A recurring booking crosses a daylight-saving change Displayed local times follow the configured room timezone and recurrence intent
Q4 The same release runs on MySQL and PostgreSQL User-visible booking behavior remains equivalent
Q5 An LDAP or SAML provider is unavailable The failure is contained, logged without credentials, and does not corrupt local booking data
Q6 An operator upgrades a customized installation Local config can be transferred deliberately and the schema is migrated or safely rolled back
Q7 A visitor opens a private booking Only information permitted by privacy and access policy is exposed
Q8 A mail server rejects a notification The application records a useful operational error without exposing secrets to the user
Q9 A translator adds a locale Missing strings fall back predictably and pages remain usable
Q10 A new database or identity adapter is added The variant integrates behind the existing factory boundary

Suggested measurable checks

  • Database integration tests run on both supported engines.
  • Authorization tests call handlers directly at every access level.
  • Time tests include DST gaps, DST overlaps, and multiple room timezones.
  • Upgrade tests start from representative historical schemas.
  • Static checks cover all PHP files and bundled compatibility-sensitive code.
  • Documentation builds in strict mode and checks all four language variants.