After seeing this video I wondered: how many times has a bowler scored fifty runs and also had a ten-wicket haul in the same test match?
As of 19 October 2016, there have been 25 instances of a player taking 10 wickets in a match and scoring fifty or more runs in an innings. Sir Richard Hadlee is currently the only player to have done so more than once: he achieved the feat in three Tests.
At least four other players have achieved and surpassed this, by scoring 100 runs and taking 10 wickets in a match. Of course to score 100 runs in a match, you need to score at least one half-century.
- Alan Davidson for Australia (scores 44 and 80)
- Ian Botham for England (score 114, batted once)
- Imran Khan for Pakistan (score 117, batted once)
- Shakib al Hasan for Bangladesh (scores 137 and 6)
So the number of players achieving the feat of scoring a half-century in one innings and taking 10 wickets in a match will probably be considerably larger than these four and Steyn (mentioned in question).