Testing physical token implementations will be difficult because from the "host" side, we have incomplete access to the token's state.
Token implementation test cases
- Invalid hexreps
- E.g. "gg"
- Incorrect TSKs
- Should decrypt to garbage
- Invalid TSKs
- E.g. too long/short
- Non-existent credentials
- Should fail gracefully
- RAM exhaustion?
'The ATmega chip in Arduino only has 1kB of RAM. If your code is getting complex, and you’re using big strings, and lots of libraries, you may start having mysterious problems. Arduino can’t warn you if your sketch starts using too much RAM.' - How To Do Big Strings in Arduino « todbot blog
Host admin tool test cases
- Invalid token IDs
Token implementation test tools
Test automation
GUI testing
Requirements
For each committed changeset, test and publish HTML report containing test results.
Nose alone
'Yes, there is something like that written, it's at http://tungwaiyip.info/software/HTMLTestRunner.html. Here is the sample output: http://tungwaiyip.info/software/sample%5Ftest%5Freport.html' - How to produce html unit test output in Python? - Stack Overflow
buildbot
See VPS Software Configuration/Upgrading to Jaunty
Hudson
"Pretty" Continuous Integration for Python - Stack Overflow
- ties in nicely with nose
Installing Hudson on Ubuntu - hudson - Hudson Wiki
- looks really slick but wanted to bring in 200MB of pkg dependencies. probably wants lots of memory too
Building Better Worlds: Setting up Hudson on port 80 on a Debian or Ubuntu machine
'For python folks, remember that we’re shimming Python unit tests into a JUnit conceptual framework, so there are going to be some “leaky abstractions here”. In particular, test names, classes, and such may not alway match up with expectations. I have more details on how to enable XML output for a Django based test runner that I’ll post in another write up… uh, later.' - Rhonabwy » Setting up a python CI server with Hudson great walkthru
