You do not have to have a tenancy agreement unless the tenancy period is for a minimum of three years, but it is highly advisable that you have a contract for renting a room in your home as it will make it easier to sort out any disagreements which may arise later.
A tenancy agreement should cover:
The period of the letting
How much rent the occupier has to pay, and any arrangements for review if necessary
How much notice each party will give the other to end the letting
What meals or services will be provided, if any