Test Run Creation

Business Process/Integration Test Runs are used to group Business Processes or integrations together to execute at the same time or in a sequence. Security Test Runs are used to run the Available Actions and Field Permissions tests that are created by users of Smart. 

Create Test Run

Click on CREATE A TEST then either Business Processes, Security or Integrations > Integration Test in order to build your test for execution. The process of uploading the Smart specific templates is similar whether it be a Business Process, Security, or Integrations test.  

This guide will show a user how to build up a test run encompassing Business Process and Integration testing. After making the Business Processes Test or Integration Test selection, the user will be able to select from either Business Processes or Integrations. Add test targets by clicking the + option next to each process or integration. If the Financials module is enabled, tests can be selected in a separate section under the Financials processes. Smart provides a user with the ability to test multiple Business Processes or Integrations within a single test run.

Test data must be associated with each selection. To begin populating templates, the download button highlighted below can be clicked, at which point users will be given the option to download the blank template for the chosen Business Process.

Downloaded Template

The downloaded template is an Excel workbook containing one or more worksheets, which together represent the selected Business Process (and associated sub processes).  

The above image provides an example of a populated template for the Hire Business Process. The initial worksheet represents the initiation step of the Business Process. All subsequent worksheets comprise the fields required for each of the constituent sub processes configured within the Hire Business Process Definition.

The first five columns in the workbook provide reference information to assist with data population. Test data for use by Smart will be populated in the sixth column onwards highlighted in green. Each column of test data, from the sixth column onwards, corresponds to a single test case, with the ability to enter multiple test cases to each data template by populating more than one column.

Populating Test Data Template Manually

Within the test template you should provide the test data that drives the test scenario. Smart will generate the data outside of this during test execution.

If there is a value that you have provided for a field in the template that no longer exists in your Workday tenant Smart will attempt to select another value so that your test continues to the end. In the test case steps this will be flagged that the value cannot be selected.

Text Format

Smart recognises field values in text format only. This is inclusive of dates and numeric values. All test data must be saved as text.

Once the population of a Smart template is complete, save this workbook.

Running Negative Tests

When you are creating negative tests include the notation [Negative Test] in the template field that is the focus for the negative test. This flags that data should not be corrected or that you are expecting an error.

Negative Eligibility

Selecting a value that cannot be selected  use [Negative Test] , for example:

Maternity Leave [Negative Test]

When Maternity Leave is not found it will not be corrected and the error will display in Test case steps.

Validation Testing

Where a combination of values produces an error, add the [Negative Test] notation into field that you have added a value to cause validation, for example:

Validation: Consultants cannot not be hired in Boston.

If the validation is configured correctly the error will be displayed in Test case steps as displayed in Workday  “Consultants cannot not be hired in Boston”.

Tips on Data Entry in Templates

Please try to keep the following in mind while filling in the data templates:

  1. All cells should be formatted as Text.
  2. Pay attention to the Additional Comments column - it contains important information
  3. Checkboxes are a true/false field. The following values are accepted (all are case insensitive):
    a. Y/N
    b. Yes/No
    c. True/False
    d. 1/0
  4. Prompt levels are separated with a pipeline character "|", however these are not always required.
  5. Dates are handled in MM/DD/YYYY format. Relative dates are supported. 
  6. Times are handled in 00:00:00 AM/PM format. 

Relative Dates and Times

Smart supports a complex range of relative dates that can be used in test templates for Business Processes and Integrations. These evaluate to specific dates and times when Smart uses your data template in a test.

Using relative dates increases the re-usability of tests. For example, using a relative date of today in Enter Time tests will allow this test to be re-run each day. If a hard-coded date were to be used (e.g. 06/01/2017), the test may fail due to time already being entered for this date.

Relative Dates are composed of a range of values in 3 distinct sections (parts). A Relative Date can consist of values from Part 1, Part 2, Part 3, or any combination therein (e.g. Part 1 + Part 3, or Part 2 + 3, or simply Part 2 as a standalone).

The available values are as follows:

Part 1

Relative Date Description (if applicable) Template Example Evaluates To
now Current Date and Time now N/A
{last | next} {Monday - Sunday} (or abbrv. Mon, Tue, Wed, Thu, Fri, Sat, Sun) Previous or Next Specific Day in Previous/Current/Next Week last Sunday N/A
{last | next} {weekday | week | month | year} Previous or Next Weekday/Week/Month/Year next year current date +1 year
{today | tomorrow | yesterday} N/A yesterday current date -1 day
{first | final} {day | weekday} of {+ | -}[XX] month(s) First or Last Day (or Weekday) of the month. + or - can be used to specify how many months ahead or behind to look. first day of -3 months first day of the month, three months prior
{first | final} {day | weekday} of {January - December} (or abbrv. Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)
First or Last Day (or Weekday) of the month specified. first weekday of January first weekday of January in the current year
{first | final} {Monday - Sunday} (or abbrv. Mon, Tue, Wed, Thu, Fri, Sat, Sun) of {+ | -} [XX] month(s) First or Last Specific Day of the month. + or - can be used to specify how many months ahead or behind to look. first Monday of +3 months first Monday of the month, three months from now
{first | final} {Monday - Sunday} (or abbrv. Mon, Tues, Wed, Thu, Fri, Sat, Sun) of {January - December} (or abbrv. Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)  First or Last Specific Day of the month specified. first Friday of June first Friday of June in the current year

Part 2

Relative Date Description (if applicable)
Template Examples Evaluates To
{+ | -} [XX] {day(s) | weekday(s) | week(s) | month(s) | year(s)} plus or minus the current number of day(s)/weekday(s)/month(s)/year(s) +1 year today's date plus one year

Part 3

Relative Date Description (if applicable) Template Example Evaluates To
HH:MM:SS {AM | PM} Specific time on current date 11:00:00 AM
{Morning | Noon | Evening | Tonight}  Evaluates to the time on the current date as a predetermined value Morning
06:00:00 AM
12:00:00 PM
08:00:00 PM
08:00:00 PM

Multiple Part Examples

When building complex relative dates using values from multiple parts, users must remember that the ordering is {Part 1} + {Part 2} + {Part 3}. For example, if using a value from Part 2 first, it will only be possible to use a value from Part 3 afterwards. Here are some examples of relative dates that use values from multiple parts.

Relative Date Uses Values From Evaluates To Notes
last Tuesday +2 weeks Part 1 + Part 2 previous/current week's Tuesday +2 weeks time If run on a Monday or Tuesday, it will return the previous week's Tuesday +2 weeks time. If run on a Wednesday - Sunday, it will return the current week's Tuesday +2 weeks time.
today +1 day noon Part 1 + Part 2 + Part 3 tomorrow at 12:00:00 PM
first Monday of February +1 week Part 1 + Part 2 second Monday of current year's February As only first or final are supported, the +/- functionality in Part 2 will allow you to effectively specify second/third/fourth in the template by using the correct number.
next Friday Morning Part 1 + Part 3 next Friday at 06:00:00 AM If run on a Monday - Thursday, it will return the current week's Friday 06:00:00 AM. If run on a Friday - Sunday, it will return the next week's Friday 06:00:00 AM.

Example of use in templates

Using Integration IDs in Templates

In some situations, it may be necessary to identify data in your template using an Integration ID, for example, if a search in Workday takes too long using a regular string. Smart can be instructed to search for the required object or data directly, by using the Workday ID, or other Integration IDs for the object in question.

The ability to reference data in this way helps with the sustainability of test cases. An example being that if a Supervisory Organization's manager changes, the user would need to update this information in the template if the Supervisory Organization is referenced by its name. However if the Supervisory Organization is referenced using its Workday ID, or Organization ID, then this information will persist until the Supervisory Organization no longer exists.

Within a Workday tenant, the easiest way to access this information is to go to the Related Actions for an object, then navigate to the Integration IDs -> View IDs action. See the image below for an example of this screen.

As seen in the example image, for the above Supervisory Organization there are 3 separate ways it can be referenced in a template:

  • Supervisory Organization name - Standard text string of the Supervisory Organization's full name (including Manager if visible in tenant).
  • Workday ID - Unique string randomly generated by your Workday tenant.
  • Organization Reference ID - Unique string sequentially generated according to the order of creation.

Across all templates, whether they are for HCM testing, Financials testing, or Security testing, Smart uses the same format for referencing Integration IDs.

The format is as follows:

  • For the Workday ID only: {wid: <Workday_ID>}
  • For all other Integration IDs: {<Integration_ID_Type>: <Integration_ID>}

For example, if a user wishes to reference the Workday ID for the above Supervisory Organization, the following should be inserted into the Supervisory Organization field:

  • {wid: 87cd2d42hf6b1072ijgko986894203b66}

Similarly, if a user wishes to reference the Organization Reference ID, the following should be inserted into the Supervisory Organization field:

  • {Organization_Reference_ID: SUP0003084}

See the example template below to see how this would look in a data template.

Each test case must have a name assigned to it in the top row of the data template. If users attempt to upload a template which contains test data in the initation tab of a template but no test name, the following validation will be presented upon attempting to upload:

Dynamic Initiator

Instead of manually searching and selecting an initiator worker, Smart has the ability to dynamically select an employee to perform the Business Process initiation step.

This is achieved by selecting a security group then Smart will automatically choose an eligible initiator from the chosen security group to carry out your Business Process. 

This tool is currently available for select HCM MSS Business Processes and is configurable via your BP template.

Supports 3 security group types: 

  • User Based
  • Role Based (Unconstrained)
  • Role Based (Constrained)

Where the business process does not involve an already existing worker (e.g. Create Position, Create Job Requisition, Hire, Contract Contingent Worker), the role will need to be assigned on the Supervisory Organization into which you wish to run the test. Where the business process involves a worker, the role can be assigned anywhere (e.g. Location Hierarchy, Company).

In order to use this tool, simply prefix the security group to test with "Security Group:" and surround the details with square brackets "[ ]" within the User Login field on your template. See the image above for an example.

Smart has the ability to select any eligible initiator from one or more specified security groups as seen in the figure above. 

By entering [Security Group: HR Partner, Payroll Interface Partner] in the User Login Field, Smart will use any eligible initiator within these two security groups that has the correct permissions. 

However if you do not wish to specify a security group and would like Smart to select a user from any group that has the correct security to perform the initiation, you can simply enter [ANY] in the User Login Field, as illustrated in the image below.

For Role Based Constrained Security Groups some additional information is needed within the template for the dynamic initiator tool to work correctly.

Subject Employee

  • If employee has Employee ID included in their name on Workday - the Employee ID or the Workday ID must be used instead of name
  • If more than one employee with the same name on Workday - the Employee ID or the Workday ID must be used instead of name

Supervisory Organization

  • If Employee ID included in the Supervisory Organization name - the Organization Reference ID or Workday ID instead of Supervisory Organization name
  • If Organization ID included in the Supervisory Organization name - the Organization Reference ID or Workday ID instead of Supervisory Organization name

HCM Chaining

With the chaining notation '<FROM_TEST_CASE: XXXXXX>' (where XXXXXX is a Test Case ID) in your template you can link HCM Business Processes together so that they are in a chain every execution.

You can reference positions that are created, workers that are hired and usernames that are generated in the 'Create Workday Account' step of a hire or contract contingent worker.

For Example:

You can create a position, hire a worker into that position, login as the worker you just created to change their own personal information and then terminate that worker.

This image shows this simple example test run set up on the Create BP / Integration Test screen.

When hiring a worker into a created position, you can create a link to the position in the hire template

Within your test template specify the correct notation, '<FROM_TEST_CASE: XXXXXX>', where XXXXXX is the Test Case ID of the Create Position or Create Job requisition.

If your hire creates a new account for the worker you can link this to an employee self service test case, personal information change in this scenario. The test case will use the username created.

Using the hire test case id in the termination test case as a link allows you to terminate that hired worker.

Sequencing & Rescinding

When creating your BP tests, ensure you have them sequenced in the right order. The item e.g. position or worker, must exist before creating a link to it in another test case.

The data must not be rescinded and the sequence must be correct to allow the chaining to occur.

Updating Existing Packs

You can update existing BP packs with the new chaining notation. Re-execute your test packs with the updated templates to use this functionality.

Completing a Test Run

To complete the test run creation, upload the completed data template by selecting the Upload Files option as shown above.

Next, select Set data file. This enables the user to browse for a specific saved data template and click Done, as shown below, to confirm this is the correct test data file. Smart also provides the ability to Add attachments as a part of the process of testing integrations and for document retrieval steps.

Setting Your Data File/Adding Attachments

Setting Your Data File/Adding Attachments

Smart will sanity check the file and if valid it will upload it to tenant-specified data store. A verified indicator appears beside the Business Process or integration once the template is uploaded.

Each test case must have a name assigned to it in the top row of the data template. If users attempt to upload a template which contains test data in the initation tab of a template but no test name, the following validation will be presented upon attempting to upload:

For Add attachments, Smart will allow you to upload attachments in any format to a test run, and will use these attachments where referenced within your data templates. For example, if documentation is required when making a change in a worker's personal information, the Attachments section of the data template has a field where users can specify the full name of the attachment. As long as the string entered here matches the attachment added to the test run, it will then be uploaded to Workday when Smart is running the test.

Smart possesses the ability to sequence test cases in a test run in order to fulfil a specific test scenario. This is utilized by clicking the Toggle Sequence On/Off button located below the list of chosen processes. As soon as this action is performed, fields will appear beside each of the process names in a test run, as shown below. Please note that processes will run concurrently if the Toggle Sequence feature is not used.

Sequencing in Smart is done in a similar way to how a user would specify Business Process step ordering in Workday. Smart will accept any alpha character in an ordering field, which will then be compared against the other orderings specified and re-order to test cases accordingly.

The logic behind the toggling will take numbers as a priority over alphabetical characters, with capital letters taking priority over lower case letters. The sequencing is interpreted on a per-character basis, read left to right, starting 0-9, A-Z, a-z. Due to this, a test toggled with the value "10" will take priority over a test toggled with a value of "2" as the character "1" is read first. Similarly a value of "A10" will take priority over a value of "A2", or "a10".

Once the test run data is uploaded and complete, it is necessary to provide it with a unique name and click Save test run as highlighted below. The name may consist of the following characters:

  • a - z A - Z 0 - 9
  • _ . ' ( ) , \ / - :

This command will automatically re-direct you to the TEST RUNS screen. At this point, Smart users can begin the execution of their test run. For more information on this, see Test Run Execution.

Additionally users can add tags to the Test Run before saving. These tags can be used to group together test runs, which will allow for easy filtering. Clicking on the 'Tags' field will allow you to enter a tag in text format. After entering the required tag, users can hit the Enter key to save the tag to the test run. Test Runs support multiple tags and once a tag is saved in a Test Run, it is available for usage in future test runs via a drop down list. For more information on tags and how they work please see the Tagging section of the user guide.

Security Test Runs

Creating a Security Test follows a similar path to that of Business Processes or Integrations. Select Security Test under the CREATE menu. Users will be presented with the screen below. As with Business Processes/Security, users have the option to download a blank template, or upload a template.

The Add a test pack hyperlink can be clicked to add a separate Security test entry at the bottom of the list.

There is also a Baseline Test Run radio button which can be used to specify whether the test(s) will be run as a baseline. For more information on this functionality, see the Baseline Test Run section of the user guide.

Security Test Runs