As I looked at the deficits that my current calculus students have, I worked with a colleague to compile a list of skills that our pre-calc students must master by the end of the year. These skills form the "Brainventory" which is evaluated weekly, with each skill tested with 2 to 8 questions. If a student scores poorly, he or she simply retakes that portion on subsequent Brainventories, and I overwrite lower grades with higher grades as students strive toward mastery.
For example, here is a student who has mastered factoring and logarithm (as far as I am concerned, anyway), but needs to improve his understanding of exponents.
This process has several benefits:
Students are highly aware of their own progress, and which skills need improvement
Assessment is both formative and summative - students use the Brainventories to improve and gauge their current understanding, and grades reflect that current level of understanding at all times.
There isn't so much "brain dumping" after a topic is assessed.
Assessment is differentiated, meeting each student's current needs.
It can be adapted to reflect concept mastery