As the question explain, I would like to saturate my bandwidth. For download I had an idea:

Download a random file (5MB for example) in loop for n time using wget or urllib2.
Delete the file each completed download, with the same loop.

(For wget using a Bash script / For urllib2 using a Python script)
But, I have two questions: 

How do I saturate the download bandwidth without files downloading?
How do I saturate the upload bandwidth? (I have no idea in this)

I mean a total saturation, but if I want a partial saturating?
Just running a few wget's should easily saturate your download bandwidth.
For upload, you might set up a web server on your computer (carefully poking a hole through your firewall for it), and then connect to a web proxy (there are a few of these that'll anonymise your data) and back to your web server.  Then connect to your web server through the proxy and download (or upload!) a bunch of stuff.
It may be more effective to do these things one at a time, rather than both at the same time, as they may interfere with each other a bit.
How do I saturate my upload and download available bandwidth?