The main differences are:
a) An ODI match, being a One Day International, begins and ends on the same day; a Test match takes a maximum of 5 days.
b) An ODI match has one innings per team, usually of 50 overs; a Test match has two innings per team with no fixed number of overs.
c) In an ODI match there are fielding restrictions in force at certain periods of each innings ("Power Play"); there are no fielding restrictions in a Test match.
d) For an ODI match the teams dress in coloured strip; in a Test match both teams dress in whites.
e) In an ODI match the ball is white and the wicket coloured; in a Test match the ball is red and the wicket white.