"After much thought over the last few weeks, I have decided to step down as England Test captain and announce my retirement from all forms of cricket," Strauss said in an England and Wales Cricket Board (ECB) statement issued ahead of a news conference at Lord's.
"It has clearly been a tough decision to make, but I believe that it is both in the best interests of the England cricket team and myself to step down at this stage," the 35-year-old, who played exactly 100 Tests, added.
"The driver to all this is I haven't batted well enough for a long time. I wasn't going to improve batting-wise, I've run my race," Strauss later told the news conference.
"It's one of these decisions when you know when your time is up."
Alastair Cook, already England's one-day captain and Strauss's opening partner in the five-day game, was announced as the new skipper of the Test team.
Strauss insisted his retirement had nothing to do with the ongoing England exile of star batsman Kevin Pietersen.
England dropped Pietersen, who hasn't played international cricket in any format since making 149 in the drawn second Test at Headingley, after he admitted sending "provocative" texts to South African players.
Some of these were alleged to have been critical of Strauss, who succeeded South Africa-born and raised Pietersen as England captain in 2009.
Strauss said he'd spoken to England coach Andy Flower about retiring "before the Kevin Pietersen situation reared its head".
His last Test was a 51-run defeat by South Africa at Lord's, his Middlesex home ground where he made his Test debut in 2004, earlier this month that saw England surrender their number one Test ranking to the Proteas.
Strauss scored 21 hundreds -- one shy of England's all-time record.
Cook's first Test as captain will be the first of a four-match series in India in November.
He paid tribute to Strauss by saying: "Andrew's contribution to England cricket in recent years is evident to everyone who follows the sport but only those of us who have been lucky enough to share a dressing room with him are fully aware of his immense contribution to our success.
"He has been a fantastic captain, has led from the front for three-and-a-half years and is a true ambassador for the game.
"To have played 100 Tests for your country is a phenomenal achievement and I want to congratulate him on a superb career. I know this can't have been an easy decision for him and everyone in the dressing room will be sad to see him go.
"I'm very excited by this new challenge, it is a huge honour to be appointed Test captain and I am very much looking forward to captaining the side in India this winter."
Bollywood celebs show you colours for Navratri 2017
Photos: Kareena Kapoor Khan, Kangana Ranaut at the Mumbai airport
Birthday special: Chris Gayle and his multiple records in cricket
In Pictures: 17 dreaded on-screen villains of Bollywood
'Ramayan' director's great granddaughter Sakshi's hottest photos