How can I work out why a transaction isn't being included in any blocks? I've crafted a testnet p2sh address using python-bitcoinlib.

The script contents is 2-of-2 multisig: 2, key1, key2, 2, OP_CHECKMULTISIG

Redeem script:

522102e637c8658a9647e67b3d9961f0e0a6d1af9427396db430bfef9e2e01bb5618d12103e645fe283cc6759cb0b5aae4a767f74195fa3deeee69749345b5e4b5f3aae7d852ae


Address:
2N1TtyXGR2kDpnaGkJNx17fPyURqgLDdEgd

I then generated and signed a transaction spending some funds. I used python-bitcoinlib's VerifyScript to check the transaction and no exceptions were raised.

Transaction:

0100000001604b635009e1c6ba2db554607b08af3a6ea54f852900e9bc3729589f9b8bdee901000000db0048304502210081e35badb1795ce3c5f22430ac01e51eed2d364dc55292bdc9783e64f5cf5e2f02205cf02ec0bad7c9efd1af57c3cd825b2eda819de0aa64639dc3f2cc274ca0fffa01483045022100b360d75cd92fd5482345a9aebfe44714fe85edab75d1d1bd8d0ba169d13b4b50022031175c5c39145acc3c6635d6c9a9bb1b55c31a5b54140899a4f0b6104d68390e0147522102e637c8658a9647e67b3d9961f0e0a6d1af9427396db430bfef9e2e01bb5618d12103e645fe283cc6759cb0b5aae4a767f74195fa3deeee69749345b5e4b5f3aae7d852aeffffffff01a0860100000000001976a91418c72ac74d84b2bc8a5e4db72a518a4a39025b3888ac00000000


It's been over 10 hours and the transaction hasn't been included in any blocks.

Is there some way to work out why that might be, or if there is something wrong with the transaction?
The transaction needs a fee.

I mistakenly thought that testnet transactions didn't require fees, but the requirements are just lower. Given that this is spending a recent output and the amount is very small, it is being ignored.
Do testnet networks require the same main network fee?

A transaction including a fee went through successfully: https://live.blockcypher.com/btc-testnet/tx/0119445bfc577bcd032a079b03d1534be91b01e789874a02f88b9234ab72429d/