register in/ou RPC messages + SQL statements and be able to replay it from dump
for integrators/end users a real challenge is to see if you can safely upgrade your OpenERP to the next version/head revisions.
To test that, we could make an option/module in OpenERP that would:
- create a dump save point
- then register all client RPC requests and their responses as well as all SQL commands executed.
Then it would be able to replay all the requests from the dump and see if RPC answers and SQL differ. The goal is to be able to replay a production sequence after we upgrade all the code to a newer version to see if there are regressions.
The real challenges are:
- unless we reset the dates params of the server, dates will differ. Can we efficiently ignore date differences? Or is it better to change server dates during the test? But even minutes and seconds will change because test requests will be done at the same time...
- obviously some change will occur. Some of them will be benign. This methodology would only be effective if we could easily discard some class of changes in the subsequent investigation, otherwise regressions will be inseparable from noise.
- a lot of data will be stored. It could also possibly slowdown the server significantly while data collection is enabled, make sure this is acceptable.
- while replaying tests, we will need to ensure interface with the external worlds has appropriate mockups. For instance disable sending mails to partners etc...
Thoughts?
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by