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
@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.
The text was updated successfully, but these errors were encountered:
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.
@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.
The text was updated successfully, but these errors were encountered: