Currently the NetarchiveSuite project uses an older Junit 3 for automatic testing. We should consider introducing more powerful testing frameworks to improve the value of the automatic tests. We should have a look at the following frameworks:
- TestNG: Created to fix the deficiencies found in JUnit3 (see details here and here). testNG is supported by all major tools, can coexist with JUnit test and has tools for automatic JUnit -> TestNG migration. The major advantage of switching to TestNG is the flexibility it introduce compared to Junit3 (and somewhat JUnit4). See NARC-31 for proof-of-concept task.
- Selenium: We should start automating our system tests (see NARC-23), and here we will need to find some kind of web GUI testing framework to help us access the Netarchive GUI. Selenium is a very popular chose for doing this. See NARC-32 for proof-of-concept task.
- JAccept: See NARC-33 for proof-of-concept task.
- GreenPepper: We might also consider using for automatic system testing and integrated test specification and issue tracking. This depends on whether SBForge will provide this functionality.