Testing

From CTRNet Wiki
Jump to: navigation, search

Bug Reporting

All bugs should be added to the CTRNet Eventum issue tracking system. Ensure the issue is properly documented and demonstrable on the development ATiM installation.

NOTE - If the issue is only relevant to a local installation please provide code and/or SQL to replicate the issue on the dev site.

We use Eventum to manage all bugs, issues, and other new features to be implemented within ATiM. When reporting a new bug please see the Eventum documentation for more information.


Testing Eventum Issues

Whomever implements or fixes an Eventum item should perform a basic test case on the issue. Any additional testing required should be outlined within an internal note for the issue. Once development is complete the issue is flagged "Evaluation and Testing". At this stage the issue reporter is responsible for any additional testing if required as well as final testing, and should close the issue if it is accepted.


Testing Forms

Whenever a form is created or altered, a basic set of testing should be performed by the developer before committing changes to our SVN repository and uploading the changes to the development site.

At minimum each field, for every view type for that form should be tested. For example:

Form - Participant
Fields - First Name, Last Name, Date of Birth
Views - Detail, Index, Edit, Add, Search

The tester should open each view type and populate every field to ensure they save correctly. If any calls to functions in other controllers are made these should be tested by the developer making the call.

Contents

Pre install testing

Before installing a customized version, some tests need to be run to ensure the system will work properly.

The first test to run will tell you which tables do not match with their revisions counterpart. It will also give you a list of table without revisions (except for the ones ATiM knows no revisions are required) and a list of missing translations. This test can be found in svn under atimTools and is named "Database Validation". Simply open the page and select your database.

The second test to run will validate all master/detail models to make sure it is possible to search on them. This test is located directly into ATiM, but hidden. First, turn debug on. Then open ATiM, go to Administrate => ATiM Versions. Change the last part of the url from "detail" to "test". It will print a nice list of master as main node and their detail as sub-nodes. If it's fine, you should see "test completed". If there is an error, the list will end with it. Most common error is having a detail table name not ending with an "s". Eg.: "some_potato" should be name "some_potatoes". Even if it doesn't make sense to have the plural form, it should end with an "s". Eg.: "abc" should be "abcs".

Features to test

Here is a list of features that need to be verified prior to each releases.

Datamart

The datamart handles multiple datamodel in multiple ways.

  1. Databrowser
    1. Single straight model.
    2. Single master model with mixed results.
    3. Single master model with a unique ctrl id result set
    4. Merging across all types of nodes in any direction works with a decent performance.
    5. Overflow
    6. Exporting to CSV all of the precedent datamart points.
    7. Unused parent option
    8. Create batchset
    9. Add to batchset
  2. BatchSet
    1. Create batchset
    2. Add to batchset
    3. Remove from batchset
    4. Export to CSV
    5. Initiate browsing
  3. AdHoc queries
    1. SQL query with generic results
    2. SQL query with non generic results
    3. Function set with generic results
    4. Function set with non generic results
    5. Export to CSV
    6. Initiate browsing
    7. Create batchset
    8. Add to batchset
  4. Functions: Tests all batch functions against all previous result sets. (databrowser, batchset, and adhoc)
  5. Reports (including reports generated via batch entities)

Javascript

  1. Search screens
  2. Copy paste controls
  3. Add/delete lines
  4. Autocomplete
  5. Popups
  6. Tree views
  7. Permission presets
  8. Clinical Collection links collection selection tool
  9. Collection templates
  10. Storage layout
  11. Calendar tool
  12. Custom dropdown ordering configuration
Personal tools