What sort of a testing strategy would you recommend when building Modules?
Terratest is one option, and indeed a popular option. However, I think it is a bit dated these days. You can achieve the same functionality, but with better feature parity for Terraform using HashiCorps terraform-exec library:
https://github.com/hashicorp/terraform-exec. There is a chapter in my book that discusses how to use this to test a module. Automating this process just necessitates using a GitHub action or equivalent CI triggered workflow.
But we don't always have modules that make sense to write tests for. Sometimes it hard to even answer the question of what it is that you are testing. If you just want to validate that resources are created that should be created, well Terraform providers already do that for you. Integration and e2e testing is perhaps more valuable for Terraform modules.
A lot of times its sufficient to have CI triggers for validating and formatting Terraform configuration on PR, and maybe doing a test apply and destroy, since 99% of the time any bugs will show up during an apply/destroy anyhow. If this isn't satisfactory, then you could apply/destroy various test modules with combinations of input variables for popular use cases.