Is it better to show questions one-by-one or all at once?

I'm building a quiz system online which features simple text questions, slightly longer-form text questions, multiple choice questions, and fill in the blanks style questions. Each quiz could have up to 20 questions (but more likely 10 on average).

My question is this: is it better to present the questions one by one with a "Next" and "Back" button, or all at once with appropriate spacing between them? Is there any wisdom on the subject?

In my initial design I created a one by one style, but now I'm concerned there's too much clicking of buttons for simple questions.