
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2017-03-29
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache OpenMeetings Project - 
		Manual Testing</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta name="author" content="Apache OpenMeetings Team" />
		<meta http-equiv="content-language" content="en" />
 
		<link href=".//css/bootstrap.min.css" rel="stylesheet" />
		<link href=".//css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href=".//css/docs.css" rel="stylesheet" />
		<link href=".//css/reflow-skin.css" rel="stylesheet" />


		<link href=".//css/lightbox.css" rel="stylesheet" />

		<link href=".//css/site.css" rel="stylesheet" />
		<link href=".//css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src=".//js/html5.js"></script>
		<![endif]-->


		
	</head>

	<body class="page-manualtesting project-openmeetings-server" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="brand"><span class="color-highlight">Apache</span> OpenMeetings</div>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="demo.html" title="Demo">Demo</a></li>
							<li ><a href="downloads.html" title="Download">Download</a></li>
							<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink">Wiki</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">General <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Home">Home</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li ><a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a></li>
									<li ><a href="CallForLogo.html" title="Call For Logo">Call For Logo</a></li>
									<li ><a href="NewsArchive.html" title="News archive">News archive</a></li>
									<li ><a href="security.html" title="Security">Security</a></li>
									<li ><a href="commercial-support.html" title="Commercial Support">Commercial Support</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Installation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="installation.html" title="Installation">Installation</a></li>
									<li ><a href="Upgrade.html" title="Upgrade">Upgrade</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a></li>
									<li ><a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Community <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="get-involved.html" title="Get Involved">Get Involved</a></li>
									<li ><a href="team-list.html" title="Committers">Committers</a></li>
									<li ><a href="OurUsers.html" title="Our Users">Our Users</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="source-repository.html" title="Source Code">Source Code</a></li>
									<li ><a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a></li>
									<li ><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
									<li ><a href="integration.html" title="Continuous Integration">Continuous Integration</a></li>
									<li ><a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a></li>
									<li ><a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a></li>
									<li ><a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a></li>
									<li class="active"><a href="" title="Manual Testing">Manual Testing</a></li>
									<li ><a href="ReleaseGuide.html" title="Release Guide">Release Guide</a></li>
									<li ><a href="WebsiteGuide.html" title="Website Guide">Website Guide</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#integration" title="Integration">Integration</a>
										<ul class="dropdown-menu">
											<li ><a href="openmeetings-webservice/apidocs/index.html" title="SOAP/REST API" target="_blank">SOAP/REST API</a></li>
											<li ><a href="RestAPISample.html" title="REST API Sample">REST API Sample</a></li>
											<li ><a href="LdapAndADS.html" title="Ldap and ADS">Ldap and ADS</a></li>
											<li ><a href="oauth2.html" title="OAuth2">OAuth2</a></li>
											<li ><a href="voip-sip-integration.html" title="VoIP and SIP">VoIP and SIP</a></li>
											<li ><a href="errorvalues.html" title="Errors table">Errors table</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#plugins" title="Plugins">Plugins</a>
										<ul class="dropdown-menu">
											<li ><a href="MoodlePlugin.html" title="Moodle Plugin">Moodle Plugin</a></li>
											<li ><a href="SakaiPlugin.html" title="Sakai Plugin">Sakai Plugin</a></li>
											<li ><a href="JiraPlugin.html" title="Jira Plugin">Jira Plugin</a></li>
											<li ><a href="JoomlaPlugin.html" title="Joomla Plugin">Joomla Plugin</a></li>
											<li ><a href="DrupalPlugin.html" title="Drupal Plugin">Drupal Plugin</a></li>
											<li ><a href="BitrixPlugin.html" title="Bitrix Plugin">Bitrix Plugin</a></li>
											<li ><a href="ConfluencePlugin.html" title="Confluence Plugin">Confluence Plugin</a></li>
											<li ><a href="SugarCRMPlugin.html" title="SugarCRM Plugin">SugarCRM Plugin</a></li>
											<li ><a href="RedminePlugin.html" title="Redmine Plugin">Redmine Plugin</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#db" title="DB Sample Configurations">DB Sample Configurations</a>
										<ul class="dropdown-menu">
											<li ><a href="ApacheDerbyConfig.html" title="Apache Derby">Apache Derby</a></li>
											<li ><a href="IBMDB2Config.html" title="IBM DB2">IBM DB2</a></li>
											<li ><a href="OracleConfig.html" title="Oracle">Oracle</a></li>
											<li ><a href="MySQLConfig.html" title="MySQL">MySQL</a></li>
											<li ><a href="PostgresConfig.html" title="Postgres">Postgres</a></li>
											<li ><a href="MSSQLConfig.html" title="MSSQL">MSSQL</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#localization" title="Localization and languages">Localization and languages</a>
										<ul class="dropdown-menu">
											<li ><a href="Internationalisation.html" title="Internationalisation">Internationalisation</a></li>
											<li ><a href="LanguageEditor.html" title="LanguageEditor">LanguageEditor</a></li>
											<li ><a href="TimeZoneHandling.html" title="TimeZoneHandling">TimeZoneHandling</a></li>
											<li ><a href="EditTemplates.html" title="EditTemplates">EditTemplates</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#port" title="NAT Port Settings">NAT Port Settings</a>
										<ul class="dropdown-menu">
											<li ><a href="PortSettings.html" title="Port settings">Port settings</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#performance" title="Performance">Performance</a>
										<ul class="dropdown-menu">
											<li ><a href="JVMPerformanceTuning.html" title="JVM performance tuning">JVM performance tuning</a></li>
											<li ><a href="NetworkCalculator.html" title="Network bandwidth calculator">Network bandwidth calculator</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#interface" title="User Interface">User Interface</a>
										<ul class="dropdown-menu">
											<li ><a href="themes-and-branding.html" title="Themes">Themes</a></li>
											<li ><a href="Dashboard.html" title="Dashboard">Dashboard</a></li>
											<li ><a href="WebcamResolutions.html" title="Webcam resolutions">Webcam resolutions</a></li>
											<li ><a href="ConferenceRoomLayoutOptions.html" title="Room layout options">Room layout options</a></li>
											<li ><a href="HotKeys.html" title="Hot Keys">Hot Keys</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#customize" title="Customization">Customization</a>
										<ul class="dropdown-menu">
											<li ><a href="WebappNamePath.html" title="Webapp name/path">Webapp name/path</a></li>
											<li ><a href="Navigation.html" title="Navigation">Navigation</a></li>
											<li ><a href="CalendarAndTimezone.html" title="Calendar and timezone">Calendar and timezone</a></li>
											<li ><a href="CustomRoomTypeHowTo.html" title="Custom room type">Custom room type</a></li>
											<li ><a href="CustomCryptMechanism.html" title="Custom crypt mechanism">Custom crypt mechanism</a></li>
											<li ><a href="GeneralConfiguration.html" title="General Configuration">General Configuration</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#security" title="Security">Security</a>
										<ul class="dropdown-menu">
											<li ><a href="RestrictedAccess.html" title="Restricted Access">Restricted Access</a></li>
											<li ><a href="RTMPSAndHTTPS.html" title="RTMPS and HTTPS">RTMPS and HTTPS</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#convert" title="Converters">Converters</a>
										<ul class="dropdown-menu">
											<li ><a href="OpenOfficeConverter.html" title="OpenOffice Converter">OpenOffice Converter</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#cluster" title="Clustering">Clustering</a>
										<ul class="dropdown-menu">
											<li ><a href="Clustering.html" title="Clustering">Clustering</a></li>
										</ul>
									</li>
									<li class="dropdown-submenu ">
										<a href="ManualTesting.html#misc" title="Misc">Misc</a>
										<ul class="dropdown-menu">
											<li ><a href="GetVersionInfo.html" title="Get version info">Get version info</a></li>
										</ul>
									</li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><img src="images/logo.png" alt='"'Apache OpenMeetings'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://apache.org" id="bannerRight"><img src="http://apache.org/img/asf_logo.png" alt='"'Apache'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="publishDate version-date">Last Published: 2017-03-29</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span8">
			<div class="body-content">
<!-- 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. --> 
<div class="section"> 
 <div class="page-header">
  <h2 id="Introduction">Introduction</h2>
 </div> 
 <p> Below is a test plan for the OpenMeetings 2.1 pre-release testing. </p> 
</div> 
<div class="section"> 
 <h2 id="Details">Details</h2> 
 <ol style="list-style-type: decimal"> 
  <li> <b>User GUI tests</b> 
   <ol style="list-style-type: decimal"> 
    <li> Login/logout 
     <ol style="list-style-type: decimal"> 
      <li>Password recovering </li> 
      <li>Self-registering </li> 
      <li>&quot;Visit Apache OpenMeetings&quot; link </li> 
      <li>Enter wrong login/password </li> 
      <li>Enter correct login/password </li> 
      <li>Exit the system by click the Exit button </li> 
     </ol> </li> 
    <li> Dashboard 
     <ol style="list-style-type: decimal"> 
      <li>Correct user info in the upper left corner </li> 
      <li>Links in the &quot;Help and support&quot; 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 &quot;Rooms in this section…&quot; part of the screen </li> 
     </ol> </li> 
    <li> Global chat 
     <ol style="list-style-type: decimal"> 
      <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> Attention! Correct RTL support does not work in the current implementation </li> 
    <li> Calendar view 
     <ol style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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> Restricted room testing – general issues (should be tested with at least 3 attendees) 
     <ol style="list-style-type: decimal"> 
      <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 exclusive audio – 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> Restricted room testing: file uploading + documents 
     <ol style="list-style-type: decimal"> 
      <li>Upload a document with &quot;Load directly to whiteboard&quot; switch turned on </li> 
      <li>Upload a with &quot;Load directly to whiteboard&quot; 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> Restricted room testing – whiteboard and properties panels (should be tested with at least 3 attendees) 
     <ol style="list-style-type: decimal"> 
      <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> Restricted room testing – chat (should be tested with at least 3 attendees) 
     <ol style="list-style-type: decimal"> 
      <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> Restricted room testing – screen sharing and recordings (should be tested with at least 3 attendees) 
     <ol style="list-style-type: decimal"> 
      <li>&quot;Share record/screen&quot; 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> Restricted room testing – Actions menu 
     <ol style="list-style-type: decimal"> 
      <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: &quot;Generate URL&quot; 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 style="list-style-type: decimal"> 
      <li>User list should look in another way in compare with restricted type </li> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
    <li> Users 
     <ol style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 &quot;Demo switch&quot; on/off, change the demonstration time </li> 
      <li>Turn &quot;Allow user questions&quot; on/off and enter the room </li> 
      <li>Turn &quot;Audio only&quot; switch on/off and enter the room </li> 
      <li>Set &quot;Close URL&quot; 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 &quot;Allow recordings&quot; switch works as expected </li> 
      <li>Check that &quot;Layout options&quot; switch work as expected </li> 
      <li>Check that &quot;Allow font styles&quot; switch works as expected </li> 
     </ol> </li> 
    <li> Configuration 
     <ol style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 style="list-style-type: decimal"> 
      <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 restricted and interview rooms) 
   <ol style="list-style-type: decimal"> 
    <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 style="list-style-type: decimal"> 
    <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 style="list-style-type: decimal"> 
    <li><b>Interview room testing</b> 
     <ol style="list-style-type: decimal"> 
      <li> Just a 5 minutes recording: 
       <ol style="list-style-type: decimal"> 
        <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 style="list-style-type: decimal"> 
        <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 style="list-style-type: decimal"> 
        <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 style="list-style-type: decimal"> 
      <li> Screen sharing 
       <ol style="list-style-type: decimal"> 
        <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 &quot;Very high quality&quot; on the step 2.1.5</li> 
        <li>Repeat steps 2.1.1-2.1.7 one more time, but choose &quot;Medium quality&quot; on the step 2.1.5</li> 
        <li>Repeat steps 2.1.1-2.1.7 one more time, but choose &quot;Low quality&quot; 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 &quot;Notify on disconnect&quot; switch on the step 2.1.5</li> 
       </ol> </li> 
      <li> Recordings 
       <ol style="list-style-type: decimal"> 
        <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 &quot;Very high quality&quot; on the step 2.2.5</li> 
        <li>Repeat steps 2.2.1-2.2.6 one more time, but choose &quot;Medium quality&quot; on the step 2.2.5</li> 
        <li>Repeat steps 2.2.1-2.2.6 one more time, but choose &quot;Low quality&quot; 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 &quot;Notify on disconnect&quot; 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 style="list-style-type: decimal"> 
        <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 style="list-style-type: decimal"> 
        <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> 
</div>
			</div>
		</div>
		<div class="span4">
			<div id="toc-sidebar">
				<div class="well">
					<ul class="nav nav-list">
						<li class="nav-header">Table of Contents</li>
		<li><a href="#Introduction" title="Introduction">Introduction</a>
		<li><a href="#Details" title="Details">Details</a>
					</ul>
				</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">General</li>
						<li >
							<a href="index.html" title="Home">Home</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li >
							<a href="http://www.apache.org/" title="ASF" class="externalLink">ASF</a>
						</li>
						<li >
							<a href="CallForLogo.html" title="Call For Logo">Call For Logo</a>
						</li>
						<li >
							<a href="NewsArchive.html" title="News archive">News archive</a>
						</li>
						<li >
							<a href="security.html" title="Security">Security</a>
						</li>
						<li >
							<a href="commercial-support.html" title="Commercial Support">Commercial Support</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Installation</li>
						<li >
							<a href="installation.html" title="Installation">Installation</a>
						</li>
						<li >
							<a href="Upgrade.html" title="Upgrade">Upgrade</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+for+installing+OpenMeetings+and+Tools" title="Tutorials" class="externalLink">Tutorials</a>
						</li>
						<li >
							<a href="CommandLineAdmin.html" title="Command Line Admin">Command Line Admin</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Community</li>
						<li >
							<a href="get-involved.html" title="Get Involved">Get Involved</a>
						</li>
						<li >
							<a href="team-list.html" title="Committers">Committers</a>
						</li>
						<li >
							<a href="OurUsers.html" title="Our Users">Our Users</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/" title="Wiki" class="externalLink">Wiki</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Development</li>
						<li >
							<a href="source-repository.html" title="Source Code">Source Code</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Bugs / Issues">Bugs / Issues</a>
						</li>
						<li >
							<a href="dependencies.html" title="Dependencies">Dependencies</a>
						</li>
						<li >
							<a href="integration.html" title="Continuous Integration">Continuous Integration</a>
						</li>
						<li >
							<a href="BuildInstructions_3.0.x.html" title="Build Instructions 3.0.x">Build Instructions 3.0.x</a>
						</li>
						<li >
							<a href="BuildInstructions.html" title="Build Instructions">Build Instructions</a>
						</li>
						<li >
							<a href="JUnitTesting.html" title="JUnit Testing">JUnit Testing</a>
						</li>
						<li class="active">
							<a href="#" title="Manual Testing">Manual Testing</a>
						</li>
						<li >
							<a href="ReleaseGuide.html" title="Release Guide">Release Guide</a>
						</li>
						<li >
							<a href="WebsiteGuide.html" title="Website Guide">Website Guide</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2012-2017 <a href="http://apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src=".//js/jquery.min.js"></script>

	<script src=".//js/bootstrap.min.js"></script>
	<script src=".//js/lightbox.min.js"></script>
	<script src=".//js/reflow-scroll.js"></script>
	
<script src=".//js/jquery-ui.min.js" type="text/javascript"></script>
<script src=".//js/netcalc.js" type="text/javascript"></script>
	<script src=".//js/reflow-skin.js"></script>

	</body>
</html>
