Skip to content

Commit 3d4d664

Browse files
committed
Updates from meeting
1 parent 645ec69 commit 3d4d664

File tree

1 file changed

+40
-6
lines changed

1 file changed

+40
-6
lines changed

tests/README.txt

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,55 @@ This document describes the testing done in the OSIPI TF2.4 IVIM repository
1111
-- Testing philosophy --
1212
Testing is integral to the repository.
1313
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.
1415
There are 3 major types of tests we conduct.
1516
1. Requirements
16-
- Which are required to pass
17+
- Runs on each commit
18+
- Must pass to merge
1719
- 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
1939
2. Expectations
40+
- Run on each merge
2041
- Considered warnings
2142
- 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
2651
- 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
2760

2861
-- Testing structure --
62+
2963
* The testing is controlled in several places.
3064
* The testing itself is done with pytest which parses files for "test_" and runs the appropriate tests.
3165
* The pytest testing can be done on your own machine by running "python -m pytest".

0 commit comments

Comments
 (0)