Skip to content

Update CONTRIBUTING.md guidelines to promote leaner+meaner unit and functional testing #1151

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

Closed
aseth1 opened this issue Aug 1, 2016 · 1 comment

Comments

@aseth1
Copy link
Member

aseth1 commented Aug 1, 2016

@tkuchida raises good points in #1146 about reducing testing dependencies on model and setup files and to separate the purposes of test cases. We should exploit "automatic" functional testing (e.g. serialization) on all Objects whenever possible and then have user contributed unit tests focus on correctness and performance.

Furthermore, our integration and regression tests should be concise to verify that that the components have come together correctly and that the answers have not changed. They should not be used to determine the correctness of a Component (or algorithm).

Our existing Tools, which integrate so many functions: serialization, dependency finding, initialization, algorithm execution and I/O are obviously not good examples of modularity and testing them dominates the current CI because they are overweight regression tests. We have no choice but to continue to refine these, but eventually Tools should be deprecated to give way to unit tested Components who get integrated to provide the functionality that Tools used to accomplish.

@jenhicks jenhicks added this to the Next Release milestone Aug 1, 2016
@aymanhab
Copy link
Member

aymanhab commented Aug 9, 2016

I really like the idea of generating models programmatically when possible to separate the deserialization issues. That works perfectly for very simple/trivial models that are used once for unit-testing but could be a major maintenance problem for any reasonable sized model, as used by all tools/studies, especially if we want a model that is reusable in multiple test cases. We can create a factory that builds these so the code is in one place but keep in mind that's a significant development work.

@jenhicks jenhicks closed this as not planned Won't fix, can't repro, duplicate, stale Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants