in reply to Further adventures with testing
I recently had a similar revelation with new development of a module. It was my first venture into XS and I was a little at sea. It wasn't a complicated thing, but I got lost.
To start fresh, I began by writing the pod. That cleared up what I wanted to do, and gave me the API to work for. Then I wrote tests for that API, and for all the loading, constructor and destructor bits. Thirty tests covered it all.
With that new focus, it was nearly trivial to finish. I'd picked up enough XS in floundering around to fix up the typemaps so they only covered things I needed. With the API clear in my head, I was able to write XS to do those things.
perl Makefile.PL... make... make test... make clean... repair... perl Makefile.PL... make... make test... Done.