Alastair Cook, who was appointed as England’s one-day captain last year, will take over the test captaincy.
The 35-year-old Strauss told a news conference at Lord’s, the home of English cricket, that his decision had been motivated by a drop in his batting form.
His move follows England’s loss of its status as the world’s No. 1 test team after a home series loss to South Africa.
The opening batsman was appointed as fulltime captain in January 2009, and led England to the top of the test rankings for the first time last year. He captained England for 50 tests — winning 24 of them, making him the national team’s third most experienced leader and the second most successful behind Michael Vaughan.
Strauss guided England to home-and-away wins in Ashes series against fierce rival Australia during his time as captain. He played in a total of 100 tests.
Fellow test opener Cook will be in charge for the upcoming series in India.
The 27-year-old Cook, who was Strauss’ opening partner, has played 83 tests for England.