I have never used that script for testing, so I don’t have any advice to give you. You may have to read its code to figure out how it works.
Regarding how to set up for CLI and Book; I think it is mostly setting the report_modes value in the gpr.py file. I usually end up doing things by example; I read the code on a report with similar features, and see how it was set up. For instance, the “Individual Complete” report supports CLI and Book as well as GUI modes. See "…/gramps/plugins/textreport/textplugins.gpr.py and its associated indivcomplete.py.
BTW, don’t use the “plg=newplugin()” that is used in the gramps/plugins files gpr.py for addons, use the “register()” form instead.
When it comes to testing, I usually just laboriously try it out, trying every parameter at least once in the GUI, and combinations where it makes sense that they might interact.
If you have used the standard report options classes, then they should also work under CLI and Book modes. But you should test the CLI with your own options manually just to make sure that they are properly recognized.
In CLI using the CLI help feature to list parameters and their values will also tell you if they are properly recognized. For example:
gramps -O “Family Tree 1” -a report -p “name=family_group,show=all”