New installer/Test plan

From mediawiki.org

The test plan is broken down into three parts

  • High priority tests - high-frequency tests
  • Medium priority tests - at least once a cycle
  • Low priority tests - tests that will be run only if there is extra time

High priority[edit]

These tests will be run very frequently. The total of all tests in this section should take an experienced engineer no more than a few hours to run. These tests are prime candidates for automation.

  • Verify successful installation of MediaWiki using 'MySQL' database type.
  • Verify successful installation of MediaWiki on one database with different database prefixes.
  • Verify successful installation of MediaWiki on already installed MediaWiki.
  • Verify successful installation of MediaWiki with different database accounts for web access.
  • Verify successful installation of MediaWiki by updating the existing database.
  • Verify error messages of MediaWiki when the 'MySQL' database is stopped.
  • Verify error messages of MediaWiki when the user inputs invalid/blank values for fields in 'Connect to database' page.
  • Verify error messages of MediaWiki when the user inputs invalid/blank values for fields in 'Name' page.

Medium priority[edit]

These tests should be run at least once over the course of the release. They are still important, but are much lower priority for automation. It's helpful to provide an estimate for how long this section will take, but there's no strict upper bound on the amount of time this section should take other than the time available in the overall development schedule.

  • Verify the environmental check before running MediaWiki installation.
  • Verify MediaWiki installation on 'SQLite' database type.
  • Verify the ability of restarting MediaWiki installation at any point of the installation.
  • Verify the default values in additional 'Options' page.
  • Verify successful installation of MediaWiki on already installed MediaWiki with Latin1 tables and UTF-8 format chosen.
  • Verify successful installation of MediaWiki on already installed MediaWiki with UTF-8 format tables and legacy format chosen.

Low priority[edit]

These tests are still documented, but are only run if time is available. A release should not be held if there isn't time to run these tests. This section will probably start off empty, with some medium priority tests moved down to this section as priorities are set.

  • Verify MediaWiki installation on different language options.
  • Verify the user interface of MediaWiki pages( MediaWiki initial page, Language, Welcome to MediaWiki!, Connect to database, Upgrade existing installation, Database settings, Name, Options, Install, Complete!, Restart installation, Read me, Release notes, Copying, Upgrading ).

Detailed Test Cases (MediaWiki 1.18alpha)[edit]

Test Case ID Test Case Name Expected Results Can Automate ?
Successful
1 Install Mediawiki using 'MySQL' database type. 1. 'Language' and 'Welcome to MediaWiki!' pages should be completed.

2. 'MySQL' should be selected as the 'Database type'.

3. Database name should be able to change.

4. 'Database settings', 'Name', 'Options', 'Install' and 'Complete!' pages completed.

5. 'Congratulations!' text should be available in the 'Complete!' page.

Yes
2 Install MediaWiki with the same database and the different database prefixes(Share one database between multiple wikis). 1. One wiki should be installed successfully.

2. User should be allow to succesfully install another mediawiki with different database prefix.

3. Upgrade existing installation' page should not displayed next to the 'Connect to database' page.

4. 'Database settings' page should be displayed next to the 'Connect to database' page.

5. 'Congratulations!' text should be available in the 'Complete!' page.

Yes
3 Install mediawiki on a already installed Mediawiki. 1. 'Install' page should display after the 'Option' page.

2. 'Install' text should be available.

3. 'Warning: You seem to have already installed MediaWiki and are trying to install it again. Please proceed to the next page.' text should be display.

4. 'Back' and 'Continue' buttons should be available.

5. Clicking in the 'Continue' button should display the 'Complete' page with 'Congratulations!' text.

Yes
4 Install MediaWiki with different Database accounts for web access. 1. 'Use the same account as for installation' check box should be un-checked in the 'Database settings' page.

2. User should be able to enter a 'Database username' and 'Database password'.

3. 'Create the account if it does not already exist' check box should be available.

4. 'Name' page should display after successful completion of the 'Database settings' page.

5. 'Congratulations!' text should be available in the 'Complete!' page.

Yes
5 Install Mediawiki by updating the existing database. 1. 'Language' and 'Welcome to MediaWiki!' pages should be completed.

2. Database name should be able to change with the existing database name.

3. 'Upgrade existing installation' page should be displayed next to the 'Connect to database' page.

4. 'There are MediaWiki tables in this database. To upgrade them to MediaWiki 1.18alpha, click Continue.' message should be displayed.

5. 'Upgrade complete.' text should display.

6. 'Regenerate LocalSettings.php' button should available.

7. 'Congratulations!' text should be available in the 'Complete!' page.

Yes
6 Install Mediawiki using 'SQLite' database type. 1. 'SQLite' should be selected as the 'Database type'.

2. Database name should be able to change.

3. 'Database settings', 'Name', 'Options', 'Install' and 'Complete!' pages completed.

4. 'Congratulations!' text should be available in the 'Complete!' page.

Yes
Unsuccessful
7 Unsuccessful MediaWiki installation when the web server(Wamp) is offline. 'Please set up the wiki first.' text and the link should not available. No
8 Unsuccessful MediaWiki installation when the 'MySQL' database is stopped. 1. 'Language' and 'Welcome to MediaWiki!' pages should be completed.

2. Should not move forward from the 'Connect to database' page. (e.g. Error displayed : Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\installer\includes\db\Database.php on line 5 )

No
9 Invalid/ blank values for fields in 'Connect to database' page. Following messages should be display for,
  • Invalid 'Database host' : DB connection error: php_network_getaddresses: getaddrinfo failed: No such host is known. (<Invalid name given>). Check the host, username and password below and try again.
  • Blank 'Database host' : MySQL 4.0.14 or later is required, you have.
  • Invalid 'Database name' : Invalid database name "<name given>". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).
  • Blank 'Database name' : You must enter a value for "Database name".
  • Invalid 'Databaseprefix' : Invalid database prefix "!". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).
  • Invalid 'Database username' : DB connection error: Access denied for user '<name given>@'localhost' (using password: NO) (localhost).Check the host, username and password below and try again.
  • Invalid 'Database password' : DB connection error: Access denied for user 'root'@'localhost' (using password: YES) (localhost). Check the host, username and password below and try again.
  • Invalid 'Database username' and 'Database password' : DB connection error: Access denied for user 'root1'@'localhost' (using password: YES) (localhost). Check the host, username and password below and try again.
  • Blank 'Database username' : DB connection error: Access denied for user 'SYSTEM'@'localhost' (using password: NO) (localhost). Check the host, username and password below and try again.
Yes
10 Invalid/ blank values for fields in 'Name' page. Following messages should be display for,
  • All empty fields :

Enter a site name.
Enter an administrator username.
Enter a password for the administrator account.

  • Blank 'Name of wiki' : Enter a site name.
  • Blank 'Other (specify)' : The specified namespace "" is invalid. Specify a different project namespace.
  • Blank 'Your name' : Enter an administrator username.
  • Blank 'Password' : Enter a password for the administrator account.
  • Blank 'Password again' : The two passwords you entered do not match.
  • Different 'Password' and 'Password again': The two passwords you entered do not match
Yes
Other
11 Successful 'Restart installation'. 1. User should be able to restart the installation process at any point.(Language, Welcome to MediaWiki!, Connect to database, Database settings, Name, Options, Install)

2. Clicking on the 'Yes, restart it' button should navigate to the initial installation page(Language).

3. All the saved data should be deleted from the system.

Yes
12 Cancelling 'Restart installation'. 1. User should be able to cancel the restart installation process at any point(Language, Welcome to MediaWiki!, Connect to database, Database settings, Name, Options, Install).

2. Clicking on the 'Back' button should navigate to the previous page.

3. All the saved data should be remain on the page.

Yes
13 Environmental checks. 1. Web server (Apache/ IIS) should be available.

2. PHP 5.3.0 should be installed.

3. External HTTP requests should be disabled.

4. MySQL and SQLite drivers should be available.

5. XML / Latin1-UTF-8 conversion support.

6. PHP's memory limit is 128M.

No
14 User selects 'Read me' link. 1. 'Read me' heading should be available.

2. 'Back' button should be available.

Yes
15 User selects 'Release notes' link. 1. 'Release notes' heading should be available.

2. 'Back' button should be available.

Yes
16 User selects 'Copying' link. 1. 'Copying' heading should be available.

2. 'Back' button should be available.

Yes
17 User selects 'Upgrading' link. 1. 'Upgrading' heading should be available.

2. 'Back' button should be available.

Yes
UI
18 MediaWiki initial page. 1. Following texts should be available.
  • MediaWiki 1.18alpha
  • LocalSettings.php not found.
  • Please set up the wiki first.
  • 'set up the wiki' link
Yes
19 'Language' page. 'Your language:' and 'Wiki languages' drop downs should be available under 'Language' heading. Yes
20 'Welcome to MediaWiki!' page. 1. 'Welcome to MediaWiki!' text should be available.

2. 'The environment has been checked. You can install MediaWiki.' text should available.

Yes
21 'Connect to database' (MySQL) page. 1. 'MYSQL' and 'SQLite' radio buttons should available for 'Database type;'.

2. 'Database host:' text box default to 'localhost' and should be available under ' MySQL settings' section.

3. 'Database name:' text box with default to 'my_wiki' and 'Database table prefix:' text should be available under 'Identify this wiki' section.

4. 'Database username:' text box default to 'root' and 'Database password:' text box should available under 'User account for installation' section.

Yes
22 'Database settings' page. 1. 'Database settings' text should available.

2. 'Use the same account as for installation' check box should available and selected under 'Database account for web access'.

3. 'Database username' label should be available and default value is 'wikiuser'.

4. 'Database password' label available.

5. 'Create the account if it does not already exist' label available and should not selected by default.

6. 'InnoDB' and 'MyISAM' radio buttons should be available for 'Storage engine'

7. 'Binary' and 'UTF-8'radio buttons should be available for 'Database character set'.

Yes
23 'Name' page 1. 'Name of wiki' text box should be available.

2. 'Project namespace'

  • 'Same as the wiki name' radio button
  • 'Project' radio button
  • 'Other(Specify)' radio button

3. 'Administrator account'

  • 'Your Name' text box
  • 'Password' text box
  • 'Password again' text box
  • 'Email address' text box
  • 'Subscribe to the release announcements mailing list' check box
  • 'release announcements mailing list' link

4. 'You are almost done! You can now skip the remaining configuration and install the wiki right now.' message should be available.

5. 'Ask me more questions.' and 'I'm bored already, just install the wiki.' radio buttons.

Yes
24 'Options' page. 1. 'Options' text should be available.

2. Verify following default settings are available. - Return e-mail address: apache@localhost - Logo URL : /wiki/skins/common/images/wiki.png

3. 'Directory for deleted files:' text box should be display after selecting the 'Enable file uploads' check box.

4. Default value of the 'Directory for deleted files:' text box should be 'C:\wamp\www\installer/images/deleted'

Yes
25 'Install' page. Following texts should available,
  • Setting up database... Done
  • Creating database user... Done
  • Creating tables... Done
  • Populating default interwiki table... Done
  • Generating secret key... Done
  • Generating default upgrade key... Done
  • Creating administrator user account... done
  • Creating main page with default content... done
Yes
26 'Complete' page. 1. 'The installer has generated a LocalSettings.php file. ' text should be available.

2. 'Download LocalSettings.php' link should be available.

3. 'enter your wiki.' link should be available.

Yes
27 'Restart Inslation' page. 1. 'Restart installation' text should be available.

2. 'Do you want to clear all saved data that you have entered and restart the installation process?' label should be available.

3. 'Back' and 'Yes, restart it' buttons should available.

Yes
28 Right hand side framework and MediaWiki logo. 1. The MediaWiki logo should available in every page. (MediaWiki initial page, Language, Welcome to MediaWiki!, Connect to database, Upgrade existing installation, Database settings, Name, Options, Install, Complete!, Restart installation, Read me, Release notes, Copying, Upgrading)

2. Right side pane should be consist with the followings.

  • Language
  • Welcome to MediaWiki!
  • Connect to database
  • Upgrade existing installation
  • Database settings
  • Name
  • Options
  • Install
  • Complete!

List with the hyperlinks

  • Restart installation
  • Read me
  • Release notes
  • Copying
  • Upgrading
Yes
29 Help field hint availability for the fields. Help field hint should be available in the followings.

1. Connect to database -> MySQL

Database host

  • If your database server is on different server, enter the host name or IP address here.
  • If you are using shared web hosting, your hosting provider should give you the correct host name in their documentation.
  • If you are installing on a Windows server and using MySQL, using "localhost" may not work for the server name. If it does not, try "127.0.0.1" for the local IP address.


Database name

  • Choose a name that identifies your wiki. It should not contain spaces or hyphens.
  • If you are using shared web hosting, your hosting provider will either give you a specific database name to use or let you create databases via a control panel.


DataBase table prefix

  • If you need to share one database between multiple wikis, or between MediaWiki and another web application, you may choose to add a prefix to all the table names to avoid conflicts. Do not use spaces or hyphens.
  • This field is usually left empty


Database username

  • Enter the username that will be used to connect to the database during the installation process. This is not the username of MediaWiki account; this is the username for your database.


Database password

  • Enter the password that will be used to connect to the database during the installation process. This is not the password for MediaWiki account; this is the password for your database.


2. Connect to database -> SQLite

SQLite data directory

  • SQLite stores all data in a single file.
  • The directory you provide must be writable by the webserver during installation.
  • It should not be accessible via the web, this is why we're not putting it where your PHP files are.
  • The installer will write a .htaccess file along with it, but if that fails someone can gain access to your raw database. That includes raw user data (e-mail addresses, hashed passwords) as well as deleted revisions and other restricted data on the wiki.
  • Consider putting the database somewhere else altogether, for example in /var/lib/mediawiki/yourwiki.


Database name

  • Choose a name that identifies your wiki. Do not use spaces or hyphens. This will be used for the SQLite data file name.


3. Database settings -> Search engine

Storage engine

  • InnoDB is almost always the best option, since it has good concurrency support.
  • MyISAM may be faster in single-user or read-only installations. MyISAM databases tend to get corrupted more often than InnoDB databases


Database character set

  • In binary mode, MediaWiki stores UTF-8 text to the database in binary fields. This is more efficient than MySQL's UTF-8 mode, and allows you to use the full range of Unicode characters.
  • In UTF-8 mode, MySQL will know what character set your data is in, and can present and convert it appropriately, but it will not let you store characters above the Basic Multilingual Plane.


Database account for web access

  • Select the username and password that the web server will use to connect to the database server, during ordinary operation of the wiki.


4. Name

Name of wiki

  • This will appear in the title bar of the browser and in various other places.


Project namespace

  • Following Wikipedia's example, many wikis keep their policy pages separate from their content pages, in a "project namespace". All page titles in this namespace start with a certain prefix, which you can specify here. Traditionally, this prefix is derived from the name of the wiki, but it cannot contain punctuation characters such as "#" or ":".


Your Name

  • Enter your preferred username here, for example "Joe Bloggs". This is the name you will use to log in to the wiki.


Email address

  • Enter an e-mail address here to allow you to receive e-mail from other users on the wiki, reset your password, and be notified of changes to pages on your watchlist.


Subscribe to the release announcements mailing list

  • This is a low-volume mailing list used for release announcements, including important security announcements. You should subscribe to it and update your MediaWiki installation when new versions come out.
Yes
30 'Back' and 'Continue' button availability. 1. Only 'Continue' button should be avaialble for 'Language' page.

2. Only 'Back' button should be available for 'Complete!' page.

3. Welcome to MediaWiki!, Connect to database, Database settings, Name, Options and Install pages should contain both 'Back' and 'Continue' buttons.

Yes
31 Verify 'LocalSettings.php' has generated. 1. 'The installer has generated a LocalSettings.php file. ' text should be available.

2. 'Download LocalSettings.php' link should be available.

3. Download dialog box should be open automatically.

4. Clicking on the 'Download LocalSettings.php' link should allow to open/ save the 'Localsettings.php file.

No
32 Verify MediaWiki has successfully installed. 1. 'LocalSettings.php' and 'selenium_settings.ini' should be available in the base of the wiki installation.

2. User should be able to open MediaWiki.

No