MoReq2010® – Test Module 6: Searching and reporting v0.1 BETAPage 1 of 258

MoReq2010®

ModularRequirements for Records Systems

Test Framework

Test Module 6: Searching and reporting

Version 0.1BETA

Copyright © 2011 & 2012 DLM Forum Foundation, all rights reserved

6.0 Scope

6.0.1 Introduction

This test module tests requirements from the following sections of the MoReq2010® specification:

  • 2. System Services
  • 4. Model Role Service
  • 5. Classification Service
  • 6. Record Service
  • 7. Model Metadata Service
  • 8. Disposal Scheduling Service
  • 10. Searching and Reporting Service
  • 11. Export Service
  • 101. Graphical User Interface
  • 102. Application Programming Interface

Of these the major emphasis of the test module is placed on 10. Searching and Reporting Service.

This test module should be used whenever the core services of MoReq2010® are being tested and must be tested after Test Module 0: Familiarisation and training.

Additional notes are provided to test centres for clarity throughout. From time-to-time the test scripts will be updated; be sure to check that you are using the most up-to-date version of the testing materials.

6.0.2 Full text searching

In the interests of the principle of universality in testing, the text used to test full text searching capabilities in this module is provided in Latin. It is recognised that to perform optimally text search engines should be tuned to a particular language.However, the basic level of testing required by this module does not require demonstration of advanced techniques such as stemming, Soundexor synonym substitution.

Basing testingof searching and reporting in MoReq2010®on Latin language textual entries avoids the impression of a particular bias towards test systems with search engines that specialise in English language parsing and indexing. However, it is not without its related issues as Latin uses suffixes extensively to change tense and parts of speech such that many different text strings all refer to the same thing (for example, “Caesar”, “Caesare”, “Caesarem”, “Caesari”, “Caesaris”, and so on). Test case results will be closer to those expected if the test system only searches for the exact search term given and not variations of it, as it might do when deployed operationally.

The Latin text used in the test data is from Julius Caesar’s “De Bello Gallico” (his commentaries on the war in Gaul). This text is freely available from many sources on line and is generally considered to be out of copyright having been written over two thousand years ago.

6.0.3 Time zone dependencies

This test module includes a test of time zone dependency in test case T6.2.19. The purpose of this test is to check requirement R10.4.10 and more importantly to ensure that each MCRS operates fully independently of local time zones and records a full timestamp including a time zone for all events that are captured in the system.

Quite how the required test case T6.2.19 is performed will be highly dependent on the nature of the test system and how it is implemented. The supplier’s recommended approach to undertaking this test case, and what constitutes sufficient evidence, is something that should be discussed with the test centre before commencing the test module.

For more information refer to the following sources:

  • Section 2.2.9 Timestamps in the MoReq2010® specification
  • The glossary entries for “Timestamp” and “Time zone” in section 13. Glossary of Terms of the MoReq2010® specification
  • The rationale to requirement R2.4.27in the MoReq2010® specification
  • The rationale to requirement R10.4.10in the MoReq2010® specification

TEST MODULE 6: SEARCHING AND REPORTING

(To be completed by the test centre)

6.1 Observation record

Supplier name

Product name and version

Test centre name

Date of test

Test location

Supplier representative(s) present during testing

Test centre representative(s) present during testing

DLM Forum observer(s) present during testing

Test system technical architecture, hardware, software and operating system(s)

Test outcomes

Fill in with  or  to ensure all test outcomes are met

 The test system was correctly configured prior to testing

 The test system was not reconfigured during testing

 The test module was completed in a single session

 All test cases in the test module were completed, in order

 All test cases in the test module were completed successfully

Refer to the individual test results for all test cases in this test module

Additional remarks or observations

6.2Test script – Electronic components

All test cases in the test script for this test module must be completed in order before moving onto the next test case.

T6.2.1 – Test case

6.2.1.1 Test case description

Initial error check

6.2.1.2 Test case preconditions

  • Test system is operational
  • Test data (see Appendix 6.A Test Data) are loaded onto test system
  • Where the test system uses an API then a suitable test harness has been provided (see the Test Framework: Overview and Instructions, 4.1 Providing a test harness for API interfaces)
  • The test system has been configured, under R2.4.13 such that performing any function system wide will generate an event under R2.4.15 and R2.4.16 – in other words, all function definitions must have their Generate Event Flag (M14.4.34) set
  • The test system has been configured, under R2.4.20 such that the events generated by all functions system wide will be retained by residual entities – in other words, all function definitions must have their Retain On Destruction Flag (M14.4.88) set
  • The test system has been configured, under R4.5.8 such that every access control list is set to inherit all roles, not just administrative roles – in other words, the Include Inherited Roles Flag (M14.4.43) for all access control lists for all entities is set by default

6.2.1.3 Test case steps (instructions)

  • Before logging into the test system take a copy of the external error log, under R2.4.7

6.2.1.4 Test case post-conditions (expected result)

  • Errors in the external error log must contain at least the information listed under R2.4.7

6.2.1.5 Notes to test centre

  • Check whether there are any errors generated by functions failing to perform under R2.4.8
  • Note that R2.4.8 is not tested directly unless an error occurs during testing, instead it is tested indirectly through this test case

6.2.1.6 Results

Test system operator for this test case

Result

 Correct – result as expected

 Incorrect – unexpected result or outcome

 Incorrect – operation could not be initiated

 Incorrect – crash, timeout or failed to finish for any reason

Observations

One or more of the test case steps…

 …required more than one user action to complete (remark below)

 …provided limited or no feedback to the user (remark below)

 …was dependent on one or more previous user actions (remark below)

Additional remarks on observations

T6.2.2 – Test case

6.2.2.1 Test case description

Initial compliance check

6.2.2.2 Test case preconditions

  • T6.2.1 has previously been completed successfully during the same test session
  • The test system has not been reconfigured or restarted since T6.2.1 was completed
  • The test operator is logged in as user Usr.6.1

6.2.2.3 Test case steps (instructions)

  • Log into the test system as user Usr.6.1underR3.4.1
  • Generate the compliance report for the test system underR2.4.5

6.2.2.4 Test case post-conditions (expected result)

  • User Usr.6.1 logs in successfully
  • The compliance report contains all of the information and metadata required by R2.4.5 and R2.4.2
  • Specifically, the compliance report must show compliance with, at least:
  • User and Group Service v1.x (cd532472-85b0-4c1c-82b4-5c8370b7d0e6)
  • Model Role Service v1.x (2f6d05c6-51e6-4a32-a7fc-c0a6883eb85b)

OR Native Role Service v1.x (d945dcd9-dc2d-491d-965a-11ce936d044b)

  • Classification Service v1.x (10fea10e-9c2f-4760-9095-f4f9295f4b19)
  • Record Service v1.x (ced3d0df-3f9f-4807-9e96-b5b790adad4a)
  • Model Metadata Service v1.x (a600f8d0-2d58-418e-bb41-211d1fd42350)

OR Native Metadata Service v1.x (66bf4419-d92f-4358-8506-7ee9c06abdcd)

  • Disposal Scheduling Service v1.x(fd05e284-181f-4f5d-bd8c-4bed835c8931)
  • Searching and Reporting v1.x (f09984a5-dd31-44d8-9607-22521667c78a)
  • Export Service v1.x (2777ab81-057e-4aa4-9595-69459ec2dc1e)
  • Electronic Components v1.x (13b6976c-2409-48ff-a576-a6f6662c5044)
  • Graphical User Interface v1.x (0f9584e5-552a-4a79-a8ea-3c2801765255)

AND/OR Application Programming Interface v1.x(654633ec-8b17-4a3c-a483-436ee2bd506a)

  • The compliance report must use the UUIDs listed above, under R2.4.23

6.2.2.5 Notes to test centre

  • Describe in the remarks how the user performs a compliance check

6.2.2.6 Results

Test system operator for this test case

Result

 Correct – result as expected

 Incorrect – unexpected result or outcome

 Incorrect – operation could not be initiated

 Incorrect – crash, timeout or failed to finish for any reason

Observations

One or more of the test case steps…

 …required more than one user action to complete (remark below)

 …provided limited or no feedback to the user (remark below)

 …was dependent on one or more previous user actions (remark below)

Additional remarks on observations

T6.2.3 – Test Case

6.2.3.1 Test case description

Restrict the access of a user to an aggregation and its descendants

6.2.3.2 Test case preconditions

  • T6.2.2 has previously been completed successfully during the same test session
  • The test system has not been reconfigured or restarted since T6.2.2 was completed
  • The test operator is logged in as user Usr.6.1

6.2.3.3 Test case steps (instructions)

As user Usr.6.1
  • Search or browse for aggregation Agg.6.1 in the record service and inspect it under R6.5.9
  • ONLY if the test system implements the model role service then:
  • Inspect the Access Control List (ACL) of aggregation Agg.6.1 under R4.5.9
  • Under R4.5.10 modify the ACL for aggregation Agg.6.1 and clear the Include Inherited Roles Flag (M14.4.43)
  • ONLY if the test system implements a native role service then (using information provided by the supplier) configure the test system to deny user Usr.6.2 access to aggregation Agg.6.1 and its descendants
  • Log out as user Usr.6.1
As user Usr.6.2
  • Log in as user Usr.6.2
  • Attempt to search or browse for aggregation Agg.6.1 in the record service and inspect it under R6.5.9
  • Log out as user Usr.6.2
As user Usr.6.1
  • Log in as user Usr.6.1

6.2.3.4 Test case post-conditions (expected result)

  • Aggregation Agg.6.1 is found and is active
  • The access controls for aggregation Agg.6.1 are successfully modified so that user Usr.6.2 does not have any access or visibility over aggregation Agg.6.1 or its descendants
  • The test operator successfully logs out as user Usr.6.1
  • The test operator successfully logs in as user Usr.6.2
  • User Usr.6.2 is unable to find aggregation Agg.6.1 or to browse to it in the record service under R6.5.9, and is not able to access its metadata, event history or descendants
  • The test operator successfully logs out as user Usr.6.2
  • The test operator successfully logs in as user Usr.6.1

6.2.3.5 Notes to test centre

  • The effect of clearing the Include Inherited Roles Flag is so that aggregation Agg.6.1 no longer automatically inherits any non-administrative access permissions granted at the level of the record service
  • Since rolesRol.6.7and Rol.6.9 are not administrative roles, user Usr.6.2 may no longer access aggregation Agg.6.1 or any of its descendants under R10.4.21
  • See also test case T6.2.10

6.2.3.6 Results

Test system operator for this test case

Result

 Correct – result as expected

 Incorrect – unexpected result or outcome

 Incorrect – operation could not be initiated

 Incorrect – crash, timeout or failed to finish for any reason

Observations

One or more of the test case steps…

 …required more than one user action to complete (remark below)

 …provided limited or no feedback to the user (remark below)

 …was dependent on one or more previous user actions (remark below)

Additional remarks on observations

T6.2.4 – Test case

6.2.4.1 Test case description

Create records for date/time based testing

6.2.4.2 Test case preconditions

  • T6.2.3 has previously been completed successfully during the same test session
  • The test system has not been reconfigured or restarted since T6.2.3 was completed
  • The test operator is logged in as user Usr.6.1

6.2.4.3 Test case steps (instructions)

  • Search or browse for aggregation Agg.6.3 in the record service and inspect it under R6.5.9
  • In the record service, create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.301”
  • Set Description (M14.4.16) to “Today”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.302”
  • Set Description (M14.4.16) to “Yesterday”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.303”
  • Set Description (M14.4.16) to “Monday”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.304”
  • Set Description (M14.4.16) to “Sunday”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.305”
  • Set Description (M14.4.16) to “Saturday”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.306”
  • Set Description (M14.4.16) to “First of this month”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.307”
  • Set Description (M14.4.16) to “Last of last month”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.308”
  • Set Description (M14.4.16) to “First of this year”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Create a record under R6.5.10 and R6.5.12 with the following metadata:
  • Set Title (M14.4.104) to “Rec.6.309”
  • Set Description (M14.4.16) to “Last of last year”
  • Set Parent Aggregation Identifier (M14.4.63) to “Agg.6.3”
  • Do not set Class Identifier (M14.4.4) – class is inherited from the parent aggregation (Cls.6.3)
  • Browse to and inspect the metadata of newly created Rec.6.301 under R6.5.17
  • Check that the Originated Date/Time (M14.4.61) of record Rec.6.301 has been automatically set to today’s date under R2.4.25
  • Browse to and inspect the metadata of newly created Rec.6.302 under R6.5.17
  • Set the Originated Date/Time (M14.4.61) of record Rec.6.302back to yesterday’s dateunder R2.4.26
  • Browse to and inspect the metadata of newly created Rec.6.303 under R6.5.17
  • If today is not a Monday then set the Originated Date/Time (M14.4.61) for record Rec.6.303 back to the date of the most recent Monday under R2.4.26
  • Browse to and inspect the metadata of newly created Rec.6.304 under R6.5.17
  • Under R2.4.26 set the Originated Date/Time (M14.4.61) of record Rec.6.304back to the day before the Originated Date/Time applied to record Rec.6.303 above (this will be a Sunday)
  • Browse to and inspect the metadata of newly created Rec.6.305 under R6.5.17
  • Under R2.4.26 set the Originated Date/Time (M14.4.61) of record Rec.6.305 back to the day before the Originated Date/Time applied to record Rec.6.304 above (this will be a Saturday)
  • Browse to and inspect the metadata of newly created Rec.6.306 under R6.5.17
  • If today is not the 1st day of the month then set the Originated Date/Time (M14.4.61) for record Rec.6.306 back to the 1st day of the current month under R2.4.26
  • Browse to and inspect the metadata of newly created Rec.6.307 under R6.5.17
  • Under R2.4.26 set the Originated Date/Time (M14.4.61) of record Rec.6.307 back to the last day of the previous month (this will be the day before the Originated Date/Time applied to record Rec.6.306 above)
  • Browse to and inspect the metadata of newly created Rec.6.308 under R6.5.17
  • If today is not the 1st January then set the Originated Date/Time (M14.4.61) for record Rec.6.303 back to the 1st January of the current year under R2.4.26
  • Browse to and inspect the metadata of newly created Rec.301.9 under R6.5.17
  • Under R2.4.26 set the Originated Date/Time (M14.4.61) of record Rec.6.309to the 31st December of last year (this will be the day before the Originated Date/Time applied to record Rec.6.308 above)

6.2.4.4 Test case post-conditions (expected result)

  • Aggregation Agg.6.3 is found and is active
  • Record Rec.6.301 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.302 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.303 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.304 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.305 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.306 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.307 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.308 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.309 is successfully created in parent aggregation Agg.6.3
  • Record Rec.6.301 is found and is active
  • The Originated Date/Time for record Rec.6.301 is has been automatically set to today by the test system under R2.4.25
  • Record Rec.6.302 is found and is active
  • The Originated Date/Time for record Rec.6.302 is set to yesterday under R2.4.26
  • Record Rec.6.303 is found and is active
  • The Originated Date/Time for record Rec.6.303 is set to the most recent Monday under R2.4.26
  • Record Rec.6.304 is found and is active
  • The Originated Date/Time for record Rec.6.304 is set to the day before (Sunday) the Originated Date/Time given to record Rec.6.303 under R2.4.26
  • Record Rec.6.305 is found and is active
  • The Originated Date/Time for record Rec.6.305 is set to the day before (Saturday) the Originated Date/Time given to record Rec.6.304 under R2.4.26
  • Record Rec.6.306 is found and is active
  • The Originated Date/Time for record Rec.6.306 is set to the 1st of the month under R2.4.26
  • Record Rec.6.307 is found and is active
  • The Originated Date/Time for record Rec.6.307 is set to the last day of last month under R2.4.26
  • Record Rec.6.308 is found and is active
  • The Originated Date/Time for record Rec.6.308 is set to 1st January under R2.4.26
  • Record Rec.6.309 is found and is active
  • The Originated Date/Time for record Rec.6.309 is set to 31st December under R2.4.26

6.2.4.5 Notes to test centre