Test Execs can be released to production by changing the status to released. To update this released version, some specific steps can be followed. The following example video and steps explains how this works, step by step.
The single most important aspect of this system is the "Status=released" attribute which locks an object, preventing it from being saved ever again, effectively preventing edits. The only way to overwrite it, is to re-title an existing Exec with the same title as the released. Whenever the Title changes and Save button pressed, a new exec is created. If the Title does not get changed, the SAVE button will add to the Exec's history.
To avoid confusion in this example, the version will increment at every change. This is not a requirement but helps map the time stamp of the process to the version. At the end of this example, we have 4 execs visible in Guru Browser and Test Objects, 3 production and 1 development which has 5 versions. When AutoMES activates "00 Example Prod", guru retrieves "2020-08-13-18:17:45.0000 00 Example Prod production 006" because it is the latest. When an Engineer chooses "00 Example Dev", guru retrieves "00 Example Dev 2020-08-13-18:17:05.0000 005" because it is the latest". Operators can manually select any released Exec and filter/confirm with version drop down. Engineers can use Activate History from Test Objects to launch any previous exec by the date and time. (See Figure1)
NOTE: When viewing objects with the Test Objects browser (System > Test Objects), the list needs to be updated after every change. The simplest way to refresh the view is to select any different entry in the middle selection pane, like "RiTestplan", then selecting "RiTestSessionDef" to refresh the selection pane.
Example Test Exec Version Control Steps:
- Log in to Guru and launch the latest development Short Cut.
- Starting with a Device Def "00 Example" and Testplan "00 Example Testplan". Open Test Objects Browser by choosing System > Test Objects.
- New Test Exec, Title=00 Example Dev, Type=Development, Status=Alpha, Version=001, SAVE @ 2020-08-13-T17:56:41
This creates our first Test Exec. It is not seen by operators because the status="anything but released". Development Type just helps filter the version list in the Run/Edit prompts. - Edit Test Exec, Status=Beta, Version=002, SAVE @ 18.01:22 (See Figure 2)
This saves to the history of the Dev exec. - Edit Test Exec, Status=Beta, Version=003, SAVE @ 18.07:21 (See Figure 3)
This saves to the history of the Dev exec. - Edit Test Exec, Select "00 Example Dev" and modify Title=00 Example Prod, Status=released, Version=003. SAVE @ 18:04:28
Save As NEW Exec, seen by operators. This can never be edited. - Edit Test Exec, Select "00 Example Dev" (v=002) modify Version=004, Save @ 18:07:21
- Edit Test Exec, Select "00 Example Dev" (v=004) modify Version=005, Save @ 18:77:05 (See Figure 4) (See Video 1)
- Edit Test Exec, Select "00 Example Dev" and modify Title=00 Example Prod, Status=released, Version=006. SAVE @ 18:17:45:28
Save As NEW Exec, seen by operators. This can never be edited. (See Figure 5)
Video 1: Releasing New Test Exec (Dev v005 to Prod v006)
Please review the attached video and documented procedure below as an example of how to update a released Test Exec. The video starts around step 7 and then shows the result of releasing Dev v005 to Prod v006.
https://www.youtube.com/watch?v=9Xfu7_8_kh0
Figure 1 Example Objects
RiTestSessionDef objects:
2020-08-13-18:04:28.0000 00 Example Prod production 003
2020-08-13-18:08:14.0000 00 Example Prod production 005
2020-08-13-18:17:05.0000 00 Example Dev Development 005
2020-08-13-18:17:45.0000 00 Example Prod production 006
"00 Example Dev" Revision History:
00 Example Dev 2020-08-13-18:17:05.0000 005
00 Example Dev 2020-08-13-18:07:21.0000 004
00 Example Dev 2020-08-13-18:02:25.0000 002
00 Example Dev 2020-08-13-18:01:22.0000 002
00 Example Dev 2020-08-13-17:56:41.0000 001
Figure 2: Test Browser - last month RiTestSessionDefs for 00 Example - Dev Version 002 2020-08-13 18:08:14
Figure 3: Test Browser - last month RiTestSessionDefs for 00 Example - Prod Version 003 2020-08-13 18:08:14
Figure 4: Test Browser - last month RiTestSessionDefs for 00 Example - Prod Version 005 2020-08-12 18:08:14
Figure 5: Select Test Exec dialog - Latest Execs for 00 Example