Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[enhancement] Improve unit tests #357

Open
lesquoyb opened this issue Oct 16, 2024 · 0 comments
Open

[enhancement] Improve unit tests #357

lesquoyb opened this issue Oct 16, 2024 · 0 comments
Labels
About Development This issue concerns the development of GAMA 🤗 Enhancement This is a request for enhancement

Comments

@lesquoyb
Copy link
Contributor

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

@lesquoyb lesquoyb added 🤗 Enhancement This is a request for enhancement About Development This issue concerns the development of GAMA labels Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
About Development This issue concerns the development of GAMA 🤗 Enhancement This is a request for enhancement
Projects
None yet
Development

No branches or pull requests

1 participant