Archived:Testing Joomla Functionality
From Joomla! Documentation
Testing Joomla Functionality:
Installation Testing
[note to self. Must add directory permissions checking to tests]
[when released, must add auto redirect to installation directory]
[must add check for no admin access if installation directory exists]
- 1 Choose Language
All Available languages are populated in the list of languages
Selection saved when clicking Next and Back
Selected Language can be changed after clicking Back
Selected Language(s) are installed during installation.
Next button takes you to the next step of the installation wizard
Cross Browser check all steps above looking for scripting errors.
Check for any non localized text
- 2 Pre-Installation Check
All parameters listed are correctly displaying the result.
This test requires the changing of php settings and refreshing this screen to ensure that the settings are in fact checked.
Check Again Button works
Next and Previous Buttons work
Cross Browser check all steps above looking for scripting errors.
Check for any non localized text
- 3 License
License is presented in a text area with a scrollbar on the right.
Next and previous buttons work
Cross Browser check all steps above looking for scripting errors.
Check for any non localized text
- 4 Database
Basic Settings
Database Type selector contains options for MySQL and MySQLi
Host Name is a text field – can enter any server name or IP address
Username is a text field – Can enter any valid MySQL username
Password is a text field – Can enter any valid MySQL password
Database Name is a text field – Can enter any valid MySQL database name
Styling for all text fields is identical
Advanced Settings
Remove – if rerunning installation process all existing dbase content will be removed and reset
Backup – if rerunning installation process all existing dbase content will be backed up in tables with the prefix bak_
Table Prefix – Must start with a letter followed by only letters, numbers or underscores.
Validation and error message checking
Confirm that valid error messages are shown when fields are blank or contain invalid data
Confirm data is backed up in bak_ prefixed tables
Confirm data is cleaned and recreated
Next and previous buttons work
Cross Browser check all steps above looking for scripting errors.
Check for any non localized text
Settings are saved when clicking Next then Back
- 5 FTP Configuration
Basic Settings
Enable FTP Layer field contains two options, Yes, No
FTP Username is a text field – any valid ftp username
FTP Password is a text field – any valid ftp password
FTP Root – any valid path, specific for windows and linux tests
AutoFind FTP Path button works returns a result Success or Fail. If Success, the Path will be populated if Fails, popup with appropriate message.
Verify FTP Settings button works and returns a result Success or Fail with appropriate message
Advanced Settings
FTP Host – any valid server hostname or IP address
FTP Port – any valid port number of integer value
Save FTP Password (where?)
Next and previous buttons work
Cross Browser check all steps above looking for scripting errors.
Check for any non localized text
Settings are saved when clicking Next then Back
- 6 Main Configuration
Site Name is a text field
Your E-mail is an email field
Admin Password is a password field
Confirm Password is a Password field
Install Sample Data button works and changes state when pressed.
Validation and error message checking
Confirm that valid error messages are shown when fields are blank or contain invalid data
Confirm that the sample data is installable once only. If you return to the create database screen and move forward again, the button will be enabled again as the dbase info has been cleaned or backed up.
Managing the Website
Taking the website temporarily offline
[Simon Wells]
Changing the appearance of your site
Giving the Front Page a different style from other pages
Changing the style according to article section or category
Logging in or out of the Administrator back-end
Making your site Search Engine Friendly
Entering search engine meta-data
Moving the site among directories/sub-directories
Managing Users
Setting user registration policy
Changing user registration settings
Disabling user registration
Allowing only manual user registration
Allowing user registration
Restricting user access to resources
Enabling user's registration approval by admins Joomla 1.6
Customising the Login Form module
Changing the Login Form module settings
Enabling the Login Form module
Assigning the Login Form module to selected web pages
Customising the information shown in the Login Form module
Adding a new user
Changing user groups
Resetting a user password
Listing a user on a contacts page
Dealing with a problem user
Sending an email to a user
Sending an email to a group of users
Sending a private message to a user
Seading a private message from a user
Access Control
Functional Overview
[Rob Joyce] There are four possible permissions for actions, as outlined below:
- Not set: Defaults to "deny" but, unlike the Deny permission, this permission can be overridden by setting a child group or a lower level in the permission hierarchy to "Allow". This permission only applies to the Global Configuration permissions.
- Inherit: Inherits the value from a parent Group or from a higher level in the permission hierarchy. This permission applies to all levels except the Global Configuration level.
- Deny: Denies this action for this level and group. IMPORTANT: This also denies this action for all child groups and all lower levels in the permission hierarchy. Putting in Allow for a child group or a lower level will not have any effect. The action will always be denied for any child group member and for any lower level in the permission hierarchy.
- Allow: Allows this action for this level and group and for lower levels and child groups. This does not have any effect if a higher group or level is set to Deny or Allow. If a higher group or level is set to Deny, then this permission will always be denied. If a higher group or level is set to Allow, then this permission will already be allowed.
Detailed instructions for ACL can be found here: http://docs.joomla.org/ACL_Tutorial_for_Joomla_1.6
Testing Restrictive permissions - Basic Existing - Users Group Guidelines: Most restrictive permissions apply - Permissions flow from the top to the bottom. Global settings being at the top and article level permissions being at the bottom, with component level in between.
Open two browsers. One to admin and one to the front page. The test will be done in three steps, one for each level of permissions and then another step to reset the permission to default so as not to contaminate the next test.
Test 1: Restricted level for public user Open Article Manager Find and edit the Joomla Beginners Article (Id 4) Set Acess to Registered Refresh Frontpage, Article should dissapear. Set permission back to Public Refresh Homepage Open Article Set permission back to Registered Refresh Front end page Expected result: Message: You are not authorized to review this resource
Test 2: Special level for public user Open Article Manager Find and edit the Joomla Beginners Article (Id 4) Set Acess to Special Refresh Frontpage, Article should dissapear. Set permission back to Public Refresh Homepage Open Article Set permission back to Special Refresh Front end page Expected result: Message: You are not authorized to review this resource
Test 3: Custom level for public user Open Article Manager Find and edit the Joomla Beginners Article (Id 4) Set Acess to Custom Refresh Frontpage, Article should dissapear. Set permission back to Public Refresh Homepage Open Article Set permission back to Custom Refresh Front end page Expected result: Message: You are not authorized to review this resource
Access Rules - Public
Delete
Set Access permissions at the article, Component, and global to allow edit and delete for Public
Refresh homepage.
Expected result: Edit and Delete icons visible for the user to edit or delete the article.
Select Edit: Edit content, save.
Reload article.
Expected result: Changed content visible
Click Delete article.
Expected result: Article deleted.