Exploratory Testing

Exploratory testing is a type of manual testing in which the tester tests in an unscripted manor to exercise various use cases and report defects found along the way.  Focus is on uncovering defects (performance, functional etc).  Because FOLIO is a work in progress, it can be challenging to differentiate between a defect and an incomplete feature.  For this reason, exploratory testing should be conducted with a good sense of context (e.g. what features are relatively complete, what problems are known issues etc) and issues filed from exploratory testing should be reviewed by a Product Owner or Dev Lead before being passed on to development. 

Process

  1. Review the below context notes to familiarize yourself with the current state of various features as well as some key known issues.  
  2. Test FOLIO to uncover defects (e.g. errors thrown, poor performance, layout issues, functional failures)
  3. File bugs for issues found in the FOLIO project.  These will then be reviewed by Cate Boerema and/or Jakub Skoczen before being passed along to the development teams.  
    1. Before you file a bug, you might want to scan the Bugs filter for recently filed bugs to make sure there isn't already a bug created
    2. Please use the standard bug write-up format


Additional Info: If you are unsure about whether the issues you have discovered are bugs or known issues, you can email Cate Boerema for a quick check before filing the JIRA issues.


FOLIO Context Notes

FOLIO is very much a work in progress and nearly every feature is incomplete in important ways.  The purpose of this context information is to highlight some of the key known issues by app.  This section may become out of date as FOLIO development progresses.  Please feel free to contribute updates that you are aware of or ping Cate if you have questions and/or notice discrepancies.

  • Landing page - Placeholder landing page for when you first log into FOLIO.  It currently reads, "Welcome, the Future Of Libraries Is OPEN!".  This is not a real feature and will be replaced before v1.
  • Users - Of all FOLIO apps, Users is the closest to functionally complete
    • Known issues/gaps:
      • Impossible to login as users created via APIs MODUSERBL-23
      • Field layout and presentation - This is scheduled to be addressed as part of UIU-282
      • Missing location affiliations - FOLIO has no concept yet of locations (campus, branch etc) so users are not yet associated with these things
      • Permissions
        • Permissions for various apps are being created when the app is close to functional completion.  In the meantime, all-or-nothing permissions are created to enable testing by users other than the super user.  For example, "Inventory - All permissions".  It is recognized that these permissions will need to be replaced by more granular permissions down the road.
        • Permissions have no location scope - Again, because FOLIO has no notion of location, there is no ability to assign permissions to a user within a specific location context
      • General fields - The User Management and Resource Access SIGs have identified many fields to be added to the user record and only some of those have been implemented at this point.  The user metadata worksheet tracks all the fields under discussion and whether then have been implemented (see User Story column)
      • Ability to show/hide profile pic based on institutional settings
      • Patron block
  • Loans - Accessed from the user record as well as the checkout screen, this feature is actually part of circulation.  This feature is fairly well-defined but implementation is still very much in-progress.  
    • Known issues/gaps:
      • Visual documentation for the Loans and Loan Details pages can be found here: https://drive.google.com/drive/folders/0By8ccf5VV4EWSy14X2RIWVVXLTQ
        • There are many features that are defined in these mockups which are not yet implemented.  This is the result of iterative development, not (necessarily) due to defects.  Additional stories will be added to bring FOLIO inline with the mockups.
        • Closed loans - while we have a mockup for this, it is out of date and needs further discussion with the SIG
      • Loan history - There isn't yet a way for an institution in FOLIO to set whether and how much loan history to retain.  This will be added in later stories.
      • Due date - Due dates will eventually be determined by the Loan policy associated with the transaction, but is currently hardcoded as checkout date + 14 days.  We will fix this with future stories such as UICHKOUT-25.
      • Renewal period - Like due dates, renewal periods should also come from the loan policy, but for now every loan can be renewed an unlimited amount of time and the period is hardcoded as checkout date + 30 days.  Will will fix this with future stories such as UICHKOUT-24.
  • Fees and Fines - This feature is coming soon and will be developed incrementally by the UNAM team.  See the latest mockups here: https://drive.google.com/drive/folders/0By8ccf5VV4EWblRhS015b21kNFk
  • Proxy -  This feature is being developed incrementally and is very much in progress at the time of writing.  That said, it should be possible to check items out as a proxy.
  • Check Out - Check out is functional but not pretty.  We have stories in the backlog to clean it up.
    • Known issues/gaps:
      • Fields for scanning/searching and selecting patron and items are confusingly labeled.  Will address as part of UICHKOUT-27
      • Data displayed for checked out items is not sufficient.  Will address in UICHKOUT-27 and other stories.
      • No handling for inactive users or patron blocks
      • Error when checking out an items that is already checked out (will be fixed as part of UICHKOUT-34
      • Can't adjust pane sizes by repositioning the divider
  • Check In - This feature is functional but not much time has been spent on discussing it with the SIGs.  
    • Known issues:
      • Title (should probably be relabeled Instance) and barcode should be links to instance and item record, respectively.
  • Requests - This feature is in progress and there is much related functionality still to be defined and implemented.  A hold or recall request can be created, but fulfillment hasn't yet been implemented.
    • Known issues/gaps:
      • Request fulfillment not yet implemented
      • Request types beyond Hold and Recall
      • Request queue
      • Notifications 
      • Etc.
  • Inventory - Very early stage development.  Probably doesn't make sense to do much exploratory testing in this app.
    • Known issues/gaps:
      • Many
  • Items - This app is being deprecated, as items will be searched and accessed within the context of Inventory.  
  • Notifications (bell icon in top nav) - This is proof of concept used for testing underlying notification sub-system.  It's very early development.  
    • Known issues/gaps:
      • Many
  • Notes (accessible by clicking Notes icon when looking at a user or request record) - Very simple notes feature which allows the CRUD of notes or comments associated with a record.
    • Known issues/gaps:
      • Can't edit notes at the moment - UIREQ-31
      • Currently only integrated into Users and Requests
  • Settings - System configurations organized (primarly) by app
    • Checkout > Scan ID - Simple selection of which patron ID is scanned in checkout (will typically be barcode, but SMEs wated ability to configure).  We may decide to move this under Circulation (below) to consolidate.
    • Circulation - Settings related to circulation module as a whole, not to a particular app (so these settings may apply to what you see in check out, check in, requests etc.
      • Circulation > Fixed due date schedules - Recently implemented as part of UICIRC-20 and UICIRC-22, both of which are In Review at the time of writing.  I think there may be some usability issues with this feature.
      • Circulation > Loan policies - Loan policies provide the rules that govern loans (e.g. is an item loanable, for how long, can it be renewed etc).
        • Known issues/gaps:
          • Loan policies aren't yet hooked up to loans so we have temporarily hard-coded the loan and renewal periods
            • Due date - Due dates will eventually be determined by the Loan policy associated with the transaction, but is currently hardcoded as checkout date + 14 days.  We will fix this with future stories such as UICHKOUT-25.
            • Renewal period - Like due dates, renewal periods should also come from the loan policy, but for now every loan can be renewed an unlimited amount of time and the period is hardcoded as checkout date + 30 days.  Will will fix this with future stories such as UICHKOUT-24.
      • Circulation > Loan rules - Loan rules are what target the loan policies to loan transactions.  This feature is still very much in development.  Please do not do exploratory testing here.  
    • Developer - For developer use, please don't test.
      • Developer > Configuration
      • Developer > Hotkeys test
      • Developer > Plugin test
      • Developer > Set token
    • Items - This is an app that tracks the copies of titles/instances.  These are the things that circulate.  
      • Items > Loan types - Loan type is an attribute of an item.  They are library-defined here.  These loan types can be used in loan rules.
      • Items > Material types - Materia type is currently an attribute of an item.  They are library-defined here.  Material types can be used in loan rules.
        • Known issues/gaps:
          • There is an attribute called "Resource type" at the Instance level which has many of the same values as Material type might have (e.g. book, dvd, cd).  It is unclear now whether we need both and, if so, how they might work together.
    • Organization - General tenant settings
      • Organization > Key bindings
      • Organization > Language and localization - We do have support for tenant-level locale setting and it drives date and time format, as well as language for labels and system-defined controlled vocabularies.  There are some major known issues though:
        • Known issues/gaps:
          • Currently only have a handful of locales implemented
          • Currently don't have translations with the exception of a few German strings
      • Organization > Preferred plugins
      • Organization > Key bindings
      • Organization > SSO settings
      • Organization > Shelving locations
    • Users - Settings related to the Users app
      • Users > Address types
      • Users > Patron groups
      • Users > Permission sets
  • Trivial - This will not be enabled in FOLIO and can be ignored.