Consider who uses the sofa and what it is exposed to. Do you have children that will be rough on the fabric, or pets that may claw or shed on the sofa? Make a list of traits your sofa fabric must have -- is it durable? Is it easy to clean?
Decide on a price range. This allows you to stay inside your budget, and shows how much more you'll need to save in the future if you find a fabric that is out of your price range.
Make a list of possible color choices for your sofa. The color you want may not be available in the fabric you need, but with two or three choices you can find a fabric you need in a color you like. Pick colors that match the interior of the room.
Use a darker color if you have children and suspect your sofa will collect a number of spills and mud over the years. Stains are harder to see on dark-colored fabrics.
Choose a fabric that is easy to clean if you have pets or children. Microfiber, for example, is easy to clean and has a nice feel to it. A sofa that is used for decoration and isn't used much can use fabrics such as velvet that are made to be attractive but are harder to clean.
Avoid texture if your sofa is used frequently. Textures, such as raised patterns, wear down quickly and will make your sofa appear much older than it actually is.
Check the thread count of different fabrics. The higher the thread count, the more durable the fabric. A thread count of 150 is a good average for fabric. A thread count of 400 is the highest thread count you should consider. A 400 thread count is extremely durable, and the difference in higher thread counts is not great enough to make a difference.
Consider the amount of sunlight your sofa receives. Check the fade resistance of your selected fabrics. If the fabric you love fades easily, rearrange your furniture so the sofa can avoid direct sunlight.