I.e. instead of requiring the user to start them manually, we should start them in tst/testall.g. Also, I'd suggest to use InstallAtExit to install a handle which stops them when GAP exits.
If we had this, then we can also set tst/testall.g as TestFile in PackageInfo.g.
To implement this, the easiest would be to use Process to launch gapd.sh with suitable arguments. For the shutdown, see the shutdown code I add in PR #41