Actually, using the "write 0s" option will essentially do the same thing that a surface scan will do -- since the formatter will try and write 0s to all the blocks on the disk, if it encounters any blocks that cannot be written with a 0 (bad blocks) it will make a note of that in the partition table and mark that block as unusable.
The only catch is that this is a "destructive" bad block test, since you must format the drive to use it. It is true that if you want to simply test for bad blocks without wiping the drive clean, you must purchase 3rd party surface scan software.