The co-pilot of the Germanwings plane that crashed in the French Alps in March appears to have practised a rapid descent on a previous flight, a report by French investigators says.
The report said Andreas Lubitz repeatedly set the same plane for an unauthorised descent earlier that day.
Lubitz is suspected of deliberately crashing the Airbus 320, killing all 150 people on board.
He had locked the flight captain out of the cockpit.
Lubitz appears to have practised programming a rapid descent on the outbound leg of the flight - from Duesseldorf to Barcelona on 24 March - the preliminary report by accident investigation agency BEA said.
It added that on several occasions - again with the captain out of the cockpit - the altitude dial was set to 100ft (30m), the lowest possible reading, despite instructions by air traffic control in Bordeaux to set it to 35,000ft and then 21,000ft.
It was also reset on one occasion to 49,000ft, the maximum altitude.
The changes apparently happened over a five-minute period at about 07:30 starting 30 seconds after the captain left the cockpit.
Analysis: Richard Westcott, BBC Transport correspondent
When you hear that Lubitz was feeding in extreme altitude settings of 100ft to 49,000ft, you may have an image of the aircraft zig-zagging up and down while he pushes and pulls on the joystick.
How then, could the captain and passengers in the back not notice something was wrong?
Well it doesn't work like that. All Lubitz would have been doing was twisting a dial on a computer in front of him.
Pilots say that just quickly turning that dial wouldn't have led to dramatic changes on board. In fact, the aircraft would have just kept descending as per instructions from air traffic control.
That's why the other pilot didn't notice. And Lufthansa said a while ago that this was the same pilot flying with Lubitz on the aircraft he later decided to crash. Clearly, he didn't notice anything odd about his colleague's behaviour.
"I can't speculate on what was happening inside his head - all I can say is that he changed this button to the minimum setting of 100ft and he did it several times," BEA director Remi Jouty told Reuters news agency.
It was on the return leg on the same day - from Barcelona to Duesseldorf - that the fatal crash occurred.
Five minutes on the outbound Duesseldorf-Barcelona flight
07:19:59 - Noises corresponding to captain leaving cockpit
07:20:29 - Plane told by air traffic control to descend to 35,000ft
07:20:50 - Selected altitude changed to 100ft, increased to 49,000ft then returned to 35,000ft
07:21:10 - Plane told to descend to 21,000ft
07:22:27 - Selected altitude changes to 100ft several times
07:24:29 - Noises corresponding to captain returning to cockpit
The co-pilot is known to have suffered depression in the past. Last month German prosecutors revealed that Lubitz had researched suicide methods and the security of cockpit doors.
Lufthansa, Germanwings' parent company, twice refused to renew his medical certificate in 2009 due to depression, the BEA's preliminary report says.
When it was revalidated, a note was attached requiring aeromedical doctors to contact the pilot licensing authority before renewal.
The BEA report also discloses more detail of what happened on board in the minutes before the crash.
The flight data recorder appears to show Lubitz, 27, increasing the aircraft's speed from 273 knots (505km/h, 314mph) to 345 knots on its descent.
On 14 occasions, air traffic control and French air defence tried to contact the plane.
The cabin intercom, knocking on the cockpit door and then "noises similar to violent blows" are heard on the voice recorder as the captain tries to re-enter the cockpit.
BEA is expected to release its final report in a year, with the focus on "systemic failings" and cockpit security.