I have an external hard drive its about 300 GB. I tried to recove my loose picture via testdisk but I couldn't because I got "Error Reading Sector"
How can I fix "Error Reading Sector"

I'll appreciate for your help

You can't "fix" bad disc sectors. Most modern drives have the ability to map bad sectors to spare sectors, but once a disc starts to go bad, those get used up quickly and when you get an error like this all you can do is to backup all the data you can, realizing some cannot be recovered.

rightly said.
though best practice is to perform sector-to-sector image of fail hard drive onto a new drive and than backup your data. OS or software are mostly meant to be working on healthy hard drive so cloning gives you maximum you can read from a bad sector or fail hard drive.