What is the correct way to choose the start parameters for NIST tests?
Yes, the NIST tests are a little opaque.  You'll find that the input file size should be (no. bitstreams) * (no. bits for testing).   That means the input file will be automatically partitioned into (no. bitstreams) fragments, and the test suite run that times.  Yo don't have to do anything.  That creates the output histogram and the final P value assessments. It's typical to pick 10 streams.

So an input file should be at least 1MB in size.  A good rule of thumb is 1 Byte * (no of bits for testing).  But you won't get any meaningful P values for RandomExcursions and RandomExcursionsVariant until you go to a 10MB input as in ./assess 1000000.  However, these two excursion tests don't generate P values until the input is >100MB.



Note1.  The above input sizes are for binary files as I find them easier to manipulate.  You can modify accordingly for ASCII representations. The tests work the same way. 

Note2.  Given that you're being Pythonic, the generator is the Mersenne Twister.  It will pass with flying colours, even though academically it has some weaknesses in the very higher dimensions. If it doesn't, it's a code problem.