You can do everything you mention using captivate.
How about doing a web conference as you will be able to share images on your desktop, record session for playback, offer chat, polling, and possibly testing.
Good luck.
There’s course development software available, but it’s highly specialized. There are also “Learning Management Systems” that standardize the testing and evaluation in conjunction with the training software You need an instructional designer to really make it work.
Check out Camtasia. It can do all that stuff and is pretty easy to learn/use.
I’m in the software business. We use Wink which is open source and does the job for us.
The link to it: http://www.debugmode.com/wink/
“I want to test the knowledge of the people viewing the training materials”
You can create hands-on software simulations using Adobe Captivate.
Sample:
http://www.adobe.com/products/captivate/productinfo/product-demos/simulation-software/