GSoC 2021: Ideas for Automated Testing

Automated testing improves the quality of Blender by quickly detecting if new features break existing ones, and therefore catch bugs way before users do.


I) Regression testing:

  • Object/Bone constraint
    • A similar framework to MeshTest can be written to automate constrains for different types of objects
  • Shape keys
    • Extending exisiting frameworks is possible to support Shape Keys
  • Compositor:
    • support video/animation nodes
  • Operators requiring user input
    • Simulating user input in unit tests will make it possible to cover much more operators than currently possible.

For an example project see last year’s project.

II) Functional testing:

  • Compositor:
    • Node correctness testing, (e.g. blur node makes image less sharp, bright/contrast node makes image brighter regardless of exact absolute values etc…)

Any suggestion for other areas is welcome, especially new parts of Blender or where large changes are planned soon.

Requirements: Python


I had a second look at modifiers, I think it would be good to add these:

  • Modify modifiers can be added to the list.
  • Modifiers for Volume object, currently there are only 2 - Mesh to Volume and Volume Displace.
  • And Grease Pencil as well (new modifiers have been added now)

Due to the recent changes in the GSoC, maybe it would be a better idea to select any 2 or 3 of these and cover it in depth.