Minor release test protocol
This protocol lists the tests that should be performed before a minor release (eg. a release that changes the second version number). Patch releases (that changes the third number) doesn't have to go through the tests.
The tests should make sure that a basic installation/upgrade is working on MySQL and on PostgreSQL. This part is done with an automated test program. A second part is a manual test of web interface that includes most of the major features of BASE. These tests should be done about a week before the scheduled release to make sure that there is enough time to fix any problems. During the last week it is of course not allowed to make any changes in the code that will fundamentally change the results of the test. For example, do not change the database.
In the table below the following notation is used:
- 3.N = the BASE version that is to be released
- 3.P = the last patch release of the previous version
- initdb/updatedb = run the installation/upgrade script
- TestAll = run the TestAll test program
- test roles = run the roles test program as described in latest/test/roles/index.html. This test program can also use batch importers instead of the hard-coded item creation. Use this mode with either MySQL or PostgreSQL and the normal mode with the other. Run in batch-import mode with ./test.sh roles -b all
- MySQL ► PostgreSQL migration can be tested with the MySQL database from 1c. A new database is needed on the PostgreSQL side. Migration is not possible in the PostgreSQL ► MySQL direction.
|1. Basic installation of 3.N|
|c) test roles|
|2. Upgrade a fresh 3.P installation|
|a) initdb (on 3.P)|
|b) updatedb (on 3.N)|
|c) TestAll (on 3.N)|
|3. Upgrade a 3.P installation with data|
|a) initdb (on 3.P)|
|b) test roles (on 3.P)|
|c) updatedb (on 3.N)|
|4. Migration MySQL ► PostgreSQL on 3.N|
|a) migrate export||N/A|
|b) migrate import||N/A|
Manual testing of different user roles using the web interface. Follow the instructions in the latest/test/roles/index.html document.
|a) root user|
|c) power user|
|d) user - item creation|
|e) user - analysis|
|e) guest - analysis|