Redundancy Server

Supports Server based redundancy.


Questions? Contact us
Generated: 21/11/2021 at 17:21:20 p.m.
Redundancy Server - 34 Test Cases
Test Case Id Test Type Keywords Test Case Description Test Requirements Expected Result

Warm-000

CTT Unavailable  UA 1.03  Browse the address space and verify the existence and correct definition of the ServerRedundancyObject. Include sub-types as part of the validation.
Start at the ServerType node and follow refrences for ServerRedundancy component.
Step #
Action
Expected Result(s)

1

Object exists and definition matches specification definition(s) in UA Part 5: (a) ServerRedundancyType=Table 14 (b) TransparentRedundancyType=Table 15. Spec: Part 5 -> 6.3.7; -> 6.3.8; -> 6.3.9; -> 6.3.10; -> 6.4.4

2

Read the RedundancySupport property to identify the type of redundancy supported by the Server.

Value is "WARM_2". Spec: Part 5 -> 12.5 (Table 132)

Warm-001

CTT Unavailable  UA 1.03  Connect to each Server and compare their address spaces.
The address-space hierarchy matches, by comparing the NodeIds and BrowsePaths only.
Note: Some exceptions must be acceptable such as the SessionDiagnostics, and Server information about itself etc.

Warm-002

CTT Unavailable  UA 1.03  Check the ServiceLevel nodes.
Assumption: only one underlying device and that it is accessible/available.
Step #
Action
Expected Result(s)

1

Verify one Server has the highest service level in the healthy range, and the other/backup Servers are in the Degraded range.

2

Attempt a connection to the backup Servers.

Connection is permitted.

Warm-003

CTT Unavailable  UA 1.03  If the server provides user authentication then check the user can login on each redundant Server.
All redundant Servers accept the same login credentials.

Warm-004

CTT Unavailable  UA 1.03  If the server provides user-level access rights, then check the user is denied access to a resource, and that this behavior is consistent across all Servers.
All redundant Servers reject the same resources to the same user.

Warm-005

CTT Unavailable  UA 1.03  Connect to two servers, one must be active. Create a subscription and monitored items (mode=reporting) in both servers; subscription is enabled in the active server only.
Step #
Action
Expected Result(s)

1

ServiceResult is good for all calls, in all servers.

2

Call Publish on both servers.

The active server responds with data. The backup server responds with an empty publish response, where SubscriptionId=0.

Warm-006

CTT Unavailable  UA 1.03  Connect to two servers, one must be active. Create a subscription and monitored items (mode=reporting) in both servers; subscription is enabled in both servers.
Step #
Action
Expected Result(s)

1

ServiceResult is good for all calls, in all servers.

2

Call Publish on both servers.

The active server responds with data.The backup server responds with Bad_NoCommunication for each applicable monitored item, within the Publish response.

Warm-007

CTT Unavailable  UA 1.03  Call FindServers on each machine in a Warm redundant set.

HotAndMirrored-000

CTT Unavailable  UA 1.03  Browse the address space and verify the existence and correct definition of the ServerRedundancyObject. Include sub-types as part of the validation.
Start at the ServerType node and follow refrences for ServerRedundancy component.
Step #
Action
Expected Result(s)

1

Object exists and definition matches specification definition(s) in UA Part 5: (a) ServerRedundancyType=Table 14 (b) TransparentRedundancyType=Table 15. Spec: Part 5 -> 6.3.7; -> 6.3.8; -> 6.3.9; -> 6.3.10; -> 6.4.4

2

Read the RedundancySupport property to identify the type of redundancy supported by the Server.

Value is "HOT_AND_MIRRORED_5" Spec: Part 5 -> 12.5 (Table 132)

HotAndMirrored-001

CTT Unavailable  UA 1.03  Connect to each Server and compare their address spaces.
All nodes and NodeIds are identical.
Note: some exceptions must be acceptable such as the SessionDiagnostics, and Server information about itself etc.

HotAndMirrored-002

CTT Unavailable  UA 1.03  create and activate a session on the primary server. Activate the same session on the backup server.
Fail-over delays should be based on the channel/session timeout settings. all calls are successful.

HotAndMirrored-003

CTT Unavailable  UA 1.03  Issue a Browse on the main Server and ensure a ContinuationPoint will be received.
Fail-over delays should be based on the channel/session timeout settings.
Step #
Action
Expected Result(s)

1

all calls successful.

2

Issue a BrowseNext on a backup server while passing-in the ContinuationPoint from step #1.

all calls successful. The server returns the continued browse response.

HotAndMirrored-004

CTT Unavailable  UA 1.03  create a subscription in the primary server. Call Publish from the backup Server.
Step #
Action
Expected Result(s)

1

all calls successful. The publish response returns data.

2

Invoke Publish calls alternating each call between each Server.

SequenceNumber increments by one, each time, as expected. Valid data is also returned.

HotAndMirrored-005

CTT Unavailable  UA 1.03  Issue a HistoryRead on the main Server and ensure a ContinuationPoint will be received.
Fail-over delays should be based on the channel/session timeout settings.
Step #
Action
Expected Result(s)

1

all calls successful.

2

Issue a HistoryRead on a backup server while passing-in the ContinuationPoint from step #1.

all calls successful. The server returns the continued browse response.

HotAndMirrored-006

CTT Unavailable  UA 1.03  Issue a Query on the main Server and ensure a ContinuationPoint will be received.
Fail-over delays should be based on the channel/session timeout settings.
Step #
Action
Expected Result(s)

1

all calls successful.

2

Issue a QueryNext on a backup server while passing-in the ContinuationPoint from step #1.

all calls successful. The server returns the continued browse response.

HotAndMirrored-007

CTT Unavailable  UA 1.03  setup a triggered item and 2 linked nodes (sampling mode). Call Publish to receive the initial data-change from the primary server.
Step #
Action
Expected Result(s)

1

all calls successful.

2

In the backup server: Write to the triggering and linked nodes and call Publish.

all calls successful. Publish yields the data-change.

HotAndMirrored-008

CTT Unavailable  UA 1.03  Create a subscription in the primary server. In a loop write values to the items and call Publish, but do not acknowledge any sequence numbers.
Step #
Action
Expected Result(s)

1

all calls successful.

2

Call Publish in the backup server to get a datachange notification and a list of available sequence numbers. Call Republish to obtain those sequence numbers.

all calls successful.

HotAndMirrored-009

Lab UA 1.03  If the server provides user-level access rights, then check the user is denied access to a resource, and that this behavior is consistent across all Servers.
All redundant Servers reject the same resources to the same user.

HotAndMirrored-010

CTT Unavailable  UA 1.03  Call FindServers on each machine in a HotPlusMirrored redundant set. A record is returned for each server within the redundant set.

Cold-000

CTT Unavailable  UA 1.03  Browse the address space and verify the existence and correct definition of the ServerRedundancyObject. Include sub-types as part of the validation.
Start at the ServerType node and follow references for ServerRedundancy component.
Step #
Action
Expected Result(s)

1

Object exists and definition matches specification definition(s) in UA Part 5: (a) ServerRedundancyType=Table 14 (c) NonTransparentRedundancyType=Table 16. Spec: Part 5 -> 6.3.7; -> 6.3.9

2

Read the RedundancySupport property to identify the type of redundancy supported by the Server.

Value is "COLD_1". Spec: Part 5 -> 12.5 (Table 132)

Cold-001

Lab UA 1.03  Connect to each Server and compare their address spaces.
Note: The cold Server will need to be started.
Cold configuration only. All nodes and NodeIds are identical.
Note: some exceptions must be acceptable such as the SessionDiagnostics, and Server information about itself etc.

Cold-002

CTT Unavailable  UA 1.03  Attempt a connection to the backup Servers.
Connection must not succeed (perhaps BadCommunicationError)

Spec: Part 4 -> 6.4.2.3.2

Cold-003

Lab UA 1.03  If the server provides user authentication then check the authentication is consistent on each redundant Server.
All redundant Servers accept the same login credentials.

Cold-004

Lab UA 1.03  If the server provides user-level access rights, then check the user is denied access to a resource, and that this behavior is consistent across all Servers.
All redundant Servers reject the same resources to the same user.

Cold-005

Lab FindServers()  UA 1.03  Call FindServers on each machine in a Cold redundant set.
<p>
A record is returned for each server within the redundant set.</p>

Hot-000

CTT Unavailable  UA 1.03  Browse the address space and verify the existence and correct definition of the ServerRedundancyObject. Include sub-types as part of the validation.
Start at the ServerType node and follow refrences for ServerRedundancy component.
Step #
Action
Expected Result(s)

1

Object exists and definition matches specification definition(s) in UA Part 5: (a) ServerRedundancyType=Table 14 (b) TransparentRedundancyType=Table 15. Spec: Part 5 -> 6.3.7; -> 6.3.8; -> 6.3.9; -> 6.3.10; -> 6.4.4

2

Read the RedundancySupport property to identify the type of redundancy supported by the Server.

Value is "HOT_3". Spec: Part 5 -> 12.5 (Table 132)

Hot-001

CTT Unavailable  UA 1.03  Connect to each Server and compare their address spaces.
All nodes and NodeIds are identical.
Note: some exceptions must be acceptable such as the SessionDiagnostics, and Server information about itself etc.

Hot-002

CTT Unavailable  UA 1.03  Attempt a connection to all Servers.
Step #
Action
Expected Result(s)

1

Connection is permitted.

2

Check the ServiceLevel nodes on each Server.

Verify the service level(s) are in the healthy range.

Hot-003

Lab UA 1.03  If the server provides user authentication then check the user can login on each redundant Server.
All redundant Servers accept the same login credentials.

Operation Result: BadUserAccessDenied

Hot-004

Lab UA 1.03  If the server provides user-level access rights, then check the user is denied access to a resource, and that this behavior is consistent across all Servers.
All redundant Servers reject the same resources to the same user.

Operation result: BadUserAccessDenied

Hot-005

Lab UA 1.03  Client is connected to both Hot Servers; has an active subscription monitoring 1 or more items.
Step #
Action
Expected Result(s)

1

Everything is OK.

2

Physically disconnect one of the Servers from its data-source.

Client continues receiving updates from the other Server. The Client receives a notification that the Server's ServiceLevel has changed and indicates that it is unavailable, i.e. ServiceLevel is unhealthy.

3

Reconnect the offline data-source. Disconnect the data-source for the working Server.

Client continues receiving updates from the reconnected Server. The Client receives a notification that the other Server's ServiceLevel has changed and indicates that it is unavailable, i.e. ServiceLevel is unhealthy.

4

Reconnect the offline data-source.

The Client receives a notification that the Server's ServiceLevel has returned to normal.

Hot-006

CTT Unavailable  UA 1.03  Call FindServers on each machine in a Hot redundant set. A record is returned for each server within the redundant set.

Network-000

CTT Unavailable  UA 1.03  Non-Transparent Network Redundancy: Browse the address space and verify the existence and correctness of the Server.Redundancy.NonTransparentNetworkRedundancyType. Start at the ServerType node and follow refrences for ServerRedundancy component. Object exists and definition matches specification definition(s) in UA Part 5:
(a) ServerRedundancyType=Table 14
(b) NonTransparentNetworkRedundancyType=Table 17.

Network-001

CTT Unavailable  UA 1.03  Non-Transparent Network Redundancy: Client connects to the Server and invokes some activity such as browsing, reading, or writing, etc.
Step #
Action
Expected Result(s)

1

All calls are successful and without error.

2

Disrupt the connection to the Server by disconnecting SOMETHING on the network, perhaps a switch, router, cable etc.

Client detects the lost connection and tries to reconnect (the network infrastructure should re-route to achieve connectivity). Client can successfully reclaim its session.