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 |
Comments