Quinton de Kock, South Africa’s limited-overs captain, has been named temporary skipper of the Test side.
The 27-year-old wicketkeeper will fill the role for the rest of the season, following Faf du Plessis’ decision to step down in February.
South Africa host two Tests against Sri Lanka starting on 26 December.
The uncapped Sarel Erwee, Keegan Petersen, Kyle Verreynne and Glenton Stuurman have been called up for that series.
South Africa are also set to play two Tests in Pakistan – their first tour of the country since 2007 – and three at home to Australia this season.
Opening batsman De Kock took over from Du Plessis as one-day captain in January, but South Africa director of cricket Graeme Smith said in April that he would not take charge of the Test team because they wanted to keep him “fresh”.
South Africa are expected to name a permanent captain at the end of the summer.
Left-hander opener Erwee, 31, averages 37.94 in first-class cricket and 27-year-old batsman Petersen 41.41.
Verreynne, a 23-year-old wicketkeeper who has played three ODIs, boasts a first-class average of 51.52, while seamer Stuurman, 28, has taken 181 first-class wickets at 21.28 apiece.
Pace bowler Kagiso Rabada has been left out of the squad because of a groin injury, while all-rounder Dwaine Pretorius is recovering from a hamstring problem.
South Africa squad for Sri Lanka series: Quinton de Kock (capt, wk), Temba Bavuma, Aiden Markram, Faf du Plessis, Beuran Hendricks, Dean Elgar, Keshav Maharaj, Lungi Ngidi, Rassie van der Dussen, Sarel Erwee, Anrich Nortje, Glenton Stuurman, Wiaan Mulder, Keegan Petersen, Kyle Verreynne.