It sounds like you need the Customizable Products module.
Once you have that module installed, you can go to Administration > Store > Configuration > Line item types. Add a custom line type and add as many custom fields there as you'd like. You'll see - the interface for adding fields to the custom line type is the same as when you create a content type, so it's easy to use.
Then, when you've added all the customer info you need in your new line item, go ahead and modify your 'Exam' product to include those fields in the product display. Hit the 'Display' settings for the content type, and configure the settings for the 'Add to cart' field. Make sure you choose the correct line item for it to use and Save!
Does that work for you?