How should I test clustering in Openfire Enterprise 3.4.0?

Document created by Gaston Dombiak Champion on Sep 28, 2007Last modified by francisco on Oct 2, 2007
Version 11Show Document
  • View in full screen mode

Prerequisites

You need to have Openfire Enterprise 3.4.0 beta installed with clustering enabled. You will need to have at least 2 cluster nodes to run the test cases. Check out the document How to enable clustering in Openfire Enterprise 3.4.0 if you need to install Openfire.

 

Type of tests available

The beta process consists of two types of tests. On one hand we have functional test cases and on the other hand we have load tests. Functional test cases will help us ensure that the server is doing what it should under different circumstances. Load tests, as the name implies, will put a lot of load on the server so we can observe and finetune, if necessary, the server based on the expected load. If you know the load you are going to have on your servers then you will be able to customize the tests to simulate the load you will have and see beforehand how the server will behave.

 

Where can I get the list of functional test cases to run?

In the last section or in following Excel document you will find the list of functional test cases to run. Complete the Excel document with the result of the executions. Finally, upload the completed Excel document into a new document named Test Results - \[company name or person name\] and tag it with "3.4.0_beta_feedback". You can update this document as you run more test cases. Remember that creating a document with your execution results is highly important so we can verify that you did test Openfire and thus be allowed to access the promotion benefits.

 

Where can I get the list of load tests to run?

It's easier to generate load on the server by using automated scripts. Of course you can organize and manage a big number of users and ask them to chat and do other things but that is more complicated. We will provide you with some automated scripts that you can customize to simulate your expected load.

 

Use the following Excel document to complete test results. Finally, upload the completed Excel document into a new document named Load Test Results - \[company name or person name\] and tag it with "3.4.0_beta_feedback". You can update this document as you run more load test. Remember that creating a document with your execution results is highly important so we can verify that you did test Openfire and thus be allowed to access the promotion benefits.

 

How should I report an error?

Errors should be reported in the discussion forums. Remember to provide information about how to reproduce it and include the server logs.

 

Test Cases

ID

Summary

Detailed Description

OF1

Initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user

               Start Node-2 with clustering working

 

               Assertions

               Check that Node-2 is showing the user session in user session summary

OF2

Server 2 server initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user, send a message to

               a user in a remote server

               Start Node-2 with clustering working

 

               Assertions

               Check that Node-2 is showing the outgoing server session in server session

               summary

OF3

Clustering disabled using an embedded database

Steps:

               Install Openfire using an embedded database

               Install the enterprise plugin with a license

 

               Assertions

               Cannot enable clustering

OF4

Presences in different cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user1 that is

               subscribed to user2

               Start Node-2 with clustering working, log in with user2

 

               Assertions

               Check that both users have their presences correct

OF5

Openfire conversion from opensource to cluster mode

Steps

               Start Node-1 with clustering working, log in with a user1 that is

               subscribed to user2

               Start Node-2 without clustering working, log in with user2 and then enable

               clustering

 

               Assertions

               Check that both users have their presences correct

OF6

Resources initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user1 using resource

               X

               Start Node-2 without clustering working, log in with user1 using resource Y

               and then enable clustering

 

               Assertions

               Check that both clients can see the other resource (use Exodus for the test

               and remember to set another resource)

OF7

Unique login in initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user1 using resource

               X

               Start Node-2 without clustering working, log in with user1 using resource X

               and then enable clustering

 

               Assertions

               One of the clients should be closed since both have the same full JID.

OF8

Offline messages in initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user1, send a message

               to user2

               Start Node-2 without clustering working, log in with user2 and then enable

               clustering

 

               Assertions

               Check that user2 received the offfline message

OF9

Subscriptions in initial synchronization of cluster nodes

Steps

               Start Node-1 with clustering working, log in with a user1, subscribe to

               user2

               Start Node-2 without clustering working, log in with user2 and then enable

               clustering

 

               Assertions

               Check that user2 received the presence subscription and that presences are

               correct after subscription was approved (also test with rejected)

OF10

Plugin synchronization and usage in different cluster nodes

Steps

               Start Node-1 with clustering working, connect an internal component (e.g.

               broadcast plugin)

               Start Node-2 with clustering working, log in user2

 

               Assertions

               Check that Node-2 has the broadcast plugin in the disco#items and that

               user2 can use the broadcast plugin

OF11

External Component Sharing in different cluster nodes

Steps

               Start Node-1 with clustering working, connect an external component (e.g.

               weather component or python gateways)

               Start Node-2 with clustering working, log in user2

 

               Assertions

               Check that Node-2 has the component session in component session summary

               page, the disco#items contains the new service and that user2 can use the

               service

OF12

User Logout in cluster

Steps

               Node-1 and Node-2 are in the cluster. User1 connected to Node-1 and User2

               connected to Node-2. Both users can see each other in their rosters as

               available. User2 logs out

 

               Assertions

               Check that presences are correctly sent when changed in one client or the

               other.

               Check that User1 see User2 offline upon logout

OF13

Server shutdown in cluster

Steps

               Node-1 and Node-2 are in the cluster. User1 connected to Node-1 and User2

               connected to Node-2. Both users can see each other in their rosters as

               available. Node-2 shutdown

 

               Assertions

               Check that presences are correctly sent when changed in one client or the

               other.

               Check that User1 see User2 offline

OF14

Conference room in cluster

Steps

               Node-1 and Node-2 are in the cluster. User1 connected to Node-1 and User2

               connected to Node-2. User1 joins room. User2 joins room. Users send messages

               to room

 

               Assertions

               Check that users can receive messages from the other user

               Check that if a user leaves the room the other user gets the notification

OF15

Cluster node shutdown in a conference room

Steps

               Node-1 and Node-2 are in the cluster. User1 connected to Node-1 and User2

               connected to Node-2. User1 joins room. User2 joins room. Node-1 gets

               shutdown.

 

               Assertions

               Check that user2 gets the notification message that user1 left the room

OF16

Cluster lost in a conference room

Steps

               Node-1 and Node-2 are in the cluster. User1 connected to Node-1 and User2

               connected to Node-2. User1 joins room. User2 joins room. Connectivity between

               nodes is lost and then recovered

 

               Assertions

               Check that user2 gets the notification message that user1 left the

               room

               Check that user1 gets the notification message that user2 left the

               room

               Check that both users get that the other user has joined the room

OF17

Enable clustering without enterprise plugin

Steps:

               Openfire Opensource installation without enterprise plugin

               From the Admin Console, Server -> Clustering and try to enable

               clustering

 

               Assertions

               Suggestion to install enterprise plugin

OF18

Enable clustering with enterprise plugin but without license

Steps:

               Install Openfire Opensource without enterprise plugin

               Install Enterprise Plugin

               Attempt to enable clustering

 

               Assertions

               Suggestion to install the license

OF19

Connect N nodes to the cluster

Steps:

               Install several Openfire connected to the same database with enterprise

               plugin and a proper license

               In the admin console Server -> Clustering, enable Cluster on each

               node

 

               Assertions

               Every node is shown in Cluster Overview.

OF20

Clustering Disconnection

Steps:

               Node-1 and Node-2 are in the cluster. User1 is connected to Node-1 and

               User2 is connected to Node-2. Both users can see each other in their rosters

               as available. Clustering is disabled from Node-2

 

               Assertions

               Check that User1 see User2 offline.

               Check that User2 is still connected and can see other users connected to

               Node-2 and interact with them

OF21

Offline messages in clustering disconnection

Steps:

               Node-1 and Node-2 are in the cluster. User1 is connected to Node-1 and

               User2 is connected to Node-2. Both users can see each other in their rosters

               as available. Clustering is disabled from Node-2. User1 sends a message to

               User2. Install enterprise plugin

 

               Assertions

               Check that User2 gets the offline message from User1

OF22

Clustering Disconnection in group chats

Steps:

               Node-1 and Node-2 are in the cluster. User1 is connected to Node-1 and

               User2 is connected to Node-2. User1 joins the room. User2 joins the room.

               Clustering is disabled from Node-1.

 

               Assertions

               Check that user2 gets the notification message that user1 has left the

               room

               Check that user1 gets the notification message that user2 has left the room

OF23

Clustering Disconnection and Reconnection in room chats

Steps:

               Node-1 and Node-2 are in the cluster. User1 is connected to Node-1 and

               User2 is connected to Node-2. User1 joins the room. User2 joins the room.

               Node-1 is disabled from the clustering and enabled later

 

               Assertions

               Check that user2 gets the notification message that user1 has left the

               room

               Check that user1 gets the notification message that user2 has left the

               room

               Check that both users get notified

               that other has joined the room

OF24

Cluster Routing from S2S communication

Steps:

               Node-1 and Node-2 are in the cluster, user 1 in node 1 and user 2 in node

               2. From a remote server a third user sends a message to either user 1 and

               user 2.

 

               Assertions:

               Messages are routed to user 1 and user 2

               In the Cluster Overview page, the Incoming and Outgoing Servers has been

               incremented.

OF25

Group chat with clustering enabled and users from remote server

Steps:

               Node-1 and Node-2 are in the cluster, user 1 in node 1 and user 2 in node

               2, user 3 logged in an external server.

               Join a group chat and talk,

               Send private chats between user 1 and user 2

               Send private chats between user 2 and user 3

               Send private chats between user 2 and user 3

               Leave user 2, then user 3.

 

               Assertions:

               Group Chat established

               Messages are displayed

               Users are seen

               Private chats are shown

               Get feedback when a user leaves the group chat

OF26

Presences changes in S2S with clustering

Steps:

               Node-1 and Node-2 are in the cluster, user 1 in node 1 and user 2 in node

               2. From a remote server a third user sends a message to either user 1

               and  user 2.

 

               Assertions:

               Messages are routed to user 1 and user 2

OF27

File transfer in S2S and clustering

Steps:

               Node-1 and Node-2 are in the cluster, user 1 in node 1 and user 2 in node

               2. From a remote server a third user sends a message to either user 1

               and  user 2.

 

               Assertions:

               Messages are routed to user 1 and user 2

OF28

Node Statistics

Steps:

               Node-1 and Node-2 are in the cluster

               Increase the memory consumption on a node in User Summary

               browse several pages)

 

               Assertions:

               Verify the memory statistics are updated.

OF29

Cluster Cache Performance: Vcards

Steps:

               Node-1 and Node-2 are in the cluster

               Enable database query statistics

               Login user 1 in node 1 and user 2 in node 2

               Modify a Vcard of the user 1 in one node and get the value from the other

               node

 

               Assertions

               It shouldn’t access the database to retrieve the new Vcard

               User 2 should see the updated Vcard

OF30

Cluster Cache Performance: File Transfer

Steps:

               Node-1 and Node-2 are in the cluster

               Connect user 1 to node 1 and user 2 to node 2. Perform an inbound file

               transfer. Logout user 2 and connect user 2 to node 2.

               Perform a file transfer.

 

               Assertions:

               The file is transferred properly

OF31

Cluster Cache Performance: File Transfer Cache

Steps:

               Node-1 and Node-2 are in the cluster

               Enable Inbound File transfer

               Connect users to different nodes and perform inbound file transfer.

 

               Assertions:

               File transfer is performed in inbound mode

OF32

Cluster Cache Performance: Group properties

Steps:

               Node-1 and Node-2 are in the cluster

               Create a new shared group in Node 1

               Modify the shared group name in Node 1

               Create another shared group in Node 1

               Remove the shared group in Node 1

 

               Assertions:

               Verify in Node 2 that the shared group is created

               Verify in Node 2 that the shared group name is updated

               Verify in Node 2 that the erased group does no longer exists

OF33

Cluster Cache Performance: Group members

Steps:

               Node-1 and Node-2 are in the cluster

               Connect user 1 to node 1 and user 2 to node 2.

               In Node 1, create a new shared group

               In Node 1, add user1 and user 2

               In Node 1, remove user2 from the shared group

               In Node 1, add user2 to the shared group

               Logout user 2

 

               Assertions:

               Verify that the users see each other in the shared group

               Users should perceive presence changes

               User1 should see user 2 disconnection

OF34

Group metadata cache

Steps:

               Node-1 and Node-2 are in the cluster

               In node 1, create a group and add persons to it.

 

               Assertions

               Verify in Node 2 that the user is displayed in the group members

               Verify in Node 2 that the user is displayed in Users -> search user

               -> click on the user -> properties -> verify that the user has the

               created group

OF35

Cluster Cache Performance: Last Activity Cache

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1,

               Logout user 1.

 

               Assertions

               Verify the user last logout in User Summary from node 2 and node 1.

OF36

Cluster Cache Performance: Offline Message Size

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1,

               Send 1kb of offline messages to user 2.

               Notice that you cannot send more messages to user 2

               Connect user 1 to node 2

               Try to send a message to user2

 

               Assertions

               Cannot send more messages to user 2.

OF37

Cluster Cache Performance: Offline Presence Cache

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1

               Logout with reason: on holidays

               Login user 2 to node 2

 

               Assertions:

               User 2 see the offline - on holidays status

OF38

Cluster Cache Performance: Privacy Lists

Steps:

               Node-1 and Node-2 are in the cluster

               Using PSI (http://www.kismith.co.uk/files/psi/windows/nightlies/) login

               user 1 to node 1.

               Create privacy list, set them as default, add / restrict permissions to

               different users

 

               Assertions:

               Login user 1 to node 2 and the privacy restrictions should be the same as

               in node 1

OF39

Cluster Cache Performance: Remote Users Existence

Steps:

               Node-1 and Node-2 are in the cluster

               In Node 1, in the Openfire administration -> Server to Server, add

               domains allowed and denied to connect

 

               Assertions

               In Node 2, the Server to Server configuration is the same as node 1.

OF40

Cluster Cache Performance: Roster creation

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1, user 2 to node 2

               User 1, add a new group with the user 2

               User 1 renames the group name

               User 1 removes the group

 

               Assertions:

               Verify that the rosters are updated and openfire does not retrieve new

               information from the database

               User 1 connects to node 2 and the group configuration should be the same as

               in Node 1.

OF41

Cluster Cache Performance: Roster rename

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1, user 2 to node 2

               User 1 renames the group name

 

               Assertions:

               Verify that the rosters are updated and openfire does not retrieve new

               information from the database

               User 1 connects to node 2 and the group configuration should be the same as

               in Node 1.

OF42

Cluster Cache Performance: Roster delete

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1, user 2 to node 2

               User 1 removes the group

 

               Assertions:

               Verify that the rosters are updated and openfire does not retrieve new

               information from the database

               User 1 connects to node 2 and the group configuration should be the same as

               in Node 1.

OF43

Cluster Cache Performance: User registration

Steps:

               Node-1 and Node-2 are in the cluster

               Create users to node 1

 

               Assertions

               Verify that the amount of users in node 2 were increased (Admin Console

               -> Users)

OF44

Cluster Cache Performance: User update

Steps:

               Node-1 and Node-2 are in the cluster

               Update user personal information

 

               Assertions

               Verify that the user in the node 2 was updated (Admin Console -> Users

               -> Search User)

OF45

Cluster Cache Performance: User deleted

Steps:

               Node-1 and Node-2 are in the cluster

               Delete a user from the node 1

 

               Assertions

               Verify that the amount of users in node 2 were decreased (Admin Console

               -> Users)

OF46

Make a jingle call

Steps:

               Node-1 and Node-2 are in the cluster

               Login user 1 to node 1, user 2 to node 2

               Make a Jingle call

 

               Assertions

               The communication is established successfully.

OF47

Connection Managers Sessions

Steps:

               Make a cluster with 2 nodes and a Connection Manager in each one

               Login user 1 to node 1 and user 2 to node 2.

               Kill the node 2 connection manager

 

               Assertions:

               Offline status of user 2

OF48

Connection manager, change presence

Steps:

               Make a cluster with 2 nodes and a Connection Manager in each one

               Login user 1 to node 1 and user 2 to node 2.

               Change presence to "away", on the phone and Free to Chat

 

               Assertions:

               Presence changes are correctly updated

OF49

Connection mangager, group chat

Steps:

               Make a cluster with 2 nodes and a Connection Manager in each one

               Login user 1 to node 1 and user 2 to node 2

               Create a group chat and user 1 and user 2 join  the room.

 

               Assertions:

               Users are allowed to enter the chat room and they can exchange messages

OF50

Total Amount of Active Client Sessions

Steps:

               In a cluster with 2 nodes, login user 1 to node 1 and user 2 to node

               2.

 

               Assertion:

               Check in each node that the number of logged users are 2 (Sessions ->

               Client Sessions).

               Check in the Cluster overview that the number of clients connected was

               increased and decreased.

OF51

Secret key cache in S2S dialback

Steps

               Set a cluster with 2 nodes

               Set the S2S secret key in the node 1

               From node 1, establish the S2S connection to the remote server

               The remote server dialback with the password to the node 2.

 

               Assertion

               The remote server is correctly authenticated

OF52

Connect the cluster with a Load Balancer

Steps:

               Configure the apache load balancer to the cluster nodes

 

               Assertions:

               Verify that users are logged in different nodes

               Verify that the further messages from the same user are received by the

               same node

OF53

Reconnection to a temporal group chat

Steps:

               Make a cluster with 2 nodes

               Login user 1 to node 1 and user 2 to node 2.

               User 2 creates a temporal group chat and invites user1 who accepts the

               invitation

               Restart node 1

               User 2 invites user 1 to the chat group and user 1 accepts the

               invitation

 

               Assertions:

               The group chat is correctly established, user 1 and user 2 see each other

               in the room.

OF54

Reconnection to a permanent group chat

Steps:

               Make a cluster with 2 nodes

               Login user 1 to node 1 and user 2 to node 2.

               User 2 creates a temporal group chat and invites user1 who accepts the

               invitation

               Restart node 1

               User 2 invites user 1 to the chat group and user 1 accepts the

               invitation

 

               Assertions:

               The group chat is correctly established, user 1 and user 2 see each other

               in the room.

OF55

Gateway plugin in clustering

Steps:

               Make a cluster with 2 nodes

               Install the gateway plugin in node 1

               Login user 1 to node 1 and user 2 to node 2.

               Enable the gateway in user 1 and user 2

 

               Assertions:

               Verify that user 1 and user 2 has the gateway functionality available

OF56

Plugins update in clustering

Steps:

               Make a cluster with 2 nodes

               Go to Plugins -> Available Plugins and Update Now in node 1.

 

               Assertions:

               Check plugins and auto-updated time are updated in node 1

               Check plugins and auto-updated time are updated in node 2

 

Attachments

Outcomes