You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your request related to a problem? Please describe.
There are some parts of the gama's source code that are "bug hotspots" and it happens pretty often that fixing a bug in those areas would result in the introduction of one or multiple other bugs.
I'm thinking in particular about the serialization plugin that is basically never completely working, probably due to 1) its complexity and 2) its wide variety of use inside gama. This is obviously not the only one but I think it's a good example to illustrate my point.
For the moment we have unit tests that focus mainly on operators in the gaml language, and it's already a good thing, but for those hotspots I think it's a bit limited. For example, how to check that the serialization of one step of the experiment is still working ? For the moment the only way to do it is to manually run a model that records experiments, run on step, then run one step back, and visually assess that we really went back one step.
For now we have a process to check all models in the model library (following this very famous check list) as a proxy to check the functionalities, but this is very time consuming and for every fix provided we should retest a bunch of models to verify there's no regression caused by the fix in other places.
Describe the improvement you'd like
Introduce some kind of non-regression tests based on the software functionalities/modules and not just on the operators/statements.
Maybe we could introduce JUnit tests ? @RoiArthurB do you know some other we of testing that we could use and integrate in our verification process on each commit ?
Describe alternatives you've considered
Maybe we could do a big part of that using the current unit tests inside gama, but that would make the tests pretty long/complicated and we may need to extend it
The text was updated successfully, but these errors were encountered:
Is your request related to a problem? Please describe.
There are some parts of the gama's source code that are "bug hotspots" and it happens pretty often that fixing a bug in those areas would result in the introduction of one or multiple other bugs.
I'm thinking in particular about the serialization plugin that is basically never completely working, probably due to 1) its complexity and 2) its wide variety of use inside gama. This is obviously not the only one but I think it's a good example to illustrate my point.
For the moment we have unit tests that focus mainly on operators in the gaml language, and it's already a good thing, but for those hotspots I think it's a bit limited. For example, how to check that the serialization of one step of the experiment is still working ? For the moment the only way to do it is to manually run a model that records experiments, run on step, then run one step back, and visually assess that we really went back one step.
For now we have a process to check all models in the model library (following this very famous check list) as a proxy to check the functionalities, but this is very time consuming and for every fix provided we should retest a bunch of models to verify there's no regression caused by the fix in other places.
Describe the improvement you'd like
Introduce some kind of non-regression tests based on the software functionalities/modules and not just on the operators/statements.
Maybe we could introduce JUnit tests ? @RoiArthurB do you know some other we of testing that we could use and integrate in our verification process on each commit ?
Describe alternatives you've considered
Maybe we could do a big part of that using the current unit tests inside gama, but that would make the tests pretty long/complicated and we may need to extend it
The text was updated successfully, but these errors were encountered: