I suspect that while you can do tons with BASH programming, given some of the things you've mentioned, I'd lean towards C programming first. I think you need to write a test harness which may pass information from one process to another in a comprehensive manner and to me that's more easily done within a programming language. And you can also run scripts from within an application if there are parts of it which you find which are more easily scripted.
As a QA tester, I think you need to be familiar with programming as well as scripting. Plus if you need to talk to certain instruments, then you'll need to be adaptable to deal with syntax for their commands, be they serial commands or bus instructions (thinking former HPIB - HP Interface Bus language; but there's probably way newer stuff)
To get more focused assistance, make some efforts. Start small, like automate one or two easy things, attack the low hanging fruits; by which I mean attack the easiest to do items first. When you have some content and happen to be stuck, or wish to ask questions about how to do things better/differently, then post your questions, showing what you've done and where you're stuck. Unfortunately unless something you ask is moderately simple, I think you'll find if anyone merely asks something attune to: "Can someone give me a script which automates network testing?" the result is that many will ask for more details, and also want to see your efforts up to that point. There are the possible situations where someone happened to have a script or program that is ideally suited to what someone asks for, and they may post it, they may not.
Some suggestions how to get started with BASH programming:
- blog entry on bash programming
- Bash Scripting Guide for Beginners
- Advanced Bash Scripting Guide