ERP 2.50:QA test plan 2.50/Modularity
Introduction
This document describes the QA test plan for 1st, 2nd, and 3rd iterations of Modularity project. This plan includes test of module development, module installation and new process of Initial Client Setup and Initial Organization Setup.
Test cases
Module Development
Introduction
This test cases covers the development of five modules with some dependencies among them.
Preconditions
For executing this test cases an standard 2.50 version of Openbravo ERP is required. A basic development environment will be used: A SQL Client (to execute queries) and a HTML/XML editor (a plain text editor is good enough).
1. Create "Rooms" module
The scenario is to create a basic Room Reservation system as an Openbravo ERP module.
TC01-01 - Register module
Summary: Using the Module Manager, register a new module "ROOMS".
Steps:
- Login Openbravo as System Administrator user
- TBD: Access permissions to register modules are not defined yet
- Go to Modules and create a new module called "Room scheduling system"
- Database prefix: ROOMS
- Java prefix: rooms
Issues to verify: Module is saved as "In Development". Since ROOMS (DB) and rooms (Java) are available, there is no warning message about using them.
TC01-02 - Create Tables
Summary: Creation of module database tables
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
- this Oracle script or
- this PostgreSQL script. (Remember to replace tad with your DB username)
TC01-03 - Create References
Summary: Creation of module references
Steps:
- Login Openbravo ERP as System Administrator
- Go Application Dictionary>Reference
- Create 4 new references, all with "List Validation" validation type:
- Room Type
- Scheduling Frequency
- Department
- Type Attender
- For each reference, enter two List Reference:
- Room Type
- MR, Meeting room
- CR, Conference room
- Scheduling Frequency
- DA, Daily
- WE, Weekly
- Department
- EN, Engineering
- SA, Sales
- Type Attender
- EM, Employee
- BP, Business Partner
- Room Type
TC01-04 - Add tables to Dictionary
Summary: Add the 3 tables to Application Dictionary
Steps:
- Add the 3 tables (ROOMS_Room, ROOMS_Roomschedule and ROOMS_Roomattend) to Application
- Access level Client/Organization
- For each table, create the columns with the "Create columns from DB" button
- Verify that all the columns were imported successfully
- Important: Every table needs one column marked as Identifier. If no column is Identifier, compile process will fail.
- On ROOMS_Room, mark Name as Identifier and Mandatory
- On ROOMS_Roomschedule, mark ROOMS_Room_ID and Topic as Identifier and Topic also as Mandatory
- On ROOMS_Roomattend, mark ROOMS_Roomschedule_ID and Meetingrole as Identifier and Meetingrole also as Mandatory. For C_Bpartner_Id select value for the "Reference Search Key" Business Partner
- Change reference to List, and select the proper reference for:
- ROOMS_Room.Roomtype
- ROOMS_Roomschedule.Frequency
- ROOMS_Roomattend.Department
- ROOMS_Roomattend.Typeattender
- Change reference Starttime and Endtime in ROOMS_Roomschedule from Date to Time
- Change reference ReservationDate to Date
TC01-05 - Add window and tabs
Summary: Create the window and the tabs
Steps:
- Create a window "Rooms"
- For the window, create 3 tabs:
- Room (Table:ROOMS_Room, Tablevel:0)
- Room Schedule (Table:ROOMS_Roomschedule, Tablevel:1)
- Room Attend (Table:ROOMS_Roomattend, Tablevel:2)
- For each tab:
- Run the "Create Fields" process
- Go to Field Sequence and move up AD_Client_ID and AD_Org_ID and remove Ad_User_Id field
- Go to Field and mark:
- For Room Schedule: AD_Client_ID, AD_Org_ID and ROOMS_Room_ID as Read only
- For Room Attend: AD_Client_ID, AD_Org_ID and ROOMS_Roomschedule_ID as Read only
- Run the Synchronize Terminology process
- Add the menu entry (General Setup>Application>Menu) for Rooms
TC01-06 - Compile
Summary: Compile to verify everything is created
Steps:
- Launch a compilation (ant compile -Dtab=Room or ant compile.development -Dtab=Room depending of your installation. If not sure, use the first one)
- After compilation, go Room menu as a Client Admin and enter some data into the three tabs.
- You may have compilation errors. If errors are like this:
[java] 507 [main] ERROR org.openbravo.data.Sqlc - SQL error in query: [java] SELECT ROOMS_Roomattend.AD_Client_ID, [java] (CASE WHEN ROOMS_Roomattend.AD_Client_ID IS NULL THEN ' ' ELSE (COALESCE(TO_CHAR(table1.Name),' ') ) END) AS AD_Client_IDR, [java] ROOMS_Roomattend.AD_Org_ID, [java] (CASE WHEN ROOMS_Roomattend.AD_Org_ID IS NULL THEN ' ' ELSE (COALESCE(TO_CHAR(table2.Name),' ') ) END) AS AD_Org_IDR, [java] ROOMS_Roomattend.Typeattender, [java] (CASE WHEN ROOMS_Roomattend.Typeattender IS NULL THEN ' ' ELSE ( COALESCE(TO_CHAR(list1.name), ' ') ) END) AS TypeattenderR, [java] ROOMS_Roomattend.Department, [java] (CASE WHEN ROOMS_Roomattend.Department IS NULL THEN ' ' ELSE ( COALESCE(TO_CHAR(list2.name), ' ') ) END) AS DepartmentR, [java] ROOMS_Roomattend.C_Bpartner_ID, [java] (CASE WHEN ROOMS_Roomattend.C_Bpartner_ID IS NULL THEN ' ' ELSE (COALESCE(TO_CHAR(table3.Name),' ') ) END) AS C_Bpartner_IDR, [java] ROOMS_Roomattend.Meetingrole, [java] ROOMS_Roomattend.ROOMS_Roomschedule_ID, [java] (CASE WHEN ROOMS_Roomattend.ROOMS_Roomschedule_ID IS NULL THEN ' ' ELSE () END) AS ROOMS_Roomschedule_IDR,
the problem is that you do not marked one column as Identifier for ROOMS_Roomattend table.
2. Create "Required material" module
Introduction
This module is an extension to Rooms module. It will add the ability to reserve material for a meeting (like a projector, a conference-able phone, etc.). This module main extensions are:
- Create a new table RMAT_MATERIAL: A list of materials to be used in a meeting
- Create a new table RMAT_MATERIAL_REQUIRED with a foreign key to ROOMS_ROOMSCHEDULE and RMAT_MATERIAL. This table will contain the material that has been reserved for a meeting
- Add new columns to ROOMS_ROOMSCHEDULE table:
- Isrequired: If material is required for the meeting, this flag must be checked
- Addmaterial: A button that allows to copy material from RMAT_MATERIAL table. It is a process (Stored procedure) with a parameter (Type material). Depending in this parameter different materials will be copied.
- Messages for the stored procedure: Number of copied records or no records copied
Preconditions
This module depends of Rooms so on the system must exist a module Rooms just like described above.
TC02-01 - Register module
Summary: Using the Module Manager, register a new module "Required Material".
Steps:
- Login as Openbravo with role System Administrator
- TBD: Access permissions to register modules are not defined yet
- Go to Modules and create a new module called "Room's material"
- Database prefix: RMAT_
- Java prefix: RMAT_
Issues to verify: Module is saved as "In Development". Since RMAT_ (DB) and RMAT_(Java) are available, there is no warning message about using them.
TC02-02 - Create Tables
Summary: Creation of database tables
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
- this Oracle script or
- this PostgreSQL script. (Remember to replace tad with your DB username)
TC02-03 - Create Stored procedure
Summary: Creation of stored procedure
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
TC02-04 - Create Reference List
Summary: Create a reference list for table RMAT_MATERIAL
Steps:
- Login as Openbravo with System Administrator role
- Go Application Dictionary>Reference
- Create a new reference, named "Material List"
- Validation type: "List Validation"
- Move to List values tab and click and save for the following values
- Type room materials
- Search key "H", Name "Hardware"
- Search key "S", Name "Software"
- Search key "F", Name "Food"
- Search key "T", Name "Training"
- Type room materials
- Assign the reference to the corresponding column (Typematerial) on table RMAT_MATERIAL
TC02-05 - Create Reference Table
Summary: Create a reference Table RMAT_MATERIALREQUIRED
Steps
- Login as Openbravo with System Administrator role
- Go Application Dictionary>Reference
- Create a new reference, with "Table Validation" validation type. Name: List Material. Save
- Move to table reference tab:
- Select the Table RMAT_MATERIAL
- Key column: RMAT_MATERIAL_ID
- Displayed column: Name
- Save
TC02-06 - Add Procedure to Application Dictionary
Summary: Add Procedure to Application Dictionary
Steps
- Login as Openbravo with System Administrator role
- Go Application Dictionary > Report and Process
- Create a new process:
- Search key: RMAT_AddMaterial
- Name: RMAT_AddMaterial
- Data Access: Client+Organization
- Procedure: RMAT_ADD_MATERIAL
- Do not mark any checkbox
- Move to Parameter tab and fill:
- Name: Material Type
- DB Column Name: MaterialType
- Reference: List
- Reference Search Key: Material List
- Length: 1
TC02-07 - Add a message
Summary: Add new message to Application Dictionary
Steps
- Login as Openbravo with System Administrator role
- Go Application Dictionary > Message
- Create a new message
- Search key: CopiedMaterial
- Type: Success
- Text: "Copied materials:"
3. Create "Extended Material-1" module
Introduction
This module is an extension to Room Materials module. It will add some new functionality:
- Modify ROOMS_ROOMSCHEDULE table: Add a field group for better window layout
- Modify RMAT_MATERIAL table: Add a column Isavailable to mark if the material is available or not
- Modify RMAT_MATERIAL tab: Add a validation "Available materials" to the combo Materials to only include available materials
Preconditions
This module depends of Rooms and Required Materials modules so on the system the modules must exist.
TC03-01 - Register module
Summary: Using the Module Manager, register a new module "Extended Material".
Steps:
- Login as Openbravo with role System Administrator
- TBD: Access permissions to register modules are not defined yet
- Go to Modules and create a new module called "Room's material"
- Database prefix: EXMAT1_
- Java prefix: EXMAT1_
Issues to verify: Module is saved as "In Development". Since EXMAT1_ (DB) and EXMAT1_ (Java) are available, there is no warning message about using them.
TC03-02 - Alter Tables
Summary: Modify database tables
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
- TBC
4. Create "Extended Material-2" module
Introduction
This module is an extension to Rooms and Room Materials module. It will add some new functionality:
- Modify ROOMS_ROOMSCHEDULE table: Add a column "Insert all" that, if marked, will indicate that all the records of RMAT_MATERIAL table will be inserted on RMAT_MATERIAL_REQUIRED table
- Modify ROOMS_ROOMSCHEDULE table: Add a trigger that will insert the material list at RMAT_MATERIAL on RMAT_MATERIAL_REQUIRED table when column "Insert all" is marked
Preconditions
This module depends of Rooms, Required Materials and Extended Material modules so on the system the modules must exist.
5. Create "Room Overview" module
Introduction
This module is an extension to Rooms. It will show the information contained on the Rooms module in a more user friendly way:
- Add a view joining ROOMS_ROOM, ROOMS_ROOMSCHEDULE and ROOMS_ROOMATTEND
Preconditions
This module depends of Rooms so on the system the modules must exist.
TC05-01 - Create View
Summary: Creation of stored view
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
- Script for view:
CREATE OR REPLACE VIEW RVIEW_ROOMS (ROOMS_ROOM_ID, ROOMNAME, TOPIC, RESERVATIONDATE, STARTTIME, ENDTIME, USERNAME) AS SELECT r.ROOMS_ROOM_ID, r.NAME AS ROOMNAME, rs.topic, rs.RESERVATIONDATE, rs.STARTTIME, rs.ENDTIME, us.name as username FROM ROOMS_ROOM r, ROOMS_ROOMSCHEDULE rs, ROOMS_ROOMATTEND ra, AD_USER us WHERE r.ROOMS_ROOM_ID = rs.ROOMS_ROOM_ID AND rs.ROOMS_ROOMSCHEDULE_ID = ra.ROOMS_ROOMSCHEDULE_ID AND rs.AD_USER_ID = us.AD_USER_ID ORDER BY rs.RESERVATIONDATE
TC05-02 - Register module
Summary: Using the Module Manager, register a new module "Extended Material".
Steps:
- Login as Openbravo with role System Administrator
- TBD: Access permissions to register modules are not defined yet
- Go to Modules and create a new module called "Room's material"
- Database prefix: RVIEW_
- Java prefix: RVIEW_
Issues to verify: Module is saved as "In Development". Since RVIEW_ (DB) and RVIEW_ (Java) are available, there is no warning message about using them.
TC05-03 - Register the view in AD
Summary: Register the view in the Application dictionary
Steps:
- Login as Openbravo with System Administrator role
- Go to Application dictionary->Table and columns
- TBD
TC06 Create "Report Payment New" module
Introduction
This module adds a new report in the application. The report is based on a existing one, Payment report, but with more features.
Preconditions
Put the files in the corresponding java path (folders path)
TC06-01 - Register module
Summary: Using the Module Manager, register a new module "New Payment report".
Steps:
- Login as Openbravo with System Administrator role
- TBD: Access permissions to register modules are not defined yet
- Go to Modules and create a new module called "New Payment report"
- Database prefix: PAYREPNEW
- Java prefix: PAYREPNEW
Issues to verify: Module is saved as "In Development". Since PAYREPNEW (DB) and PAYREPNEW (Java) are available, there is no warning message about using them.
TC06-02 - Create functions
Summary: Create the required functions for the reports
Steps:
- From a SQL client connected to Openbravo ERP database, execute:
- this Oracle script or
- this PostgreSQL script. (Remember to replace tad with your DB username)
TC06-03 - Create Report
Summary: Add an entry in the application dictionary for the report
Steps:
- Login as Openbravo with System Administrator role
- Go to Application dictionary->Report and Process->Report&Process
- Click New and fill the mandatory fields:
- Data Access Level: Client/Organization
- Mark the flag report
- Select the corresponding module
- Save
- Move to Process class tab and click New. Fill the mandatory fields.Save
- Move to Process mapping and click New. Fill the mandatory fields.Save
Summary: Add an entry in the menu for the report
Steps:
- Login as Openbravo with System Administrator role
- Go to General setup->Application->Menu. Click new
- Fill the mandatory fields
- Select Action: Report and select the corresponding report
- Save
Module Installation
Introduction
Once developed and uploaded, modules should be available for download.
Preconditions
- The Central Repository is up and running.
- There are some modules available for download.
1. Install a module from Central Repository
Summary: Use Module Manager to access Central Repository and install a new module.
Preconditions:
- Hello World Process module is available for installation from Central Repository.
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Go to Add Modules tab.
- Click Search button.
- Install the module:
- Click Install now on Hello world Process module.
- Click Continue.
- Read and accept the license. Click Continue.
- Check the message.
- Title: Process completed successfully
- Message: Module successfully installed Hello world Process - 2.66.3366
- Go to installed modules
- Verify that the newly installed module is listed and that rebuild now links are shown.
- Click rebuild now.
- Click OK.
- Click Cancel.
- Go to Tomcat manager - http://localhost:8180/manager/html/
- Undeploy Openbravo war.
- Browse for the updated war file (located in openbravo's lib folder) and deploy it.
Issues to verify:
- Verify that the files were copied to the right path inside modules directory.
- Go to Installed Modules tab.
- Verify that the newly installed module appears in the installed modules tree.
- Click Module menu item.
- Select the newly installed module and verify:
- Active: checked.
- Name: Hello world Process
- Java Package: org.openbravo.examples.helloworldprocess
- Type: Module
- Go to DBPrefix tab and verify:
- Name: HWP
- Click Hello world Process window menu item.
- Create a new record. Fill all the information.
- Process.
- Click "Button".
- Fill a new name and click ok.
- Verify that the name was changed.
2. Install a module from file system
Summary: Use Module Manager to browse for a Openbravo module file and install it.
Preconditions:
- Download Hello World 1.0.0 module from (???).
Steps:
- Login as Openbravo with System Administrator role. .
- Go to Module Management.
- Go to Add Modules tab.
- Install the Hello World module from .obx file:
- Click Browse File System button.
- Click Browse and located the .obx file.
- Click Continue.
- Read and accept the license. Click Continue.
- Check the message.
- Title: Process completed successfully
- Message: Module successfully installed Hello world - 1.0.0
- Go to installed modules
- Verify that the newly installed module is listed and that rebuild now links are shown.
- Click rebuild now.
- Click OK.
- Click Cancel.
- Go to Tomcat manager - http://localhost:8180/manager/html/
- Undeploy Openbravo war.
- Browse for the updated war file (located in openbravo's lib folder) and deploy it.
Issues to verify:
- Verify that the files were copied to the right path inside modules directory.
- Go to Installed Modules tab.
- Verify that the newly installed module appears in the installed modules tree.
- Click Module menu item
- Select the newly installed module and verify:
- Active: checked.
- Name: Hello World!
- Java Package: org.openbravo.examples.helloworld
- Type: Module
- Go to DBPrefix tab and verify:
- Name: HW
3. Install a module with dependencies
Summary: Use Module Manager to access Central Repository and install a new module with dependencies.
Preconditions:
- Dependencies Main and Dependent Window modules are available for installation from Central Repository.
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Go to Add Modules tab.
- Click Search button.
- Install the module:
- Click Install now on Dependent Window module.
- Verify that Dependencies Main module is listed on Required additional installations.
- Click Continue.
- Read and accept the license. Click Continue.
- Check the message.
- Title: Process completed successfully
- Message: (???)
- Click Install now on Dependent Window module.
- Go to installed modules
- Verify that the two newly installed modules are listed and that rebuild now links are shown next to them.
- Click rebuild now.
- Click OK.
- Click Cancel.
- Go to Tomcat manager - http://localhost:8180/manager/html/
- Undeploy Openbravo war.
- Browse for the updated war file (located in openbravo's lib folder) and deploy it.
Issues to verify:
- Verify that the files were copied to the right path inside modules directory.
- Go to Installed Modules tab.
- Verify that the newly installed modules appear in the installed modules tree.
- Click Module menu item.
- Select Dependent Window module and verify:
- Active: checked.
- Name: Dependent Window
- Java Package: org.openbravo.examples.hwdepdependant
- Type: Module
- Go to DBPrefix tab and verify:
- Name: HWDEP2
- Select Dependencies Main module and verify:
- Active: checked.
- Name: Dependencies Main
- Java Package: org.openbravo.examples.hwdepmain
- Type: Module
- Go to DBPrefix tab and verify:
- Name: HWDEP
- Click DependencyMain menu item.
- Create a new record. Fill all the information.
- Click Dependency 2 menu item.
- Create a new record. Fill all the information, and select previously created record.
4. Install a module in another language
5. Install a pack
6. Install an industry template
Module Update
Introduction
If there's available a new version of a module, it can be updated.
Preconditions
- A module was installed.
- There's a new version of the module available from Central Repository.
1. Update a module from Central Repository
Summary: Use Module Manager to access Central Repository and update a module that was previously installed.
Preconditions:
- The version 1.0.0 of Hello world module is installed.
- The version 1.0.1 of Hello World module is available for installation from Central Repository.
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Click Scan for updates.
- Click Install updates now.
- Click Continue.
- Accept the licence agreement and click continue.
- Click rebuild now.
- Click OK.
- Click Cancel.
- Go to Tomcat manager - http://localhost:8180/manager/html/
- Undeploy Openbravo war.
- Browse for the updated war file (located in openbravo's lib folder) and deploy it.
Issues to verify:
- Go to Installed Modules tab.
- Verify that the version of hello world is 1.0.1.
- Click Module menu item.
- Select Hello World module and verify:
- Version: 1.0.1
- Go to Hello World || Hello World window.
- Create a new record. Fill all the information and save.
Uninstall module
Introduction
Once installed, modules can be uninstalled.
Preconditions
- A module was installed
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Go to Add Modules tab.
- Mark the checkbox of Hello World! module.
- Click uninstall selected.
- Verify the message:
- Title: Process completed successfully
- Message: Module correctly uninstalled. Hello World!
- Click rebuild now.
- Click OK.
- Click Cancel.
- Go to Tomcat manager - http://localhost:8180/manager/html/
- Undeploy Openbravo war.
- Browse for the updated war file (located in openbravo's lib folder) and deploy it.
Issues to verify:
- Verify that the files were deleted from the modules directory.
- Go to Installed Modules tab.
- Verify that the Hello World module is no longer listed in the installed modules tree.
- Click Module menu item.
- Verify that Hello World record doesn't exist.
- Verify that Hello world menu item doesn't exist.
Installation History
Introduction
Every action performed in Module Manager is logged in Installation History.
1. Scan for updates
Summary: Use Module Manager to check if there are updated in the Central Repository, and verify that the action was logged.
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Click Scan for updates.
Issues to verify:
- Go to Installation History
- Verify that there are two new rows:
- 11-11-2008 22:20:34 | Scan for updated | | Openbravo | Total: found 0 updates
- 11-11-2008 22:20:33 | Scan for updated | | Openbravo | Scanning For Updates
Note: The time will depend on the momment you performed the action, and the number of updates will depend on the new versions availabe from Central Repository. |
2. Install a module
Summary: Use Module Manager to install a module, and verify that the action was logged.
Steps:
- Login as Openbravo with System Administrator role.
- Go to Module Management.
- Go to Add Modules tab.
- Click Search button.
- Install the module:
- Click Install now on Hello world module.
- Click Continue.
- Read and accept the license. Click Continue.
- Check the message.
- Title: Process completed successfully
- Message: Module successfully installed Hello World! - 1.0.1
Issues to verify:
- Go to Installation History
- Verify that there is a new row:
- 11-11-2008 22:40:48 | Install module | Openbravo | Hello World! | Installed module Hello World! - 1.0.1
Note: The time will depend on the momment you performed the action, and the number of updates will depend on the new versions availabe from Central Repository. |
New Initial Client/Org Setup process
Test the two new processes.