Booby - Tests

Table of contents

Login

Test scripts for the login page. These tests are based on default username/password for admin.

ID Prerequisits Description How to execute Expected result
Login.1 Normal login Not yet logged in (no cookies set) Login using the default admin username. You should be presented with the index page of the application
Login.2 Login without username/password Not yet logged in (no cookies set) Do not enter a username and password and try to login The login page is shown again with an error message indicating that both username and password need to be provided
Login.3 Login without a username but with a password Not yet logged in (no cookies set) Do not enter a username but do enter a password and try to login The login page is shown again with an error message indicating that both username and password need to be provided
Login.4 Login with a username but without a password Not yet logged in (no cookies set) Enter a username but do not enter a password and try to login The login page is shown again with an error message indicating that both username and password need to be provided
Login.5 Login with a non-existing username Not yet logged in (no cookies set) Enter a non-exitsing username and try to login The login page is shown again with an error message indicating that the specified user is not known to the system
Login.6 Login with an incorrect password Not yet logged in (no cookies set) Enter a username and incorrect password and try to login The login page is shown again with an error message indicating that the password is not correct
Login.7 Bypass login screen without cookie Not yet logged in (no cookies set) Go to the index page (index.php) of the application The login page is shown
Login.8 Set a cookie Not yet logged in (no cookies set) Login using the 'remember me' option In your cookie manager, a cookie with the name Booby should be set.
Login.9 Bypass login screen with cookie Already logged in (cookies set) but no open browser (persistent cookie) Go to the index page (index.php of the application The index page is shown
Login.10 Signup   Check the 'signup' checkbox on the login page when logging in An additional screen is presented that asks for additional information
Login.11 Signup an existing user You are in the signup page and entered an existing user (i.e. admin) Confirm the password as you typed it on the login page and try to signup You will be presented with the login screen and the message that the specified user already exists
Login.12 Signup a non-existing user You are in the signup page and entered a non-existing user on the login page Confirm the password as you typed it on the login page and try to signup You will be presented with the index page of the application. A mail is sent to the site administrator indicating that a new user has signed up
Login.13 Signup with inconsitent passwords You are in the signup page Enter a password different than the one you used in the login page The login screen is presented with a 'password mismatch' message
Login.14 Already logged in Relogin when already logged in (not yet logged out) Go to the login page and try to login as a different user. Login should be succesful, you are now logged in as the new user
Login.15 Already logged in Logout From any page, click the logout link The login page should be shown, you are now logged out. Going back to the previous page with the back button of your browser should not work. If you can go back (the previous page was cached and the cached page is shown), a refresh should redirect you to the login page.

Index

Once we are logged in, we are directed to the index page, the entry point for all other applications. Not much to test here....

ID Prerequisits Description How to execute Expected result
Index.1 Already logged in All entry points should be accessible. This test is simply clicking all links that are visible and see whether the next page is shown. A next page is automatically handled by a different controller and the tests are therefor described in different test scenarios. Click on each menuitem (Bookmark, Note etc) as well as each item of the framework menu (about, preferences etc). All pages should show up fine.

Admin

ID Prerequisits Description How to execute Expected result
Admin.1 Logged in as user admin Check admin page for admin user Go to the admin page (<yourboobypath>/admin.php) The admin page shows up showing all users (minimum 1: the admin user itself)
Admin.2 Logged in as any user BUT admin Check admin page for non-admin user Go to the admin page (<yourboobypath>/admin.php) An error message indicating that you do not have access to this page should occur
Admin.3 Logged in as user admin Create another user Add another user by clicking the add link and filling its credentials The admin page shows up showing all users of which one is the newly created user
Admin.4 Step 3 succesful Log in with the user created under step 3 Logout as admin and login under the newly created userId The index page should show up welcoming the new user
Admin.5 Logged in as admin user Modify a user Click on the modify icon in front of a user and modify the users credentials The index page should show up. Is this really the behaviour that we want? Do we need to change a users password when we change its credentials? Do we need to this often and do we care?
Admin.5 Logged in as user admin Delete a user Delete the new user by clicking on the trashcan in front of its name The admin page shows up showing all users of without the deleted user

Preferences

Tests for the preference settings (per user) These tests should be performed for each tempate that is used.

ID Prerequisits Description How to execute Expected result
Pref. 1 - Display of current preference settings Change template and/or language After going back to the preferences page, you should see the current preferences selected by default in the dropdown boxes
Pref. 2 - Try to change the template/theming system. For all defined themes (dropdown); change the theme. You should be directed to the index page, page is rendered using the new template
Pref. 3 - Try to change the language For all defined languages (dropdown); change the language. You should be directed to the index page, page is rendered using the same template template as before, the language is changed (note that this might result in strange characters. If you do not have the chinese character set installed, the chinese language will show blocks etc)

User settings

Tests for the user settings like password, email etc.

ID Prerequisits Description How to execute Expected result
User. 1 - Display of current user settings Click the 'preferences' link Your current credentials should be displayed, the passwords (only one field is filled in) should be indicated as stars (*****)
User. 2 - Change passwords Change the password by filling in the same password in both password fields You should be directed to the index page.
User. 3 - Change password with password mismatch Try to change the password by entering different information in both password fields An error message indicating a password mismatch should occur
User. 4 - Change password, leaving the second password field empty Try to change the password by entering a password in the first field but leaving the second field empty. An error message indicating a password mismatch should occur
User. 5 - Change password, leaving the first password field empty Try to change the password by entering a password in the second field but leaving the first field empty. An error message indicating a password mismatch should occur
User. 6 - Change password, leaving the both password fields empty Try to change the password by leaving both password fields empty. (i.e. no password; this is not allowed) An error message indicating that empty passwords are not allowed should occur
User. 7 - Change any of the values without changing the password values (i.e. the first one has a value and the second one has not) Change any of the values without changing the password values (i.e. the first one has a value and the second one has not) An error message indicating a password mismatch should occur
User. 8 - Change any of the values (but the password value) Fill in the second password field and change any of the values (or all) After submitting, you will be redirected to the index page. When you return to the preferences page, you should see the changed values.
User. 7 - Change the description so that it contains special characters Fill in both password values (the first one is already filled in, you can leave this unchanged if you do not want to change the password at the same time) and place special characters (comma, tab etc) in the description field. You can use the following description Description 'quote ,comma .point è ì ò ù à á é í ó ú ! @ # $ % ^ * ( ) _ + = - { } [ ] "doublequote ; : < > ? / // \ \\ '' "" The database should not contain escaped values! Check this. When you go to the preferences page, the values should show up as entered.
User. 10 - Quickmark functionality Add a quickmark as bookmark in your browser After adding the quickmark link, all links added by the quickmark should appear in a seperate window, added to the root.
User. 11 - Sidebar functionality Click the sidebar link. A new page with buttons for dedicated sidebars should be shown. Sidebar test scenarios can be found in the doc directory of the bookmarks plugin.
User. 12 Using Mozilla browser Sidebar functionality Click the sidebar link and add a link to the mozilla sidebar Depending on whether this sidebar already exist (this is functionality provided by the browser and does not need to be tested), the sidebar will be added and display the bookmarks tree.
User. 12 Using Opera browser Sidebar functionality Click the sidebar link and add a link to the opera sidebar Depending on whether this sidebar already exist (this is functionality provided by the browser and does not need to be tested), the sidebar will be added and display the bookmarks tree.

About page

Test whether the about page shows up properly

ID Prerequisits Description How to execute Expected result
About. 1 - Show the about page From within any page in the application, click the about link The about page should be visible.