Test Plan


Given that most of our project relies on the model we create which produces results based on the image provided it is difficult to test for accuracy. Most of the test plan will be to check whether or not certain steps are reached without issue and if results are acceptable. 

What would you do if you had all the time that you really needed?:

Given more time we would probably unit test for each step of the modeling process like whether our individual k-means clusters are accurate and the image is of the correct body part i.e. the brain. Additionally we would test the model with images that have unidentified areas that it is not familiar with and test that the model handles different image resolutions and dimensions. Additional error handling for corrupt data could also be done.

What we are actually going to test:

  • unit testing
    • File type validation – only DICOM can be uploaded 
    • Correct response codes between backend and frontend(unless we use streamlit)
    • All steps i.e. preprocessing, feature extraction, modeling and analysis are reached.
    • Labels and images are being produced on the frontend
  • integration and system testing (with UI)
    •  A user should be able to upload a DICOM image and click a button to have that image sent to the backend.
    • The image should be processed and run through the model.
    • The model’s results should be analyzed and segmented and displayed labeled on the frontend
  • descriptions of tools used
    • Pytest for individual tests like checking if steps are reached
    • HTTP responses
    • Manual testing for accuracy of results
  • descriptions of types of end users
    • Hospital staff who need to process CT scans
    • Researchers who would like to segment a CT scan
    • Students who would like to study CT scans
  • performance, reliability, etc. testing
    • The model can process an image that is similar in format but not identical to data used in training
  • acceptance testing
    • Reasonable segmented results are produced without many unrealistic areas
    • Results are not far off from a hand segmented image