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
- 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
- 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
- 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
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
OF_3.4.0_test_cases.xls (43008 Bytes)