Though best practices emphasize using alternatives to exams, especially in online classes, sometimes your content requires it.
Canvas allows you to add questions, shuffle the answers for each test-taker, and set a time frame for each exam, but a more powerful feature is the use of a Question Bank in Canvas. The Question Bank allows you to create a large pool of questions, from which the quiz tool randomly draws. The end result is that each learner takes a different exam, with different questions, in a different order, and with answers in a different sequence.
How do I create a quiz with a question group to randomize quiz questions?
Once you publish a quiz or exam, you can use Moderate this Quiz to set times for learners with accommodations, unlock a quiz, and allow extra quiz attempts. You can also see the time spent by learners on a test, who has completed a quiz and who has not, as well as how many attempts a learner took on a quiz that allowed extra attempts.