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
Copy file name to clipboardExpand all lines: tests/README.txt
+40-6Lines changed: 40 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -11,21 +11,55 @@ This document describes the testing done in the OSIPI TF2.4 IVIM repository
11
11
-- Testing philosophy --
12
12
Testing is integral to the repository.
13
13
There are many different contributions from many different people and only through diligent testing can they all be ensured to work correctly together.
14
+
Automated testing happens on different platforms and versions.
14
15
There are 3 major types of tests we conduct.
15
16
1. Requirements
16
-
- Which are required to pass
17
+
- Runs on each commit
18
+
- Must pass to merge
17
19
- All algorithms have the same requirements
18
-
- E.g. bounds honored, code runs reasonably
20
+
- E.g. bounds honored, code runs reasonably, properly integrated
21
+
- Would prevent a merge if not passing
22
+
- Flexibile input/output
23
+
- Categories for testing
24
+
-- Contributions - Some aspects currently tested as unit_test
25
+
--- Initial bounds are respected
26
+
---- Needs implemening
27
+
--- Initial guess is respected
28
+
---- Needs implemening - may no be possible
29
+
--- Runs reasonably
30
+
---- Needs implemening: reduced data size, broadened limits
31
+
--- Contains information about algorithm
32
+
-- Wrapper
33
+
--- Initial guess is in bounds
34
+
--- Reasonable default bounds - f: [0 1], D >= 0 & D < D*, D* >= 0
35
+
--- Input size is respected - result is same size as input
36
+
--- Dictionary is returned - worth explicit testing?
37
+
-- Phantom - lower priority
38
+
--- Data can be pulled
19
39
2. Expectations
40
+
- Run on each merge
20
41
- Considered warnings
21
42
- Should not necessarily prevent a merge
22
-
- Should cover performance changes
23
-
- E.g. performance changes
24
-
3. Performance
25
-
- The accuracy of the results
43
+
- Categories for testing
44
+
-- Determine performance changes from reference run
45
+
--- Currently implemented but could be made easier to interact with
46
+
--- Could be made easier and faster
47
+
3. Characterization
48
+
- Run on demand
49
+
- Performance of the algorithms
50
+
- The accuracy and precision of the results
26
51
- The speed of the generated results
52
+
- Human readable report of the wrapped algorithms
53
+
- Categories for testing
54
+
-- Simulations
55
+
--- Voxels from tissue and characterize algorithms
56
+
--- Visualize parameter maps
57
+
-- True data
58
+
--- Visualize parameter maps
59
+
--- Correlations between algorithms - plot the results and differences
27
60
28
61
-- Testing structure --
62
+
29
63
* The testing is controlled in several places.
30
64
* The testing itself is done with pytest which parses files for "test_" and runs the appropriate tests.
31
65
* The pytest testing can be done on your own machine by running "python -m pytest".
0 commit comments