I have no shell scripts for software testing, but I can tell you that shell scripts are nothing more than command line functions grouped into one file. This gives you the flexibility to copy the file (group of commands) to other machines or to keepit and run it over and over without rerunning the same commands at the command line over and over. It is useful for software testing because if you find an error in your software and fix it you can just rerun one command (the call to the shell script) instead of retyping everything at the command line. Even with the use of a history it would be easier to run one shell script than to hunt for each command and rerun it. Plus the shell script can set variables independent to the testing of the software you are testing that won't affect other programs running on the system. Also if you need to make a change to something in your test procedure it is easy to do in a file editor where you can edit lines and move lines around. You don't have to rely on memory in the command line procedure. Remember that shell scripting is little more than shell commands grouped together in a file. The best way to learn shell scripting is to learn the commands. I would suggest two cheap books to get you started - "Linux In A Nutshell" to learn the commands, and "Shell Programming" for shell specifics. Shell Programming includes several different shells.
Good luck.