<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
<document xmlns="http://maven.apache.org/XDOC/2.0"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
	<properties>
		<title>Manual Testing</title>
		<author email="dev@openmeetings.apache.org">Apache OpenMeetings Team</author>
	</properties>
	<body>
		<section name="Introduction">
			<p>
				Below is a test plan for the OpenMeetings 2.1 pre-release testing.
			</p>
		</section>
		<section name="Details">
			<ol>
				<li>
					<b>User GUI tests</b>
					<ol>
						<li>
							Login/logout
							<ol>
								<li>Password recovering </li>
								<li>Self-registering </li>
								<li>"Visit Apache OpenMeetings" link </li>
								<li>Enter wrong login/password </li>
								<li>Enter correct login/password </li>
								<li>Logout the system by click the Logout link </li>
							</ol>
						</li>
						<li>
							Dashboard
							<ol>
								<li>Correct user info in 'Welcome' widget (upper left)</li>
								<li>Links in the "Help and support" section </li>
								<li>It should be possible to enter user’s room from the dashboard </li>
								<li>Room details should be shown correctly in the "Room details section…" part of the screen </li>
							</ol>
						</li>
						<li>
							Global chat
							<ol>
								<li>Send/receive message where at least 3 users in the system </li>
								<li>Adding a contact to the contact list </li>
								<li>Private message </li>
								<li>Showing user profile </li>
								<li>Inviting user to the conference room </li>
								<li>Copy chat log </li>
								<li>Delete chat log </li>
								<li>Changing font style in the massage </li>
								<li>Adding emotions to the message </li>
							</ol>
						</li>
						<li>
							Calendar view
							<ol>
								<li>Change view (weekly/daily/monthly) and moving between the dates </li>
								<li>Adding/removing/moving by mouse an event </li>
							</ol>
						</li>
						<li>
							Calendar invitation window
							<ol>
								<li>Creating/updating/deleting an event </li>
								<li>Inviting 3 internal and 3 external guests </li>
								<li>Different reminder types: receiving e-mail invitation for internal and external guests </li>
								<li>Password protected invitation </li>
								<li>Inviting to the rooms of the different types </li>
								<li>Choosing time zone for external guest </li>
								<li>Correct user data in the invitations </li>
								<li>SMS reminder for internal and external guests </li>
								<li>E-mail reminder for internal and external guests </li>
								<li>It should be possible to enter to the event via invitation link room at the particular time slot only </li>
								<li>Enter the room via invitation window </li>
							</ol>
						</li>
						<li>
							My Profile: User profile should contain correct user info and allow to edit this
						</li>
						<li>
							Contacts and Messages
							<ol>
								<li>Add/remove a message </li>
								<li>Creating a new folder </li>
								<li>Moving between the folders </li>
								<li>Marking messages as read/unread </li>
								<li>Message filters </li>
								<li>Contact list </li>
							</ol>
						</li>
						<li>
							User settings
							<ol>
								<li>Possibility to change the user info </li>
								<li>Changing time zone and language (should start to work after user re-login </li>
								<li>Community settings or different users </li>
								<li>Display settings</li>
							</ol>
						</li>
						<li>
							Search users
							<ol>
								<li>Send a private message </li>
								<li>Adding a contact </li>
								<li>View contact details via user list </li>
							</ol>
						</li>
						<li>
							Room lists
							<ol>
								<li>Public rooms, private rooms and my rooms should contain correct room lists </li>
								<li>User list for the selected room </li>
								<li>Room details for the selected room </li>
							</ol>
						</li>
						<li>
							Recordings
							<ol>
								<li>The list should contain available recordings in public and private folders </li>
								<li>Info panel should contain actual info about the recording </li>
								<li>Downloading a recording is different formats (AVI/FLV) </li>
								<li>Play the recording in OpenMeetings </li>
								<li>Play downloaded recording by Windows player </li>
								<li>Remove a recording from the folder </li>
							</ol>
						</li>
						<li>
							Presentation room testing – general issues (should be tested with at least 3 attendees)
							<ol>
								<li>Enter the room: different cases for the cam/micro, choosing of the cam resolution, test recording, allow/deny of video </li>
								<li>User list should be shown correctly </li>
								<li>Correct user credentials after  the room entering </li>
								<li>Add moderator permissions to the user </li>
								<li>Turn micro on/off in the user list </li>
								<li>Increasing/decreasing sound level and turning micro on/off in the video window </li>
								<li>Turn micro on/off in the user list to another user – possible by the moderator only </li>
								<li>Increasing/decreasing sound level and turning micro on/off in the video window - possible by the moderator only </li>
								<li>Allow/deny drawing on whiteboard – possible by the moderator only </li>
								<li>Allow/deny screen sharing – possible by the moderator only </li>
								<li>Allow/deny remote screen control – possible by the moderator only </li>
								<li>Allow/deny mute others – possible by the moderator only </li>
								<li>Re-start devise settings via user list </li>
								<li>Re-start devise settings via video window </li>
								<li>Kick the user off by the moderator </li>
								<li>Click F8 key to arrange videos </li>
								<li>Activity and actions panel should contain correct info </li>
								<li>Exit the room </li>
							</ol>
						</li>
						<li>
							Presentation room testing: file uploading + documents
							<ol>
								<li>Upload a document with "Load directly to whiteboard" switch turned on </li>
								<li>Upload a with "Load directly to whiteboard" switch turned on off </li>
								<li>Upload a document with the localized file name and spaces in the name </li>
								<li>Uploading a document into different folders: private files should be visible only their owner only </li>
								<li>Removing a file from the room </li>
								<li>Home and public drive size should change correctly </li>
								<li>Adding a new folder </li>
								<li>Removing a folder </li>
								<li>Load a document of each supported type and check that it’s shown correctly </li>
							</ol>
						</li>
						<li>
							Presentation room testing – whiteboard and properties panels (should be tested with at least 3 attendees)
							<ol>
								<li>Adding a removing a whiteboard </li>
								<li>Full-fit switch </li>
								<li>Clear whiteboard </li>
								<li>Clear objects of current slide only </li>
								<li>Save and export </li>
								<li>Undo </li>
								<li>Select an object </li>
								<li>Pointer </li>
								<li>Text </li>
								<li>Paint </li>
								<li>Draw line </li>
								<li>Draw underline </li>
								<li>Rectangle </li>
								<li>Ellipse </li>
								<li>Arrow </li>
								<li>Cliparts</li>
							</ol>
						</li>
						<li>
							Presentation room testing – chat (should be tested with at least 3 attendees)
							<ol>
								<li>Send a message </li>
								<li>Start a private chat </li>
								<li>Chat moderation </li>
								<li>Font style </li>
								<li>Emotions </li>
								<li>Show/copy chat log </li>
								<li>Delete server chat log </li>
							</ol>
						</li>
						<li>
							Presentation room testing – screen sharing and recordings (should be tested with at least 3 attendees)
							<ol>
								<li>"Share record/screen" button in the room </li>
								<li>Desktop sharer: start/stop sharing </li>
								<li>Change the shared screen area (X-offset, Y-offset, width, height) </li>
								<li>Change the screen sharing quality </li>
								<li>Start/stop recordings – need to check that it works as expected </li>
							</ol>
						</li>
						<li>
							Presentation room testing – Actions menu
							<ol>
								<li>Send invitation: send English and localized message </li>
								<li>Send invitation with password </li>
								<li>Send invitations with 3 different time periods </li>
								<li>Change time zone of the invitation </li>
								<li>Change language of the invitation </li>
								<li>Send invitation screen: "Generate URL" button – check the same things as for the invitations sent by email </li>
								<li>Apply to be moderator </li>
								<li>Apply to whiteboard access </li>
								<li>Apply to audio/video access </li>
								<li>Create a poll </li>
								<li>Poll results </li>
								<li>Vote </li>
								<li>Default whiteboard settings: check all of them </li>
							</ol>
						</li>
						<li>
							Conference room testing
							<ol>
								<li>Generally, all should look OK when enter the room </li>
							</ol>
						</li>
						<li>
							Interview room testing (should be tested with at least 3 attendees)
							<ol>
								<li>User list should look as expected </li>
								<li>Change a user for video pod </li>
								<li>Start/stop recordings </li>
							</ol>
						</li>
					</ol>
				</li>
				<li>
					<b>Admin GUI tests</b>
					<ol>
						<li>
							Users
							<ol>
								<li>Add/edit/remove/search user in the table </li>
								<li>Move between screens where there are many users in the table </li>
								<li>Edit text fields </li>
								<li>Change a time zone, re-login and check the calendar </li>
								<li>Change a language, re-login and check the GUI language </li>
								<li>Е-mail: e-mails should pass </li>
								<li>Phone and SMS switch: if set and turned on, sms messages should pass </li>
								<li>Change a status – non-active user cannot login </li>
								<li>Change user role and re-login </li>
								<li>Change user group  - user has an access only to the rooms belong to his group </li>
								<li>Change community settings and check </li>
							</ol>
						</li>
						<li>
							Connections
							<ol>
								<li>Should be tested with at least 3 users in the system </li>
								<li>Sessionvars table should be shown correctly </li>
								<li>Kick the user from the system </li>
							</ol>
						</li>
						<li>
							Groups
							<ol>
								<li>Add/remove/edit/search an group </li>
								<li>Add/remove a user from the user list of selected group </li>
							</ol>
						</li>
						<li>
							Conference rooms
							<ol>
								<li>Add/remove/edit/search a room </li>
								<li>User list for the given room should contain actual list </li>
								<li>Turn the Moderation switch on/off and enter the room </li>
								<li>Add/remove a user to the default moderator list </li>
								<li>Check max participants number in the room </li>
								<li>Change room type and enter the room </li>
								<li>Turn public switch on/off </li>
								<li>Turn "Demo switch" on/off, change the demonstration time </li>
								<li>Turn "Allow user questions" on/off and enter the room </li>
								<li>Turn "Audio only" switch on/off and enter the room </li>
								<li>Set "Close URL" to some URL, enter the room and then exit – you should be re-directed correspondingly </li>
								<li>Check that SIP settings work as expected </li>
								<li>Check that "Allow recordings" switch  works as expected </li>
								<li>Check that "Layout options" switch work as expected </li>
								<li>Check that "Allow font styles" switch works as expected </li>
							</ol>
						</li>
						<li>
							Configuration
							<ol>
								<li>allow.frontend.register </li>
								<li>Mail server settings </li>
								<li>SMS provider settings </li>
								<li>application.name </li>
								<li>default.lang.id </li>
								<li>default time zone </li>
								<li>SIP settings </li>
								<li>Reminder minutes </li>
							</ol>
						</li>
						<li>
							Language editor
							<ol>
								<li>Add/remove/edit/search a key </li>
								<li>Import/export of localization files </li>
							</ol>
						</li>
						<li>
							LDAP: Add/remove/edit/search a record
						</li>
						<li>
							Backup
							<ol>
								<li>System import </li>
								<li>System backup </li>
								<li>TBD – need to add tests for command line admin here </li>
							</ol>
						</li>
						<li>
							Servers: Add/remove/edit/search a server
						</li>
					</ol>
				</li>
				<li>
					<b>SIP integration tests</b> (should be tested with at least 3 attendees in the room; for presentation and interview rooms)
					<ol>
						<li>Call from the room to the external phone number </li>
						<li>Call from external phone number to the room </li>
						<li>Call from the software phone to the room </li>
						<li>Call from the software phone with video to the room </li>
					</ol>
				</li>
				<li>
					<b>Network testing script</b>
				</li>
				<li>
					<b>Site integration tests</b>
					<ol>
						<li>Enter OpenMeetings room from Moodle site </li>
						<li>Check that recordings link are shown on the Moodle site </li>
						<li>Enter OpenMeetings room from Joomla site </li>
						<li>Check that recordings link are shown on the Joomla site </li>
						<li>Enter OpenMeetings room from Drupal site </li>
						<li>Check that recordings link are shown on the Drupal site </li>
					</ol>
				</li>
				<li>
					<b>Extended test plan for the recordings and screen sharing testing</b>
					<ol>
						<li><b>Interview room testing</b>
							<ol>
								<li>
									Just a 5 minutes recording:
									<ol>
										<li>Enter a room with user A</li>
										<li>Enter a room with user B</li>
										<li>Open videos for both users</li>
										<li>Start recording with user A</li>
										<li>Wait for 5 minutes</li>
										<li>Stop recording by user A</li>
										<li>Repeat steps 1.1 – 1.6 3 times</li>
										<li>Exit room</li>
										<li>Wait some time</li>
										<li>Check that all the recordings are processed and work as expected</li>
										<li>there should not be a delay between the video and sound</li>
									</ol>
								</li>
								<li>Just a 30 minutes recording: do steps 1.1.1-1.16 one time; then check the result recording</li>
								<li>Just an 1 hour recording: do steps 1.1.1-1.16 one time; then check the result recording</li>
								<li>
									5-minutes recording: user exits the room before the recording gets stopped
									<ol>
										<li>Enter a room with user A</li>
										<li>Enter a room with user B</li>
										<li>Open videos for both users</li>
										<li>Start recording with user A</li>
										<li>Exit the room by user B</li>
										<li>Stop recording by user A</li>
										<li>Repeat steps 1.4.1 – 1.4.6 3 times</li>
										<li>Exit room</li>
										<li>Wait some time</li>
										<li>Check that all the recordings are processed and work as expected</li>
										<li>There should not be a delay between the video and sound</li>
									</ol>
								</li>
								<li>
									5-minutes recording: user A starts recording, user B stops
									<ol>
										<li>Enter a room with user A</li>
										<li>Enter a room with user B</li>
										<li>Open videos for both users</li>
										<li>Start recording with user A</li>
										<li>Stop recording by user B</li>
										<li>Exit room</li>
										<li>Wait some time</li>
										<li>Check that all the recordings are processed as expected</li>
									</ol>
								</li>
							</ol>
						</li>
						<li>
							<b>Conference room testing</b>
							<ol>
								<li>
									Screen sharing
									<ol>
										<li>Enter a room with user A</li>
										<li>Enter a room with user B</li>
										<li>Enter a room by user C</li>
										<li>Open videos for all the users</li>
										<li>Start screen sharing session by user A, choose High quality</li>
										<li>Check that A's screen looks correctly for users B and C and sound is OK in the room</li>
										<li>Stop screen sharing by user A after 5 minutes</li>
										<li>Repeat steps 2.1.1-2.1.7 3 times</li>
										<li>Repeat steps 2.1.1-2.1.7 one more time, but choose "Very high quality" on the step 2.1.5</li>
										<li>Repeat steps 2.1.1-2.1.7 one more time, but choose "Medium quality" on the step 2.1.5</li>
										<li>Repeat steps 2.1.1-2.1.7 one more time, but choose "Low quality" on the step 2.1.5</li>
										<li>Repeat steps 2.1.1-2.1.7 one more time, but choose some random height and width on the step 2.1.5</li>
										<li>Repeat steps 2.1.1-2.1.7 one more time, but turn the "Notify on disconnect" switch on the step 2.1.5</li>
									</ol>
								</li>
								<li>
									Recordings
									<ol>
										<li>Enter a room with user A</li>
										<li>Enter a room with user B</li>
										<li>Enter a room by user C</li>
										<li>Open videos for all the users</li>
										<li>Start recording session by user A, choose High quality</li>
										<li>Stop recording session by user A after 5 minutes</li>
										<li>Repeat steps 2.2.1-2.2.6 3 times</li>
										<li>Repeat steps 2.2.1-2.2.6 one more time, but choose "Very high quality" on the step 2.2.5</li>
										<li>Repeat steps 2.2.1-2.2.6 one more time, but choose "Medium quality" on the step 2.2.5</li>
										<li>Repeat steps 2.2.1-2.2.6 one more time, but choose "Low quality" on the step 2.2.5</li>
										<li>Repeat steps 2.2.1-2.2.6 one more time, but choose some random height and width on the step 2.2.5</li>
										<li>Repeat steps 2.2.1-2.2.6 one more time, but turn the "Notify on disconnect" switch on the step 2.2.5</li>
										<li>Go to the A's recordings list and check that all the recordings are there, processed without errors and work as expected</li>
									</ol>
								</li>
								<li>
									Recordings + screen sharing: user enters the room after recording is started
									<ol>
										<li>Enter conference room by user A</li>
										<li>Start screen sharing and recordings with default parameters by user A</li>
										<li>Enter the room by user B, check that screen sharing is OK. Wait 5 minutes</li>
										<li>Enter the room by user C, check that screen sharing is OK. Wait 5 minutes</li>
										<li>Exit the room by user B; wait 3 minutes</li>
										<li>Exit the room by user C; wait 3 minutes</li>
										<li>Exit the room by user A</li>
										<li>Repeat steps 2.3.1-2.3.7 3 times</li>
										<li>Go to the recordings list for user A and check that all the recordings are OK and work as expected</li>
									</ol>
								</li>
								<li>
									Stress test
									<ol>
										<li>Enter the room by the users A, B, C, D and E</li>
										<li>Open A, B, C, D and E videos</li>
										<li>Start screen sharing and recordings session with high quality by user A</li>
										<li>Wait 30 minutes</li>
										<li>Stop screen sharing</li>
										<li>Go to A's recordings list and check that created recording is OK</li>
										<li>Repeat steps 2.3.1-2.3.6 3 times</li>
									</ol>
								</li>
							</ol>
						</li>
					</ol>
				</li>
			</ol>
		</section>
	</body>
</document>
