system and integration testing
Opened this issue · 8 comments
While unit tests can detect breakage in individual units, it would be nice to know whether the whole system works together.
I think we can set up some virtual machines and do automated tests on testnet or testnet-in-a-box.
I'm not familiar with best practices in this area, so I'd like to know which options are available. (Just some bash/python scripts?)
Squish seems like a decent possibility: http://stackoverflow.com/questions/4129430/qt-automated-testing
http://www.froglogic.com/squish/gui-testing/index.php
I can start on this after I finish up some more unit tests.
Hm, it looks like we can get pretty far with just python unit tests: http://www.voom.net/pyqt-qtest-example
Actually I'd rather test command-line (or RPC) versions first. GUI testing can be cumbersome,
Can we close this?
If I understand correctly, we have unit tests now, but they are no substitute for system tests (i.e. checking it live incl. interactions with bitcoind and so on).
color-explorer-vagrant sets up a VM, downloads the blockchain, and I can have it do some simple color transactions. The problem is, to do some actual live color transactions, you'd have to feed it some test-coins every time you want to do a test. Wouldn't that be hard to automate?
I guess it could feed the test coin back when it's done testing.
test_wallet_model.py does actual integration testing using testnet and bitcoind.
p2p has mostly integrated tests in test_ewctrl and test_agent. let me know if you feel like that's not enough and I can make more stuff.