Yeah, it's not quite as simple as people who know say, but once you get your head wrapped around it, it's not too bad.
Your redirect looks good! Glad you got the status code R=301, because the "default" is a 302 and there aren't too many any more, but in the past Search Engines had issues with them, so telling them "what the redirect means" is a better way to go.
The only "adjustment" I made is to add the L flag so the file stops processing once the rule matches... You should always use the L flag unless you know why you don't need/want to.
RewriteRule ^test\.html$ http://google.com/ [R=301,L]
I'm about to take off, but I'll see if I can get back to you later on your example, but in case I forget or something, here's a couple of threads that cover quite a bit: