Batsman De Villiers has not played Test cricket since January 2016 while fast bowler Steyn suffered a fractured shoulder in a Test against Australia in November 2016 and only returned to competitive cricket last month.
New ball bowler Vernon Philander is also back after missing a recent series against Bangladesh because of a back injury.
South Africa's top four fast bowlers are reunited, with Morne Morkel having recovered from an injury he suffered during the first Test against Bangladesh.
Faf du Plessis was named as captain, although he has been out of action recently following a shoulder operation.
Also Read
Although De Villiers is set to return to Test action, he was withdrawn from the South African Invitation team which starts a three-day match against the Zimbabweans in Paarl on Wednesday because of lower back stiffness. Zondi said the withdrawal was a precaution and that De Villiers would be available for the Test.
South African Test squad:
Disclaimer: No Business Standard Journalist was involved in creation of this content