Our district has a policy that any student that scores under a 70% must be allowed to retest. You take the retest score, average it with the original, and cap it at 70%.
Catch is that I teach all AP / Honors classes. Typically these aren't students that score a 60% and want to bring their grade up to passing. They're the kind of student that gets and 88% and is unhappy they didn't score an A.
I go beyond that and let anyone who wants to do test corrections instead of a retest and they'll get half their points back. We have another AP teacher that does a square root curve if they turn in corrections.
To get credit they turn in a document with a screenshot of the question (tests are all in Canvas), explain why they picked the answer they did (sometimes "I guessed" is okay), what they right answer is, and most importantly why it's the right answer.
3 reasons why I do corrections.
1 - It lets me throw a few harder questions into a test. I start putting in AP style questions early in the year, which students may not be used to. As the year progresses more and more AP style questions get put in. If the longer questions go in, especially early in the year, the tests might be a little too difficult.
2 - I don't really care what they know Tuesday at 10:30. I care what they know when they leave my class at the end of the year. If they can come back after a test and prove they know the material, that's much better than just leaving it unknown.
3 - Everybody has a bad day. Maybe their dog died last night and they're not in a good mindset to take a test.
With all that though, I'd rather do retests. Still for half credit. The problem I'm facing with that is I'd essentially need at least one more full test for every unit. Otherwise they're retaking the same test. What I'd really like is to have enough questions banked that students could take a retest 2 or 3 times and I'd average everything together. But that would take hundreds of questions for each unit.