Improve testing, coverage and benchmarking #2628
Replies: 7 comments 1 reply
-
I'd love to move all normalizer tests to their respective normalizer folders, and make them into a form of input->output files where possible so we could use 1 single python runner to run all normalizer tests. This would remove a lot of code, and would make it easier for devs to create new tests. |
Beta Was this translation helpful? Give feedback.
-
Some thoughts I have to improve testing, coverage and benchmarking.Unit testsWe can improve both the coverage of the code and standardize our tooling/methods. My thoughts include:
Integration testsSome setup has been done, but we can improve our integration testing a lot still.
Robot FrameworkI think we should remove the Robot tests from Octopoes, and replace them with pytest if necessary. End-to-end testingSince we have the built containers, we can look into how we want to tests functionality across all services.
QA and StagingSince we have the test server available, let's start using it more often!
BenchmarkingI made a setup for a benchmark tests in Rocky outputting
But we should be careful not making this too noisy and annoying, else we'll just turn it off after a week or two. |
Beta Was this translation helpful? Give feedback.
-
Perhaps we can use https://www.selenium.dev/ for system tests. |
Beta Was this translation helpful? Give feedback.
-
Ideas for unit testingMaking the unit tests more generic and create a template with instructions, so it will be easier for the community to contribute to unit testing. Step 1:
Step 2:
NotesI think it will be hard to make al the unit tests generic, because the logic is different. For the unit tests of the reports this can be a good solution, because they all follow the same flow and contain the same logic. But the other tests contain different logic and I can't think of an easy solution for that. Solution 1Do step 1 and step 2 for all different types of unit tests (i.e. reports, rascals, normalizers, etc.) because they all contain different logic. Solution 2Skip both steps (leave the unit tests as they are) and create documentation for each type of unit test, explaining how unit tests should be written. |
Beta Was this translation helpful? Give feedback.
-
Improve Rocky tests:
|
Beta Was this translation helpful? Give feedback.
-
What about using SonarCloud? |
Beta Was this translation helpful? Give feedback.
-
Triggered when reviewing javascript code in #2624: Test our javascript code #2663 |
Beta Was this translation helpful? Give feedback.
-
User Story
This a meta ticket meant as a discussion tracker with the aim to improve testing, coverage and benchmarking of KAT.
The scope of this ticket ought to be refined, but let us have a start here with some ideas.
Acceptance Criteria:
Beta Was this translation helpful? Give feedback.
All reactions