With the tests, we want to verify :
- the completion of the task objectives
- the absence of bugs and undesired side effects
How to test ?
Test Environments
To ensure the two previous expectations, apply your tests to different contexts :
- In a database with several modules (community/enterprise),
- In a database without any other module than yours.
- With or without demo data.
- With different access rights (if applicable).
db_all
The db_all is a database with all modules installed. It allows to monitor side effects.
The focus is on:
- Access rights with demo user and admin.
- Integration with other modules.
- Demo data.
db_base
The db_base is a database with only the module base (res_* models, ...) installed.
It allows to check if your module is working correctly in a standalone configuration with demo data.
Empty db
The most important test. Test in a database without demo data and without module.
It allows to check if:
- it is easy to find the feature or to install it.
- the user knows what to do next.
- data is sufficient (some demo data can be converted into data if it is relevant in a business
context (e.g. stages, mail templates, …)).
- the flows can be completed without an error.
- everything is smooth, easy to use and limited in terms of config.
Additional care
- Always test with regular users as the admin doesn't have the same behavior and/or rights as the
users.
- Also, take care of this:
- multi company/currency
- timezones
- customer portal
- linked modules, ...