About Features Downloads Getting Started Documentation Events Support GitHub

Site Tools

Warning: This page has not been updated in over over a year and may be outdated or deprecated.

Testing Checklist

In any application, adding new features can sometimes break old ones. The intent of this page is to list key VuFind features in checklist format so that periodic reviews can be made to ensure that everything is functioning as expected. This list is aimed at high-level testing by a human using a web browser; for automated testing, see the Unit Tests page.

Please add your own notes to this page if you add or encounter features that you think may get lost in the shuffle without occasional testing. This list may become very long, but it is useful to have a reminder.

:!: This page is fairly old and hasn't been updated in a while; in most cases, the Mink-based browser automation tests are better than testing by hand, and building new test classes is preferable to adding notes here. However, this page is still being retained for reference for the moment, at least until all of the listed tasks are covered by automated tests.

General Considerations

Browser Testing

  • Test the interface in multiple browsers to check for display inconsistencies and Javascript incompatibilities. We are most concerned with compatibility with the current generation of browsers, but compatibility with earlier versions is desirable when possible. Recommended browsers to test:
    • Firefox
    • Internet Explorer
    • Chrome
    • Safari
    • Opera

Input Testing

  • Test fields stored in the database for SQL injection vulnerabilities.
  • Test fields sent as Solr searches for vulnerability to syntax errors.
  • Test fields where input is stored and displayed back for XSS vulnerabilities and missing HTML/URL encoding. A good test is “<script>alert('test');</script>” – if there is an XSS vulnerability, this will cause a pop-up to appear!

Specific Modules

Admin Module

  • Test Statistics feature.
    • Does statistics collection enable/disable appropriately based on config.ini setting?
    • Does browser identification work correctly?
    • Are record views counted?
    • Are searches counted?
    • Are no-hit searches counted?

Author Module

  • Test sorting and paging of results.

Browse Module

  • Test all paths through the browse boxes.
  • Test that result counts are consistent between browse view and search results screen when following links to results.

MyResearch Module

  • Test that ILS data is properly pulled down and displayed (checked out items, etc.).
  • Test that list management functionality works correctly.

Record Module

  • Test “Cite This” functionality.
  • Test “Text This” functionality.
  • Test “Email This” functionality.
  • Test RefWorks/EndNote/Zotero interface.
  • Test “Add to Favorites” functionality.

Search Module

  • Test sorting and paging of results.
  • Test that all special searches (author, title, etc.) are actually searching the correct set of index fields.
  • Test that adding and removing facet filters from the result set works correctly.
  • Doing an author search should display a box of author facets at the top of the results screen with links to the Author module.
development/testing/checklist.txt · Last modified: 2021/02/17 18:10 by demiankatz